[FFmpeg-cvslog] ffmpeg: don't delay printing initial stats

Gyan Doshi git at videolan.org
Tue Dec 22 21:13:16 EET 2020


ffmpeg | branch: master | Gyan Doshi <ffmpeg at gyani.pro> | Mon Dec 21 15:04:15 2020 +0530| [3e47bbad56e8a00bf502829403f298e17c69dd1a] | committer: Gyan Doshi

ffmpeg: don't delay printing initial stats

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.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3e47bbad56e8a00bf502829403f298e17c69dd1a
---

 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);
 }



More information about the ffmpeg-cvslog mailing list