diff --git a/ffmpeg.c b/ffmpeg.c index c32321daad..d59ad650ba 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -958,14 +958,14 @@ static void do_video_stats(OutputStream *ost, int frame_size) enc = ost->st->codec; if (enc->codec_type == AVMEDIA_TYPE_VIDEO) { - frame_number = ost->frame_number; + frame_number = ost->st->nb_frames; fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number, enc->coded_frame->quality / (float)FF_QP2LAMBDA); if (enc->flags&CODEC_FLAG_PSNR) fprintf(vstats_file, "PSNR= %6.2f ", psnr(enc->coded_frame->error[0] / (enc->width * enc->height * 255.0 * 255.0))); fprintf(vstats_file,"f_size= %6d ", frame_size); /* compute pts value */ - ti1 = ost->sync_opts * av_q2d(enc->time_base); + ti1 = ost->st->pts.val * av_q2d(enc->time_base); if (ti1 < 0.01) ti1 = 0.01; @@ -1304,8 +1304,6 @@ static void flush_encoders(void) if (pkt.duration > 0) pkt.duration = av_rescale_q(pkt.duration, enc->time_base, ost->st->time_base); write_frame(os, &pkt, ost); - ost->frame_number ++; - ost->sync_opts ++; if (ost->st->codec->codec_type == AVMEDIA_TYPE_VIDEO && vstats_filename) { do_video_stats(ost, pkt.size); }