[FFmpeg-cvslog] avfilter/vf_feedback: add timeline support

Paul B Mahol git at videolan.org
Mon Oct 30 16:59:31 EET 2023


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Mon Oct 30 16:04:24 2023 +0100| [6323ca5902839b4d2e38b98e18daa8f1b4460c77] | committer: Paul B Mahol

avfilter/vf_feedback: add timeline support

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

 libavfilter/vf_feedback.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/libavfilter/vf_feedback.c b/libavfilter/vf_feedback.c
index 33beae66ec..2fb7d48057 100644
--- a/libavfilter/vf_feedback.c
+++ b/libavfilter/vf_feedback.c
@@ -185,13 +185,16 @@ static int activate(AVFilterContext *ctx)
         return ret;
     }
 
-    if (!s->feed) {
+    if (!s->feed || ctx->is_disabled) {
         AVFrame *in = NULL;
 
         ret = ff_inlink_consume_frame(ctx->inputs[0], &in);
         if (ret < 0)
             return ret;
 
+        if (ret > 0 && ctx->is_disabled)
+            return ff_filter_frame(ctx->outputs[0], in);
+
         if (ret > 0) {
             AVFrame *frame;
 
@@ -239,10 +242,11 @@ static int activate(AVFilterContext *ctx)
         return 0;
     }
 
-    if (!s->feed) {
+    if (!s->feed || ctx->is_disabled) {
         if (ff_outlink_frame_wanted(ctx->outputs[0])) {
             ff_inlink_request_frame(ctx->inputs[0]);
-            ff_inlink_request_frame(ctx->inputs[1]);
+            if (!ctx->is_disabled)
+                ff_inlink_request_frame(ctx->inputs[1]);
             return 0;
         }
     }
@@ -330,5 +334,6 @@ const AVFilter ff_vf_feedback = {
     FILTER_INPUTS(inputs),
     FILTER_OUTPUTS(outputs),
     FILTER_QUERY_FUNC(query_formats),
+    .flags       = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
     .process_command = ff_filter_process_command,
 };



More information about the ffmpeg-cvslog mailing list