From 93ddb9b6177ab668cae92f9b117a91b05cde386f Mon Sep 17 00:00:00 2001 From: Gyan Doshi Date: Fri, 14 May 2021 09:09:49 +0530 Subject: avfilter/guided: simplify subsampling assignment. Reduce option ranges to effective values. Signed-off-by: Gyan Doshi Reviewed-by: Steven Liu --- libavfilter/vf_guided.c | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) (limited to 'libavfilter/vf_guided.c') 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; -- cgit v1.2.3