summaryrefslogtreecommitdiff
path: root/libavfilter/vf_guided.c
diff options
context:
space:
mode:
authorGyan Doshi <ffmpeg@gyani.pro>2021-05-14 09:09:49 +0530
committerGyan Doshi <ffmpeg@gyani.pro>2021-05-14 15:33:30 +0530
commit93ddb9b6177ab668cae92f9b117a91b05cde386f (patch)
tree6536855b84b71d8526cb8af7272b38edc6c8dd3d /libavfilter/vf_guided.c
parentef58f48d5984d9268996ce920bfdc450a992701a (diff)
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>
Diffstat (limited to 'libavfilter/vf_guided.c')
-rw-r--r--libavfilter/vf_guided.c26
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;