diff --git a/ffmpeg.c b/ffmpeg.c index 5499d5d7bd..609d1121fb 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1715,11 +1715,12 @@ static void print_report(OutputFile *output_files, snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "q=%2.1f ", q); } if (!vid && enc->codec_type == AVMEDIA_TYPE_VIDEO) { - float t = (cur_time-timer_start) / 1000000.0; + float fps, t = (cur_time-timer_start) / 1000000.0; frame_number = ost->frame_number; - snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "frame=%5d fps=%3d q=%3.1f ", - frame_number, (t > 1) ? (int)(frame_number / t + 0.5) : 0, q); + fps = t > 1 ? frame_number / t : 0; + snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "frame=%5d fps=%3.*f q=%3.1f ", + frame_number, fps < 9.95, fps, q); if (is_last_report) snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "L"); if (qp_hist) {