On 10/10/19, Limin Wang <lance.lmw...@gmail.com> wrote: > On Thu, Oct 10, 2019 at 03:10:28PM +0200, Paul B Mahol wrote: >> On 10/10/19, Limin Wang <lance.lmw...@gmail.com> wrote: >> > On Thu, Oct 10, 2019 at 01:38:41PM +0200, Paul B Mahol wrote: >> >> Signed-off-by: Paul B Mahol <one...@gmail.com> >> >> --- >> >> 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. > > Can we add a new flags like AVFILTER_FLAG_SLICE_THREADS?
What for? I prefer it this way. > >> >> > >> >> }; >> >> -- >> >> 2.17.1 >> >> >> >> _______________________________________________ >> >> ffmpeg-devel mailing list >> >> ffmpeg-devel@ffmpeg.org >> >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> >> >> >> To unsubscribe, visit link above, or email >> >> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". >> > _______________________________________________ >> > ffmpeg-devel mailing list >> > ffmpeg-devel@ffmpeg.org >> > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> > >> > To unsubscribe, visit link above, or email >> > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> >> To unsubscribe, visit link above, or email >> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".