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

Jörg Habenicht j.habenicht at gmx.de
Mon Feb 3 22:45:32 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