On 10/10/19, Limin Wang <[email protected]> wrote:
> On Thu, Oct 10, 2019 at 01:38:41PM +0200, Paul B Mahol wrote:
>> Signed-off-by: Paul B Mahol <[email protected]>
>> ---
>>  libavfilter/af_anlms.c | 35 ++++++++++-------------------------
>>  1 file changed, 10 insertions(+), 25 deletions(-)
>>
>> diff --git a/libavfilter/af_anlms.c b/libavfilter/af_anlms.c
>> index 350bedaf7a..55e6946b68 100644
>> --- a/libavfilter/af_anlms.c
>> +++ b/libavfilter/af_anlms.c
>> @@ -60,17 +60,18 @@ typedef struct AudioNLMSContext {
>>
>>  #define OFFSET(x) offsetof(AudioNLMSContext, x)
>>  #define A AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM
>> +#define AT
>> AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_RUNTIME_PARAM
>>
>>  static const AVOption anlms_options[] = {
>>      { "order",   "set the filter order",   OFFSET(order),
>> AV_OPT_TYPE_INT,   {.i64=256},  1, INT16_MAX, A },
>> -    { "mu",      "set the filter mu",      OFFSET(mu),
>> AV_OPT_TYPE_FLOAT, {.dbl=0.75}, 0, 2, A },
>> -    { "eps",     "set the filter eps",     OFFSET(eps),
>> AV_OPT_TYPE_FLOAT, {.dbl=1},    0, 1, A },
>> -    { "leakage", "set the filter leakage", OFFSET(leakage),
>> AV_OPT_TYPE_FLOAT, {.dbl=0},    0, 1, A },
>> -    { "out_mode", "set output mode",       OFFSET(output_mode),
>> AV_OPT_TYPE_INT, {.i64=OUT_MODE}, 0, NB_OMODES-1, A, "mode" },
>> -    {  "i", "input",                 0,          AV_OPT_TYPE_CONST,
>> {.i64=IN_MODE},      0, 0, A, "mode" },
>> -    {  "d", "desired",               0,          AV_OPT_TYPE_CONST,
>> {.i64=DESIRED_MODE}, 0, 0, A, "mode" },
>> -    {  "o", "output",                0,          AV_OPT_TYPE_CONST,
>> {.i64=OUT_MODE},     0, 0, A, "mode" },
>> -    {  "n", "noise",                 0,          AV_OPT_TYPE_CONST,
>> {.i64=NOISE_MODE},   0, 0, A, "mode" },
>> +    { "mu",      "set the filter mu",      OFFSET(mu),
>> AV_OPT_TYPE_FLOAT, {.dbl=0.75}, 0, 2, AT },
>> +    { "eps",     "set the filter eps",     OFFSET(eps),
>> AV_OPT_TYPE_FLOAT, {.dbl=1},    0, 1, AT },
>> +    { "leakage", "set the filter leakage", OFFSET(leakage),
>> AV_OPT_TYPE_FLOAT, {.dbl=0},    0, 1, AT },
>> +    { "out_mode", "set output mode",       OFFSET(output_mode),
>> AV_OPT_TYPE_INT, {.i64=OUT_MODE}, 0, NB_OMODES-1, AT, "mode" },
>> +    {  "i", "input",                 0,          AV_OPT_TYPE_CONST,
>> {.i64=IN_MODE},      0, 0, AT, "mode" },
>> +    {  "d", "desired",               0,          AV_OPT_TYPE_CONST,
>> {.i64=DESIRED_MODE}, 0, 0, AT, "mode" },
>> +    {  "o", "output",                0,          AV_OPT_TYPE_CONST,
>> {.i64=OUT_MODE},     0, 0, AT, "mode" },
>> +    {  "n", "noise",                 0,          AV_OPT_TYPE_CONST,
>> {.i64=NOISE_MODE},   0, 0, AT, "mode" },
>>      { NULL }
>>  };
>>
>> @@ -281,22 +282,6 @@ static av_cold int init(AVFilterContext *ctx)
>>      return 0;
>>  }
>>
>> -static int process_command(AVFilterContext *ctx, const char *cmd, const
>> char *args,
>> -                           char *res, int res_len, int flags)
>> -{
>> -    AudioNLMSContext *s = ctx->priv;
>> -    int ret;
>> -
>> -    if (   !strcmp(cmd, "mu") || !strcmp(cmd, "eps")
>> -        || !strcmp(cmd, "leakage") || !strcmp(cmd, "out_mode")) {
>> -        ret = av_opt_set(s, cmd, args, 0);
>> -    } else {
>> -        ret = AVERROR(ENOSYS);
>> -    }
>> -
>> -    return ret;
>> -}
>> -
>>  static av_cold void uninit(AVFilterContext *ctx)
>>  {
>>      AudioNLMSContext *s = ctx->priv;
>> @@ -341,5 +326,5 @@ AVFilter ff_af_anlms = {
>>      .inputs         = inputs,
>>      .outputs        = outputs,
>>      .flags          = AVFILTER_FLAG_SLICE_THREADS,
>> -    .process_command = process_command,
>> +    .process_command = ff_filter_process_command,
> Can we delete the line directly, if default is ff_filter_process_command,
> then we don't need to assign .process_command and make it default if the
> runtime flags is set?

No, because this is used to show which filters support commands.
With your approach that would be lost, or some other thing would need
to mark it.

>
>>  };
>> --
>> 2.17.1
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> [email protected]
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>> To unsubscribe, visit link above, or email
>> [email protected] with subject "unsubscribe".
> _______________________________________________
> ffmpeg-devel mailing list
> [email protected]
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> [email protected] with subject "unsubscribe".
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to