[FFmpeg-devel] [PATCH 2/2] ffmpeg: don't delay printing initial stats

Gyan Doshi ffmpeg at gyani.pro
Mon Dec 21 11:21:21 EET 2020


The first stats is printed after the initial stats_period has elapsed. With a large period,
it may appear that ffmpeg has frozen at startup.

The initial stats is now printed after the first transcode_step.
---
 fftools/ffmpeg.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index 6d25f1bca9..2c0820aacf 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -1685,6 +1685,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
     double speed;
     int64_t pts = INT64_MIN + 1;
     static int64_t last_time = -1;
+    static int first_report = 1;
     static int qp_histogram[52];
     int hours, mins, secs, us;
     const char *hours_sign;
@@ -1697,9 +1698,8 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
     if (!is_last_report) {
         if (last_time == -1) {
             last_time = cur_time;
-            return;
         }
-        if ((cur_time - last_time) < stats_period)
+        if ((cur_time - last_time) < stats_period && !first_report)
             return;
         last_time = cur_time;
     }
@@ -1876,6 +1876,8 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
         }
     }
 
+    first_report = 0;
+
     if (is_last_report)
         print_final_stats(total_size);
 }
-- 
2.27.0



More information about the ffmpeg-devel mailing list