[FFmpeg-devel] [PATCH] libavfilter/vf_blend: do not unconditionally compile both filters

Paul B Mahol onemda at gmail.com
Sun Jan 4 13:31:30 CET 2015


Signed-off-by: Paul B Mahol <onemda at gmail.com>
---
 libavfilter/vf_blend.c | 32 ++++++++++++++++++++------------
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/libavfilter/vf_blend.c b/libavfilter/vf_blend.c
index 538774b..a29cabc 100644
--- a/libavfilter/vf_blend.c
+++ b/libavfilter/vf_blend.c
@@ -373,6 +373,20 @@ static int query_formats(AVFilterContext *ctx)
     return 0;
 }
 
+static av_cold void uninit(AVFilterContext *ctx)
+{
+    BlendContext *b = ctx->priv;
+    int i;
+
+    ff_dualinput_uninit(&b->dinput);
+    av_freep(&b->prev_frame);
+
+    for (i = 0; i < FF_ARRAY_ELEMS(b->params); i++)
+        av_expr_free(b->params[i].e);
+}
+
+#if CONFIG_BLEND_FILTER
+
 static int config_output(AVFilterLink *outlink)
 {
     AVFilterContext *ctx = outlink->src;
@@ -418,18 +432,6 @@ static int config_output(AVFilterLink *outlink)
     return 0;
 }
 
-static av_cold void uninit(AVFilterContext *ctx)
-{
-    BlendContext *b = ctx->priv;
-    int i;
-
-    ff_dualinput_uninit(&b->dinput);
-    av_freep(&b->prev_frame);
-
-    for (i = 0; i < FF_ARRAY_ELEMS(b->params); i++)
-        av_expr_free(b->params[i].e);
-}
-
 static int request_frame(AVFilterLink *outlink)
 {
     BlendContext *b = outlink->src->priv;
@@ -478,6 +480,10 @@ AVFilter ff_vf_blend = {
     .flags         = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
 };
 
+#endif
+
+#if CONFIG_TBLEND_FILTER
+
 static int tblend_config_output(AVFilterLink *outlink)
 {
     AVFilterContext *ctx = outlink->src;
@@ -545,3 +551,5 @@ AVFilter ff_vf_tblend = {
     .outputs       = tblend_outputs,
     .flags         = AVFILTER_FLAG_SLICE_THREADS,
 };
+
+#endif
-- 
1.7.11.2



More information about the ffmpeg-devel mailing list