[FFmpeg-devel] [PATCH 10/21] fftools/ffmpeg_enc: move dup_warning global variable to Encoder

Anton Khirnov anton at khirnov.net
Wed Jun 14 19:48:57 EEST 2023


---
 fftools/ffmpeg_enc.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/fftools/ffmpeg_enc.c b/fftools/ffmpeg_enc.c
index 2bf4782a9f..0fdf7e7c4d 100644
--- a/fftools/ffmpeg_enc.c
+++ b/fftools/ffmpeg_enc.c
@@ -66,11 +66,11 @@ struct Encoder {
     // number of packets received from the encoder
     uint64_t packets_encoded;
 
+    uint64_t dup_warning;
+
     int opened;
 };
 
-static uint64_t dup_warning = 1000;
-
 void enc_free(Encoder **penc)
 {
     Encoder *enc = *penc;
@@ -106,6 +106,8 @@ int enc_alloc(Encoder **penc, const AVCodec *codec)
     if (!enc->pkt)
         goto fail;
 
+    enc->dup_warning = 1000;
+
     *penc = enc;
 
     return 0;
@@ -1070,9 +1072,9 @@ static void do_video_out(OutputFile *of, OutputStream *ost, AVFrame *frame)
         }
         ost->nb_frames_dup += nb_frames - (nb_frames_prev && ost->last_dropped) - (nb_frames > nb_frames_prev);
         av_log(ost, AV_LOG_VERBOSE, "*** %"PRId64" dup!\n", nb_frames - 1);
-        if (ost->nb_frames_dup > dup_warning) {
-            av_log(ost, AV_LOG_WARNING, "More than %"PRIu64" frames duplicated\n", dup_warning);
-            dup_warning *= 10;
+        if (ost->nb_frames_dup > e->dup_warning) {
+            av_log(ost, AV_LOG_WARNING, "More than %"PRIu64" frames duplicated\n", e->dup_warning);
+            e->dup_warning *= 10;
         }
     }
     ost->last_dropped = nb_frames == nb_frames_prev && frame;
-- 
2.40.1



More information about the ffmpeg-devel mailing list