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

Gyan Doshi ffmpeg at gyani.pro
Fri May 14 13:55:15 EEST 2021



On 2021-05-14 09:18, Steven Liu wrote:
>
>> 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

Applied as 93ddb9b6177ab668cae92f9b117a91b05cde386f

Thanks,
Gyan


More information about the ffmpeg-devel mailing list