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.
pull/388/head
Anton Khirnov 3 years ago
parent 587081a179
commit 4cd19eaffa
  1. 2
      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 ",

Loading…
Cancel
Save