[FFmpeg-devel] [RFC/PATCH]ffmpeg: Warn if thousands of frames are duplicated

Carl Eugen Hoyos cehoyos at ag.or.at
Fri Nov 4 01:19:50 EET 2016


Hi!

Not sure if this really helps but ffmpeg can duplicate an enormous 
amount of frames without any notice to the user.

Please comment, Carl Eugen
-------------- next part --------------
From fdecd0309a111d2faca2fcffc95583276a4e826f Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <cehoyos at ag.or.at>
Date: Fri, 4 Nov 2016 00:16:51 +0100
Subject: [PATCH] ffmpeg: Warn if thousands of frames are duplicated.

Fixes ticket #5194.
---
 ffmpeg.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/ffmpeg.c b/ffmpeg.c
index 3b91710..130ae8a 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -126,6 +126,7 @@ static int64_t getmaxrss(void);
 
 static int run_as_daemon  = 0;
 static int nb_frames_dup = 0;
+static unsigned dup_warning = 1000;
 static int nb_frames_drop = 0;
 static int64_t decode_error_stat[2];
 
@@ -1134,6 +1135,10 @@ static void do_video_out(OutputFile *of,
         }
         nb_frames_dup += nb_frames - (nb0_frames && ost->last_dropped) - (nb_frames > nb0_frames);
         av_log(NULL, AV_LOG_VERBOSE, "*** %d dup!\n", nb_frames - 1);
+        if (nb_frames_dup > dup_warning) {
+            av_log(NULL, AV_LOG_WARNING, "More than %d frames duplicated\n", dup_warning);
+            dup_warning *= 10;
+        }
     }
     ost->last_dropped = nb_frames == nb0_frames && next_picture;
 
-- 
1.7.10.4



More information about the ffmpeg-devel mailing list