diff options
author | Gyan Doshi <ffmpeg@gyani.pro> | 2021-05-14 09:09:49 +0530 |
---|---|---|
committer | Gyan Doshi <ffmpeg@gyani.pro> | 2021-05-14 15:33:30 +0530 |
commit | 93ddb9b6177ab668cae92f9b117a91b05cde386f (patch) | |
tree | 6536855b84b71d8526cb8af7272b38edc6c8dd3d | |
parent | ef58f48d5984d9268996ce920bfdc450a992701a (diff) | |
download | ffmpeg-93ddb9b6177ab668cae92f9b117a91b05cde386f.tar.gz |
avfilter/guided: simplify subsampling assignment.
Reduce option ranges to effective values.
Signed-off-by: Gyan Doshi <ffmpeg@gyani.pro>
Reviewed-by: Steven Liu <liuqi05@kuaishou.com>
-rw-r--r-- | libavfilter/vf_guided.c | 26 |
1 files 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; |