From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 0620C43612 for ; Sat, 17 Sep 2022 15:51:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DCCF968BB55; Sat, 17 Sep 2022 18:51:20 +0300 (EEST) Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CA1A068B8C8 for ; Sat, 17 Sep 2022 18:51:13 +0300 (EEST) Received: by mail-ed1-f50.google.com with SMTP id a41so23660048edf.4 for ; Sat, 17 Sep 2022 08:51:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netflix.com; s=google; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date; bh=vkRT/Dc1Oi+eKKtgsEFVWyVoLsZb72zObG8LrUgoUSI=; b=kYK4an7Pg+JWWc8YJCe+nOQ6jQXpkhE28Dju5Vw/tvGYGWasX7ZCO2p5c6WAbhsvfM YOdpXKoWWrlBEVF5Qlq5Prj3ZSTO6nvuyHrXbuEBn/Ok10n9Dctq/Q7INwDATJ0Cws/C GHbCUhAKIFsnqVigP1VK8CI82QLogQkWcz1f0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date; bh=vkRT/Dc1Oi+eKKtgsEFVWyVoLsZb72zObG8LrUgoUSI=; b=r8lqGOe++w8tpF8YS1NRbZqLpu4BgQ2EFRPcTqhSvLYqFbejGkVr6rK8agBaCegosT 1XgEUuXcMhcjDXPNsxGJwDct96hNr6m69RxDdGLvwRlxMAIdV9OOlHp8O7EpJFBdP6Ah sEtlXdQKzuJ+1ca+VZ6A5h0rDg/FMEi1W12NWqzFv7vZYhsCN59nLqSJQOqlggCkuQ9S 2AteArUuaRA1BDysBAylk88gR6sUHHmkU6bJFd1AVAu+LaogR3GGsnxKJC61R5G7WA5r DRlInFjN5e0iRvoq0W7smydOA/m1XN1TDZmCmEUaFqECBt8Eb29TYv5UHQgjTXZevfgP mqPg== X-Gm-Message-State: ACrzQf2xrWKt54zLaWKQHZQ4nAzyhRzsvaR9RhljMbZs8X9721qbHQKy c4vvXwLKDbr8d18afnaZmUdcjnEWFYo2IdqEIfo7Y6lNghQ= X-Google-Smtp-Source: AMsMyM60wfF3MqVpHKmrztbfUgvkm82IACUjZ1k+iXGlyxMtM9PoIffGB6JHQQNmvRlTX65y1qhB9BUo9TuLYiAC0q8= X-Received: by 2002:a05:6402:d6b:b0:44e:82bf:28e5 with SMTP id ec43-20020a0564020d6b00b0044e82bf28e5mr8108772edb.83.1663429872916; Sat, 17 Sep 2022 08:51:12 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Li-Heng Chen Date: Sat, 17 Sep 2022 08:51:01 -0700 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="000000000000af740c05e8e17256" Subject: Re: [FFmpeg-devel] [PATCH] fftools/ffmpeg: Fix EOF pts for libavfilter in send_filter_eof() 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" Archived-At: List-Archive: List-Post: --000000000000af740c05e8e17256 Content-Type: text/plain; charset="UTF-8" Ping. Any comments on the updated patch? On Tue, Sep 13, 2022 at 9:46 AM Li-Heng Chen wrote: > > On Tue, Sep 13, 2022 at 4:40 AM Paul B Mahol wrote: > > > > On 9/11/22, Li-Heng Chen wrote: > > > When input is video bitstream (e.g. *.264) with framerate set by -r, > > > ist->pts could be a nonsense value. > > > > > > In libavfilter/vf_fps, the pts value of EOF from above is compared to pts > > > derived from inlink. The wrong EOF pts may trigger a bug, where ffmpeg keeps > > > writting the last video frame to the output. This bug can be easily > > > reproduced by the ffmpeg cmd below (h264 bitstreams in fate-suite can > > > reproduce this issue): > > > > > > ffmpeg -r num_in/den_in -i bitstream -vf fps=num_out/den_out -f rawvideo > > > out.yuv > > > > > > Example: ffmpeg -r 24/1 -i fate-suite/h264/bbc2.sample.h264 -vf fps=24/1 -f > > > rawvideo out.yuv > > > Signed-off-by: Li-Heng Chen > > > --- > > > fftools/ffmpeg.c | 3 +++ > > > 1 file changed, 3 insertions(+) > > > > > > diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c > > > index 0e1477299d..e9a986c95b 100644 > > > --- a/fftools/ffmpeg.c > > > +++ b/fftools/ffmpeg.c > > > @@ -2383,6 +2383,9 @@ static int send_filter_eof(InputStream *ist) > > > int64_t pts = av_rescale_q_rnd(ist->pts, AV_TIME_BASE_Q, > > > ist->st->time_base, > > > AV_ROUND_NEAR_INF | > > > AV_ROUND_PASS_MINMAX); > > > > > > + if(ist->framerate.num) > > > + pts = ist->cfr_next_pts; > > > + > > > > Style is wrong > > Style fixed in the attached patch > > > > > > for (i = 0; i < ist->nb_filters; i++) { > > > ret = ifilter_send_eof(ist->filters[i], pts); > > > if (ret < 0) > > > -- > > > 2.32.1 (Apple Git-133) > > > > > > _______________________________________________ > > > ffmpeg-devel mailing list > > > ffmpeg-devel@ffmpeg.org > > > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > > > > > To unsubscribe, visit link above, or email > > > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > > > > > _______________________________________________ > > ffmpeg-devel mailing list > > ffmpeg-devel@ffmpeg.org > > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > > > To unsubscribe, visit link above, or email > > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". --000000000000af740c05e8e17256 Content-Type: application/octet-stream; name="0001-fftools-ffmpeg-Fix-EOF-pts-for-libavfilter-in-send_f.patch" Content-Disposition: attachment; filename="0001-fftools-ffmpeg-Fix-EOF-pts-for-libavfilter-in-send_f.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l8635xa30 RnJvbSA5YmM4MzhiNzFiODRmZWJiNWUzYThkODQ2YTIxMGM5OWZlNGMyMTI4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaS1IZW5nIENoZW4gPGxpaGVuZ2NAbmV0ZmxpeC5jb20+CkRh dGU6IEZyaSwgOSBTZXAgMjAyMiAxMDo1MzoyMCAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGZmdG9v bHMvZmZtcGVnOiBGaXggRU9GIHB0cyBmb3IgbGliYXZmaWx0ZXIgaW4KIHNlbmRfZmlsdGVyX2Vv ZigpCgpXaGVuIGlucHV0IGlzIHZpZGVvIGJpdHN0cmVhbSAoZS5nLiAqLjI2NCkgd2l0aCBmcmFt ZXJhdGUgc2V0IGJ5Ci1yLCBpc3QtPnB0cyBjb3VsZCBiZSBhIG5vbnNlbnNlIHZhbHVlLgoKSW4g bGliYXZmaWx0ZXIvdmZfZnBzLCB0aGUgcHRzIHZhbHVlIG9mIEVPRiBmcm9tIGFib3ZlIGlzIGNv bXBhcmVkCnRvIHB0cyBkZXJpdmVkIGZyb20gaW5saW5rLiBUaGUgd3JvbmcgRU9GIHB0cyBtYXkg dHJpZ2dlciBhIGJ1ZywKd2hlcmUgZmZtcGVnIGtlZXBzIHdyaXR0aW5nIHRoZSBsYXN0IHZpZGVv IGZyYW1lIHRvIHRoZSBvdXRwdXQuClRoaXMgYnVnIGNhbiBiZSBlYXNpbHkgcmVwcm9kdWNlZCBi eSB0aGUgZmZtcGVnIGNtZCBiZWxvdwooaDI2NCBiaXRzdHJlYW1zIGluIGZhdGUtc3VpdGUgY2Fu IHJlcHJvZHVjZSB0aGlzIGlzc3VlKToKCmZmbXBlZyAtciAyNC8xIC1pIGZhdGUtc3VpdGUvaDI2 NC9iYmMyLnNhbXBsZS5oMjY0IC12ZiBmcHM9MjQvMSAtZiByYXd2aWRlbyBvdXQueXV2CgpTaWdu ZWQtb2ZmLWJ5OiBMaS1IZW5nIENoZW4gPGxpaGVuZ2NAbmV0ZmxpeC5jb20+Ci0tLQogZmZ0b29s cy9mZm1wZWcuYyB8IDMgKysrCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCgpkaWZm IC0tZ2l0IGEvZmZ0b29scy9mZm1wZWcuYyBiL2ZmdG9vbHMvZmZtcGVnLmMKaW5kZXggMGUxNDc3 Mjk5ZC4uZWE2NmM5YzcwNiAxMDA2NDQKLS0tIGEvZmZ0b29scy9mZm1wZWcuYworKysgYi9mZnRv b2xzL2ZmbXBlZy5jCkBAIC0yMzgzLDYgKzIzODMsOSBAQCBzdGF0aWMgaW50IHNlbmRfZmlsdGVy X2VvZihJbnB1dFN0cmVhbSAqaXN0KQogICAgIGludDY0X3QgcHRzID0gYXZfcmVzY2FsZV9xX3Ju ZChpc3QtPnB0cywgQVZfVElNRV9CQVNFX1EsIGlzdC0+c3QtPnRpbWVfYmFzZSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZfUk9VTkRfTkVBUl9JTkYgfCBBVl9ST1VORF9Q QVNTX01JTk1BWCk7CiAKKyAgICBpZiAoaXN0LT5mcmFtZXJhdGUubnVtKQorICAgICAgICBwdHMg PSBpc3QtPmNmcl9uZXh0X3B0czsKKwogICAgIGZvciAoaSA9IDA7IGkgPCBpc3QtPm5iX2ZpbHRl cnM7IGkrKykgewogICAgICAgICByZXQgPSBpZmlsdGVyX3NlbmRfZW9mKGlzdC0+ZmlsdGVyc1tp XSwgcHRzKTsKICAgICAgICAgaWYgKHJldCA8IDApCi0tIAoyLjMyLjEgKEFwcGxlIEdpdC0xMzMp Cgo= --000000000000af740c05e8e17256 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". --000000000000af740c05e8e17256--