Showing the changes to libavfilter (1 of 1 file). Show all
Unified · Split
| @@ -62,18 +62,17 @@ typedef struct AudioLimiterContext { · 61 unmodified lines | ||
| 62 | 62 | } AudioLimiterContext; |
| 63 | 63 | |
| 64 | 64 | #define OFFSET(x) offsetof(AudioLimiterContext, x) |
| 65 | −#define A AV_OPT_FLAG_AUDIO_PARAM | |
| 66 | −#define F AV_OPT_FLAG_FILTERING_PARAM | |
| 65 | +#define AF AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_FILTERING_PARAM | AV_OPT_FLAG_RUNTIME_PARAM | |
| 67 | 66 | |
| 68 | 67 | static const AVOption alimiter_options[] = { |
| 69 | − { "level_in", "set input level", OFFSET(level_in), AV_OPT_TYPE_DOUBLE, {.dbl=1},.015625, 64, A|F }, | |
| 70 | − { "level_out", "set output level", OFFSET(level_out), AV_OPT_TYPE_DOUBLE, {.dbl=1},.015625, 64, A|F }, | |
| 71 | − { "limit", "set limit", OFFSET(limit), AV_OPT_TYPE_DOUBLE, {.dbl=1}, 0.0625, 1, A|F }, | |
| 72 | − { "attack", "set attack", OFFSET(attack), AV_OPT_TYPE_DOUBLE, {.dbl=5}, 0.1, 80, A|F }, | |
| 73 | − { "release", "set release", OFFSET(release), AV_OPT_TYPE_DOUBLE, {.dbl=50}, 1, 8000, A|F }, | |
| 74 | − { "asc", "enable asc", OFFSET(auto_release), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, A|F }, | |
| 75 | − { "asc_level", "set asc level", OFFSET(asc_coeff), AV_OPT_TYPE_DOUBLE, {.dbl=0.5}, 0, 1, A|F }, | |
| 76 | − { "level", "auto level", OFFSET(auto_level), AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1, A|F }, | |
| 68 | + { "level_in", "set input level", OFFSET(level_in), AV_OPT_TYPE_DOUBLE, {.dbl=1},.015625, 64, AF }, | |
| 69 | + { "level_out", "set output level", OFFSET(level_out), AV_OPT_TYPE_DOUBLE, {.dbl=1},.015625, 64, AF }, | |
| 70 | + { "limit", "set limit", OFFSET(limit), AV_OPT_TYPE_DOUBLE, {.dbl=1}, 0.0625, 1, AF }, | |
| 71 | + { "attack", "set attack", OFFSET(attack), AV_OPT_TYPE_DOUBLE, {.dbl=5}, 0.1, 80, AF }, | |
| 72 | + { "release", "set release", OFFSET(release), AV_OPT_TYPE_DOUBLE, {.dbl=50}, 1, 8000, AF }, | |
| 73 | + { "asc", "enable asc", OFFSET(auto_release), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, AF }, | |
| 74 | + { "asc_level", "set asc level", OFFSET(asc_coeff), AV_OPT_TYPE_DOUBLE, {.dbl=0.5}, 0, 1, AF }, | |
| 75 | + { "level", "auto level", OFFSET(auto_level), AV_OPT_TYPE_BOOL, {.i64=1}, 0, 1, AF }, | |
| 77 | 76 | { NULL } |
| 78 | 77 | }; |
| 79 | 78 | |
| @@ -339,4 +338,6 @@ const AVFilter ff_af_alimiter = { · 259 unmodified lines | ||
| 339 | 338 | FILTER_INPUTS(alimiter_inputs), |
| 340 | 339 | FILTER_OUTPUTS(alimiter_outputs), |
| 341 | 340 | FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBL), |
| 341 | + .process_command = ff_filter_process_command, | |
| 342 | + .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, | |
| 342 | 343 | }; |