[FFmpeg-devel] [PATCH] avfilter/guided: simplify subsampling assignment.

Gyan Doshi ffmpeg at gyani.pro
Fri May 14 06:43:10 EEST 2021


Reduce option ranges to effective values.
---
Will reindent after this is applied.

 libavfilter/vf_guided.c | 26 ++++++++------------------
 1 file changed, 8 insertions(+), 18 deletions(-)

diff --git a/libavfilter/vf_guided.c b/libavfilter/vf_guided.c
index e7c689e7be..88bae5ab19 100644
--- a/libavfilter/vf_guided.c
+++ b/libavfilter/vf_guided.c
@@ -61,10 +61,10 @@ typedef struct GuidedContext {
 static const AVOption guided_options[] = {
     { "radius", "set the box radius",                               OFFSET(radius), AV_OPT_TYPE_INT,   {.i64 = 3    },   1,           20, FLAGS },
     { "eps",    "set the regularization parameter (with square)",   OFFSET(eps),    AV_OPT_TYPE_FLOAT, {.dbl = 0.01 }, 0.0,            1, FLAGS },
-    { "mode",   "set filtering mode (0: basic mode; 1: fast mode)", OFFSET(mode),   AV_OPT_TYPE_INT,   {.i64 = BASIC},   0, NB_MODES - 1, FLAGS, "mode" },
+    { "mode",   "set filtering mode (0: basic mode; 1: fast mode)", OFFSET(mode),   AV_OPT_TYPE_INT,   {.i64 = BASIC}, BASIC, NB_MODES - 1, FLAGS, "mode" },
     { "basic",  "basic guided filter",                              0,              AV_OPT_TYPE_CONST, {.i64 = BASIC},   0,            0, FLAGS, "mode" },
     { "fast",   "fast guided filter",                               0,              AV_OPT_TYPE_CONST, {.i64 = FAST },   0,            0, FLAGS, "mode" },
-    { "sub",    "subsampling ratio",                                OFFSET(sub),    AV_OPT_TYPE_INT,   {.i64 = 1    },   1,           64, FLAGS },
+    { "sub",    "subsampling ratio for fast mode",                  OFFSET(sub),    AV_OPT_TYPE_INT,   {.i64 = 4    },   2,           64, FLAGS },
     { "planes", "set planes to filter",                             OFFSET(planes), AV_OPT_TYPE_INT,   {.i64=1      },   0,          0xF, FLAGS },
     { NULL }
 };
@@ -160,24 +160,14 @@ static int config_input(AVFilterLink *inlink)
     }
 
     if (s->mode == BASIC) {
-        if (s->sub != 1) {
-            av_log(ctx, AV_LOG_WARNING, "Subsampling ratio is 1 in basic mode.\n");
-            s->sub = 1;
-        }
+        s->sub = 1;
     }
     else if (s->mode == FAST) {
-        if (s->sub == 1) {
-            av_log(ctx, AV_LOG_WARNING, "Subsampling ratio is larger than 1 in fast mode.\n");
-            s->sub = 4;
-        }
-        if (s->radius >= s->sub)
-            s->radius = s->radius / s->sub;
-        else {
-            s->radius = 1;
-        }
-    }
-    else {
-        return AVERROR_BUG;
+       if (s->radius >= s->sub)
+           s->radius = s->radius / s->sub;
+       else {
+           s->radius = 1;
+       }
     }
 
     s->depth = desc->comp[0].depth;
-- 
2.30.1



More information about the ffmpeg-devel mailing list