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

Steven Liu lq at chinaffmpeg.org
Fri May 14 06:48:34 EEST 2021



> 2021年5月14日 上午11:43,Gyan Doshi <ffmpeg at gyani.pro> 写道:
> 
> 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
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe”.
> 
> 
> 
lgtm

Thanks

Steven Liu





More information about the ffmpeg-devel mailing list