[FFmpeg-cvslog] avfilter/vf_stack: set framerate to VFR when inputs frame rates differs

Paul B Mahol git at videolan.org
Tue Dec 17 14:34:01 EET 2019


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Tue Dec 17 13:28:27 2019 +0100| [3530fdc78ed8ca6f246dcaeb761bea0f5b76fc44] | committer: Paul B Mahol

avfilter/vf_stack: set framerate to VFR when inputs frame rates differs

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

 libavfilter/vf_stack.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/libavfilter/vf_stack.c b/libavfilter/vf_stack.c
index b9e87a4429..5bc4ccf6ed 100644
--- a/libavfilter/vf_stack.c
+++ b/libavfilter/vf_stack.c
@@ -310,6 +310,17 @@ static int config_output(AVFilterLink *outlink)
     outlink->frame_rate = frame_rate;
     outlink->sample_aspect_ratio = sar;
 
+    for (i = 1; i < s->nb_inputs; i++) {
+        AVFilterLink *inlink = ctx->inputs[i];
+        if (outlink->frame_rate.num != inlink->frame_rate.num ||
+            outlink->frame_rate.den != inlink->frame_rate.den) {
+            av_log(ctx, AV_LOG_VERBOSE,
+                    "Video inputs have different frame rates, output will be VFR\n");
+            outlink->frame_rate = av_make_q(1, 0);
+            break;
+        }
+    }
+
     if ((ret = ff_framesync_init(&s->fs, ctx, s->nb_inputs)) < 0)
         return ret;
 



More information about the ffmpeg-cvslog mailing list