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.
This commit is contained in:
Anton Khirnov 2022-03-31 13:58:28 +02:00
parent 587081a179
commit 4cd19eaffa
1 changed files with 1 additions and 1 deletions

View File

@ -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 ",