[FFmpeg-devel] [PATCH 1/3] avfilter/delogo: add parameter to switch on circular delogo

Jörg Habenicht j.habenicht at gmx.de
Tue Feb 4 21:53:58 EET 2025


Add a parameter (boolean) r to switch the area from
rectangular (r=0) to circular(r=1) delogo.

Signed-off-by: Jörg Habenicht <j.habenicht at gmx.de>
---
 libavfilter/vf_delogo.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/libavfilter/vf_delogo.c b/libavfilter/vf_delogo.c
index bfbf8e6f4c..7641c3b483 100644
--- a/libavfilter/vf_delogo.c
+++ b/libavfilter/vf_delogo.c
@@ -195,7 +195,7 @@ static void apply_delogo(uint8_t *dst, int dst_linesize,

 typedef struct DelogoContext {
     const AVClass *class;
-    int x, y, w, h, band, show;
+    int x, y, w, h, band, show, round;
     char *x_expr, *y_expr, *w_expr, *h_expr;
     AVExpr *x_pexpr, *y_pexpr, *w_pexpr, *h_pexpr;
     double var_values[VAR_VARS_NB];
@@ -209,6 +209,7 @@ static const AVOption delogo_options[]= {
     { "y",    "set logo y position",       OFFSET(y_expr),    AV_OPT_TYPE_STRING, { .str = "-1" }, 0, 0, FLAGS },
     { "w",    "set logo width",            OFFSET(w_expr),    AV_OPT_TYPE_STRING, { .str = "-1" }, 0, 0, FLAGS },
     { "h",    "set logo height",           OFFSET(h_expr),    AV_OPT_TYPE_STRING, { .str = "-1" }, 0, 0, FLAGS },
+    { "r",    "logo is round/ellipse",     OFFSET(round),     AV_OPT_TYPE_BOOL,   { .i64 =  0 },   0, 1, FLAGS },
     { "show", "show delogo area",          OFFSET(show),      AV_OPT_TYPE_BOOL,   { .i64 =  0 },   0, 1, FLAGS },
     { NULL }
 };
@@ -259,8 +260,8 @@ static av_cold int init(AVFilterContext *ctx)

     s->band = 1;

-    av_log(ctx, AV_LOG_VERBOSE, "x:%d y:%d, w:%d h:%d band:%d show:%d\n",
-           s->x, s->y, s->w, s->h, s->band, s->show);
+    av_log(ctx, AV_LOG_VERBOSE, "x:%d y:%d, w:%d h:%d band:%d round:%d show:%d\n",
+           s->x, s->y, s->w, s->h, s->band, s->round, s->show);

     s->w += s->band*2;
     s->h += s->band*2;
--
2.45.3



More information about the ffmpeg-devel mailing list