You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	avfilter/af_anlms: switch to ff_filter_process_command()
This commit is contained in:
		| @@ -60,17 +60,18 @@ typedef struct AudioNLMSContext { | |||||||
|  |  | ||||||
| #define OFFSET(x) offsetof(AudioNLMSContext, x) | #define OFFSET(x) offsetof(AudioNLMSContext, x) | ||||||
| #define A AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM | #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[] = { | static const AVOption anlms_options[] = { | ||||||
|     { "order",   "set the filter order",   OFFSET(order),   AV_OPT_TYPE_INT,   {.i64=256},  1, INT16_MAX, A }, |     { "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 }, |     { "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, A }, |     { "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, A }, |     { "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, A, "mode" }, |     { "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, A, "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, A, "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, A, "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, A, "mode" }, |     {  "n", "noise",                 0,          AV_OPT_TYPE_CONST,    {.i64=NOISE_MODE},   0, 0, AT, "mode" }, | ||||||
|     { NULL } |     { NULL } | ||||||
| }; | }; | ||||||
|  |  | ||||||
| @@ -281,22 +282,6 @@ static av_cold int init(AVFilterContext *ctx) | |||||||
|     return 0; |     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) | static av_cold void uninit(AVFilterContext *ctx) | ||||||
| { | { | ||||||
|     AudioNLMSContext *s = ctx->priv; |     AudioNLMSContext *s = ctx->priv; | ||||||
| @@ -341,5 +326,5 @@ AVFilter ff_af_anlms = { | |||||||
|     .inputs         = inputs, |     .inputs         = inputs, | ||||||
|     .outputs        = outputs, |     .outputs        = outputs, | ||||||
|     .flags          = AVFILTER_FLAG_SLICE_THREADS, |     .flags          = AVFILTER_FLAG_SLICE_THREADS, | ||||||
|     .process_command = process_command, |     .process_command = ff_filter_process_command, | ||||||
| }; | }; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user