[FFmpeg-cvslog] fftools/ffmpeg: stop using OutputStream.frame_number in print_report()

Anton Khirnov git at videolan.org
Sat Jul 23 13:07:47 EEST 2022


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Thu Mar 31 13:58:28 2022 +0200| [4cd19eaffa1fba01a7e8622a0f47f210ca4e8bcf] | committer: Anton Khirnov

fftools/ffmpeg: stop using OutputStream.frame_number in print_report()

This field means different things when the video is encoded (number of
frames emitted to the encoding sync queue/encoder by the video sync
code) or copied (number of packets sent to the muxer sync queue).

Print the value of packets_written instead, which means the same thing
in both cases. It is also more accurate, since packets may be dropped by
the sync queue or bitstream filters.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4cd19eaffa1fba01a7e8622a0f47f210ca4e8bcf
---

 fftools/ffmpeg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index 8ab8aee711..b512eb5a19 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -1595,7 +1595,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
         }
         if (!vid && enc->codec_type == AVMEDIA_TYPE_VIDEO) {
             float fps;
-            int64_t frame_number = ost->frame_number;
+            uint64_t frame_number = ost->packets_written;
 
             fps = t > 1 ? frame_number / t : 0;
             av_bprintf(&buf, "frame=%5"PRId64" fps=%3.*f q=%3.1f ",



More information about the ffmpeg-cvslog mailing list