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 9995744509 for ; Tue, 13 Sep 2022 16:46:53 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1D23568BAE1; Tue, 13 Sep 2022 19:46:50 +0300 (EEST) Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1D11E68BA85 for ; Tue, 13 Sep 2022 19:46:44 +0300 (EEST) Received: by mail-ej1-f47.google.com with SMTP id l14so28928849eja.7 for ; Tue, 13 Sep 2022 09:46:44 -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=xliW9i+ed4oSce+3NfJX2va4sc4kqTdYeSf9oL8BgQo=; b=fMibB6N71EqROJMbCL8rN9QpsL57I/0YxMD9/VQ+uRA7SY2mmCXca7jm7hp6TlPXDB NkOpgxQpYHJ7YIAAjq03xtzKf5j+k5ushaAj/o1gUKM2SZ4VdSX0qDvQNfaF3ArJ8qsx Dt5/0HwYLDl6e0iYs5SzI+xvvEz/hpmEtywvg= 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=xliW9i+ed4oSce+3NfJX2va4sc4kqTdYeSf9oL8BgQo=; b=vwWoi4Kvm5RjYycEt7kAQ4CQZppqRtlFKUTtThVXQy7P5EwGnHw83SniY7VwI41zwK qfAl/IbaD5gpAcj0UO7Os2qDbAVL8NePHkMhhXxayb2OHU62o5+0Gk/L6SbzyL1r95FT AFlzeNOmpt4aTdEMIF6nuCipDgekNNtR2ipIjlOfApwfi7up0aVSrVt8VyTtYVldAIwS 7qruZ66GvmtzM7GV7sreFmtPTeOcx3HXx4C23be+jhFxr7MGw6V8t+X7s9F9L1WseJY7 ZxukPnEuKzDAzT4ScPEJVFn4GwT4k5Vn30JjWANgCo/D6rleEz+9CrgjRHig/+DARwKr LKeQ== X-Gm-Message-State: ACgBeo0jT/c37RaUme2teUIuPWGtZOUFp080s6BzeMs1UZW1c/UJBUHx CG9NrXe5OidLRvFTX+gbM8qN5kIfCoVi549njn2oIrif4hc= X-Google-Smtp-Source: AA6agR58d7bxFTWXUtfb5UEosEfHn6ZdQx2Z7beuQQbzOOnuy/EOMIyr3Ao1/5ifzEBMXjCUsQa0BvV75Ivo3PEcYao= X-Received: by 2002:a17:907:2be1:b0:770:8268:ec95 with SMTP id gv33-20020a1709072be100b007708268ec95mr22364282ejc.105.1663087602906; Tue, 13 Sep 2022 09:46:42 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Li-Heng Chen Date: Tue, 13 Sep 2022 09:46:31 -0700 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="000000000000cdfa9905e891c120" Subject: Re: [FFmpeg-devel] [PATCH v2] 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: --000000000000cdfa9905e891c120 Content-Type: text/plain; charset="UTF-8" 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". --000000000000cdfa9905e891c120 Content-Type: application/x-patch; 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_l80fefph0 RnJvbSAwZWMyOWZjYzllZTJjMGUyZDNjZmM5MDg5NzQ0NzExZjE5ZTU4NWU0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaS1IZW5nIENoZW4gPGxpaGVuZ2NAbmV0ZmxpeC5jb20+CkRh dGU6IEZyaSwgOSBTZXAgMjAyMiAxMDo1MzoyMCAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGZmdG9v bHMvZmZtcGVnOiBGaXggRU9GIHB0cyBmb3IgbGliYXZmaWx0ZXIgaW4KIHNlbmRfZmlsdGVyX2Vv ZigpCgpXaGVuIGlucHV0IGlzIHZpZGVvIGJpdHN0cmVhbSAoZS5nLiAqLjI2NCkgd2l0aCBmcmFt ZXJhdGUgc2V0IGJ5IC1yLCBpc3QtPnB0cyBjb3VsZCBiZSBhIG5vbnNlbnNlIHZhbHVlLgoKSW4g bGliYXZmaWx0ZXIvdmZfZnBzLCB0aGUgcHRzIHZhbHVlIG9mIEVPRiBmcm9tIGFib3ZlIGlzIGNv bXBhcmVkIHRvIHB0cyBkZXJpdmVkIGZyb20gaW5saW5rLiBUaGUgd3JvbmcgRU9GIHB0cyBtYXkg dHJpZ2dlciBhIGJ1Zywgd2hlcmUgZmZtcGVnIGtlZXBzIHdyaXR0aW5nIHRoZSBsYXN0IHZpZGVv IGZyYW1lIHRvIHRoZSBvdXRwdXQuIFRoaXMgYnVnIGNhbiBiZSBlYXNpbHkgcmVwcm9kdWNlZCBi eSB0aGUgZmZtcGVnIGNtZCBiZWxvdyAoaDI2NCBiaXRzdHJlYW1zIGluIGZhdGUtc3VpdGUgY2Fu IHJlcHJvZHVjZSB0aGlzIGlzc3VlKToKCmZmbXBlZyAtciBudW1faW4vZGVuX2luIC1pIGJpdHN0 cmVhbSAtdmYgZnBzPW51bV9vdXQvZGVuX291dCAtZiByYXd2aWRlbyBvdXQueXV2CgpFeGFtcGxl OiBmZm1wZWcgLXIgMjQvMSAtaSBmYXRlLXN1aXRlL2gyNjQvYmJjMi5zYW1wbGUuaDI2NCAtdmYg ZnBzPTI0LzEgLWYgcmF3dmlkZW8gb3V0Lnl1dgoKU2lnbmVkLW9mZi1ieTogTGktSGVuZyBDaGVu IDxsaWhlbmdjQG5ldGZsaXguY29tPgotLS0KIGZmdG9vbHMvZmZtcGVnLmMgfCAzICsrKwogMSBm aWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2ZmdG9vbHMvZmZtcGVn LmMgYi9mZnRvb2xzL2ZmbXBlZy5jCmluZGV4IDBlMTQ3NzI5OWQuLmVhNjZjOWM3MDYgMTAwNjQ0 Ci0tLSBhL2ZmdG9vbHMvZmZtcGVnLmMKKysrIGIvZmZ0b29scy9mZm1wZWcuYwpAQCAtMjM4Myw2 ICsyMzgzLDkgQEAgc3RhdGljIGludCBzZW5kX2ZpbHRlcl9lb2YoSW5wdXRTdHJlYW0gKmlzdCkK ICAgICBpbnQ2NF90IHB0cyA9IGF2X3Jlc2NhbGVfcV9ybmQoaXN0LT5wdHMsIEFWX1RJTUVfQkFT RV9RLCBpc3QtPnN0LT50aW1lX2Jhc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEFWX1JPVU5EX05FQVJfSU5GIHwgQVZfUk9VTkRfUEFTU19NSU5NQVgpOwogCisgICAgaWYg KGlzdC0+ZnJhbWVyYXRlLm51bSkKKyAgICAgICAgcHRzID0gaXN0LT5jZnJfbmV4dF9wdHM7CisK ICAgICBmb3IgKGkgPSAwOyBpIDwgaXN0LT5uYl9maWx0ZXJzOyBpKyspIHsKICAgICAgICAgcmV0 ID0gaWZpbHRlcl9zZW5kX2VvZihpc3QtPmZpbHRlcnNbaV0sIHB0cyk7CiAgICAgICAgIGlmIChy ZXQgPCAwKQotLSAKMi4zMi4xIChBcHBsZSBHaXQtMTMzKQoK --000000000000cdfa9905e891c120 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". --000000000000cdfa9905e891c120--