From patchwork Wed Dec 13 19:30:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 45122 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1225:b0:181:818d:5e7f with SMTP id v37csp4501680pzf; Wed, 13 Dec 2023 11:31:39 -0800 (PST) X-Google-Smtp-Source: AGHT+IGx4OSKv4+swNBdPE5KBaG8BP2+i30mx436LvYqAsHJpCDtMUrVdYU9ZUXuiZ9nZ9C1IQXR X-Received: by 2002:a17:907:7652:b0:a18:b79f:8e26 with SMTP id kj18-20020a170907765200b00a18b79f8e26mr4520150ejc.66.1702495899474; Wed, 13 Dec 2023 11:31:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702495899; cv=none; d=google.com; s=arc-20160816; b=FljnpN9DRQjoTxAD0wO7qFOEHzClfYPpcmGzSBRDDGMsiCDQv4N8LK6GhE+lNje2p/ aMZ1X7oxkGZ66s/D7A55RsH7kWpqdITCQMyyIJ1gKnhiQNf0U1KDPVr6RYhLEytCXyOU bVC+eFL97wvFINNz9wXIqH8E3l1XpTrsiMoJdfr1md2/Zjz3qX+GTZEZyYj7IbjNyFHr zQpc9wbJbMsfzfHHCBZFDSPlOVegsn/C6oRK6YkGqlnapvbE4IDnFYoU8DO613Hcnt9D lGH2BzzL3//hoJA9vMcPSON7aXg2wPZVNTEkgosPLGc9fuk5o4tyeRQGtEea9duVQEbf 1WmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:delivered-to; bh=s+vbTypnaNDonSICQJtexSDyYu4nGexLaqZqsahVyDg=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=ZeD24pa9ubZxjAMccOIRdgjdZXEeUcDd5/yO3HdJo+k6xo4RcQof7JP1LPgzryrc8w 4PW3eOMdwlh3EE8yR3PlzgUReRKfuuGRPAoxPtsVBn1bSqp2LFyQRN9JvQUVrAfePG2+ rbbR+faVzIdcY0uAmOpJTJTenDyHOZxAPUF2rNSimphJavGjwZCY08XsQ8gccmfqrL7o bzX8bhiLOnmu2NAYogNQY3RcHrM8UNt4TWZZLYNLvO9IB/XxeUfuM0rxluMfspNfs1L4 0J1kF1ZsyouYlXsKNTuCSy4fbjAHs1Y3OdEDbcQz7jzOASEHX7Ss6/pW4NoBWK7NY8CW ReYQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id y7-20020a170906470700b00a22f5db123bsi998004ejq.537.2023.12.13.11.31.38; Wed, 13 Dec 2023 11:31:39 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7FC9768D0D2; Wed, 13 Dec 2023 21:30:37 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail1.khirnov.net (quelana.khirnov.net [94.230.150.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3AAE768D093 for ; Wed, 13 Dec 2023 21:30:29 +0200 (EET) Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id 07B98162E for ; Wed, 13 Dec 2023 20:30:29 +0100 (CET) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id XPRkvkLx3Zvd for ; Wed, 13 Dec 2023 20:30:23 +0100 (CET) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail1.khirnov.net (Postfix) with ESMTPS id 70CF31C9B for ; Wed, 13 Dec 2023 20:30:21 +0100 (CET) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id 7A9C83A07C3 for ; Wed, 13 Dec 2023 20:30:14 +0100 (CET) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Wed, 13 Dec 2023 20:30:05 +0100 Message-ID: <20231213193007.17471-10-anton@khirnov.net> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231213193007.17471-1-anton@khirnov.net> References: <20231213193007.17471-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 10/12] fftools/ffmpeg_sched: move trailing_dts() higher up X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 8p9B12oDNBWi Will be useful in following commit. --- fftools/ffmpeg_sched.c | 44 +++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/fftools/ffmpeg_sched.c b/fftools/ffmpeg_sched.c index 69f8c0c3c0..ab14d6233e 100644 --- a/fftools/ffmpeg_sched.c +++ b/fftools/ffmpeg_sched.c @@ -423,6 +423,28 @@ static void task_init(Scheduler *sch, SchTask *task, enum SchedulerNodeType type task->func_arg = func_arg; } +static int64_t trailing_dts(const Scheduler *sch) +{ + int64_t min_dts = INT64_MAX; + + for (unsigned i = 0; i < sch->nb_mux; i++) { + const SchMux *mux = &sch->mux[i]; + + for (unsigned j = 0; j < mux->nb_streams; j++) { + const SchMuxStream *ms = &mux->streams[j]; + + if (ms->source_finished) + continue; + if (ms->last_dts == AV_NOPTS_VALUE) + return AV_NOPTS_VALUE; + + min_dts = FFMIN(min_dts, ms->last_dts); + } + } + + return min_dts == INT64_MAX ? AV_NOPTS_VALUE : min_dts; +} + int sch_stop(Scheduler *sch) { int ret = 0, err; @@ -1162,28 +1184,6 @@ int sch_mux_sub_heartbeat_add(Scheduler *sch, unsigned mux_idx, unsigned stream_ return 0; } -static int64_t trailing_dts(const Scheduler *sch) -{ - int64_t min_dts = INT64_MAX; - - for (unsigned i = 0; i < sch->nb_mux; i++) { - const SchMux *mux = &sch->mux[i]; - - for (unsigned j = 0; j < mux->nb_streams; j++) { - const SchMuxStream *ms = &mux->streams[j]; - - if (ms->source_finished) - continue; - if (ms->last_dts == AV_NOPTS_VALUE) - return AV_NOPTS_VALUE; - - min_dts = FFMIN(min_dts, ms->last_dts); - } - } - - return min_dts == INT64_MAX ? AV_NOPTS_VALUE : min_dts; -} - static void schedule_update_locked(Scheduler *sch) { int64_t dts;