From patchwork Sun Jul 4 04:26:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linjie Fu X-Patchwork-Id: 28754 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a5d:965a:0:0:0:0:0 with SMTP id d26csp3009807ios; Sat, 3 Jul 2021 21:26:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwrtgC62aO9A4lOcQfrRgjZCmrF9bZIlvoi0RqyiK5vmIKiC59d1rCNOHnCjwo3+ulhk6qL X-Received: by 2002:a17:906:4d41:: with SMTP id b1mr6621464ejv.239.1625372795162; Sat, 03 Jul 2021 21:26:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625372795; cv=none; d=google.com; s=arc-20160816; b=iX+rcOH4tHYrbT/uICX689dek4HyOu8Ge+9Pkw7eqPFYKg2vMvUlVjGKJJnuvsick+ iK153MlHYWdxOmBkBIQECvdyEO8IP/IkhNF/sp6ZQ8y0Lti/DCa8gx1CWmfz7VspHugD ZDWxoowx/2pTfxIcYDYDPlZSrKShz2jtasLR0vGkuqYVh6m7mgzBIDLUb/YMtLkqCnuI ohTFdBPE9SzVUs6Z1OsmaAL+4HbfdHoh3jUyos9WyE2e+t/oFKFmvnwxBjkIDuttOn1E fRRbJw+WxOqYN+gAD2HQnFOXvGFWN3rV9nNzYPnwikbIkBKxy9sqo1TzYGSNM99jeWEl /YWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :delivered-to; bh=2IRhjkKQQyxX53rV/GiDEy/WaFsv+YSCXEJShyfPqWs=; b=QAK4OioNTdo7wIPZdmZt7OvsoINKXanRJsYu1P3PlT/n4opaaehs+Ru9c3v4k0qs3d rGRjREFFW0YmsT7g43GJmwOu8VIBgXTQ7GenSXQ8/sldwW1DFIEQpae/Kq1+aQJ9m3Gt Aa1tRYbfTnXITvOIH1HvxiQNknzqCgzzdaKb2aunXM1dUgiva1va4znEZ8n1dS3++vQJ SQLbmdZmSZjVw3XYx4fJK60+Giem64xCn+mLiqzloQAofNUIOt/bn1idmIPn4VCEichT DIjearxVnLX1RcUCUDDsOCMv/ZSk/pAqaEeRQDDoOggBV+wmO7MXcJeLJWLPQwrhZ/Wj nRlA== 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 eb21si8100093ejc.42.2021.07.03.21.26.34; Sat, 03 Jul 2021 21:26:35 -0700 (PDT) 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 707E8687F3D; Sun, 4 Jul 2021 07:26:30 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from zg8tmty1ljiyny4xntqumjca.icoremail.net (zg8tmty1ljiyny4xntqumjca.icoremail.net [165.227.154.27]) by ffbox0-bg.mplayerhq.hu (Postfix) with SMTP id 487EC687F3D for ; Sun, 4 Jul 2021 07:26:22 +0300 (EEST) Received: from localhost.localdomain (unknown [58.247.210.251]) by mail-app2 (Coremail) with SMTP id by_KCgB3KRZnOOFg_mMKAQ--.50162S2; Sun, 04 Jul 2021 12:26:16 +0800 (CST) From: Linjie Fu To: ffmpeg-devel@ffmpeg.org Date: Sun, 4 Jul 2021 12:26:15 +0800 Message-Id: <20210704042615.92333-1-fulinjie@zju.edu.cn> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-CM-TRANSID: by_KCgB3KRZnOOFg_mMKAQ--.50162S2 X-Coremail-Antispam: 1UD129KBjvdXoW7JFyrXF13ArW5Kw4xWr1fCrg_yoWftFX_W3 y8Xa4kAw45XFy7Ars8K3s5WrykC3yj9r93uws8tasIyF4UGFsY93WkCr93XrZ8JF42kr9r Krn5Jw10vF1agjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUb7kYjsxI4VWDJwAYFVCjjxCrM7AC8VAFwI0_Jr0_Gr1l1xkIjI8I 6I8E6xAIw20EY4v20xvaj40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l8cAvFVAK0II2c7xJM2 8CjxkF64kEwVA0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVWDJVCq3wA2z4x0Y4vE2Ix0 cI8IcVCY1x0267AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I 8E87Iv6xkF7I0E14v26rxl6s0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI 64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r106r15McIj6I8E87Iv67AKxVW8JVWxJw Am72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41lc2xSY4AK67AK6r45MxAIw28I cxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2 IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUXVWUAwCIc40Y0x0EwIxGrwCI 42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42 IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280 aVCY1x0267AKxVWUJVW8JbIYCTnIWIevJa73UjIFyTuYvjxUxBTYUUUUU X-CM-SenderInfo: ysrvjiarsuq6lmxovvfxof0/ Subject: [FFmpeg-devel] [PATCH] fftools/ffmpeg: accelerate seeking while reading input at native frame rate 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 Cc: Linjie Fu Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: e8TMz0Bco+40 From: Linjie Fu Skip the logic of frame rate emulation until the input reaches the specified start time. Test CMD: $ffmpeg -re -ss 30 -i input.mp4 -pix_fmt yuv420p -f sdl2 - Before the patch: first time to got frame, it takes 257305 us After this patch: first time to got frame, it takes 48879 us Signed-off-by: Linjie Fu --- fftools/ffmpeg.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index e97d879cb3..851f23ffdb 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -4223,6 +4223,8 @@ static int get_input_packet(InputFile *f, AVPacket **pkt) int i; for (i = 0; i < f->nb_streams; i++) { InputStream *ist = input_streams[f->ist_index + i]; + if (!ist->got_output) + continue; int64_t pts = av_rescale(ist->dts, 1000000, AV_TIME_BASE); int64_t now = av_gettime_relative() - ist->start; if (pts > now)