Commit 996b13fa authored by Paul B Mahol's avatar Paul B Mahol

avfilter: add audio dynamic equalizer filter

parent 466441a0
......@@ -40,6 +40,7 @@ version <next>:
- adynamicsmooth audio filter
- libplacebo filter
- vflip_vulkan, hflip_vulkan and flip_vulkan filters
- adynamicequalizer audio filter
version 4.4:
......
......@@ -843,6 +843,82 @@ Compute derivative/integral of audio stream.
Applying both filters one after another produces original audio.
@section adynamicequalizer
Apply dynamic equalization to input audio stream.
A description of the accepted options follows.
@table @option
@item threshold
Set the detection threshold used to trigger equalization.
Threshold detection is using bandpass filter.
Default value is 0. Allowed range is from 0 to 100.
@item dfrequency
Set the detection frequency in Hz used for bandpass filter used to trigger equalization.
Default value is 1000 Hz. Allowed range is between 2 and 1000000 Hz.
@item dqfactor
Set the detection resonance factor for bandpass filter used to trigger equalization.
Default value is 1. Allowed range is from 0.001 to 1000.
@item tfrequency
Set the target frequency of equalization filter.
Default value is 1000 Hz. Allowed range is between 2 and 1000000 Hz.
@item tqfactor
Set the target resonance factor for target equalization filter.
Default value is 1. Allowed range is from 0.001 to 1000.
@item attack
Set the amount of milliseconds the signal from detection has to rise above
the detection threshold before equalization starts.
Default is 20. Allowed range is between 1 and 2000.
@item release
Set the amount of milliseconds the signal from detection has to fall below the
detection threshold before equalization ends.
Default is 200. Allowed range is between 1 and 2000.
@item knee
Curve the sharp knee around the detection threshold to calculate
equalization gain more softly.
Default is 1. Allowed range is between 0 and 8.
@item ratio
Set the ratio by which the equalization gain is raised.
Default is 1. Allowed range is between 1 and 20.
@item makeup
Set the makeup offset in dB by which the equalization gain is raised.
Default is 0. Allowed range is between 0 and 30.
@item range
Set the max allowed cut/boost amount in dB. Default is 0.
Allowed range is from 0 to 200.
@item slew
Set the slew factor. Default is 1. Allowed range is from 1 to 200.
@item mode
Set the mode of filter operation, can be one of the following:
@table @samp
@item listen
Output only isolated bandpass signal.
@item cut
Cut frequencies above detection threshold.
@item boost
Boost frequencies bellow detection threshold.
@end table
Default mode is @samp{cut}.
@end table
@subsection Commands
This filter supports the all above options as @ref{commands}.
@section adynamicsmooth
Apply dynamic smoothing to input audio stream.
......
......@@ -44,6 +44,7 @@ OBJS-$(CONFIG_ADECORRELATE_FILTER) += af_adecorrelate.o
OBJS-$(CONFIG_ADELAY_FILTER) += af_adelay.o
OBJS-$(CONFIG_ADENORM_FILTER) += af_adenorm.o
OBJS-$(CONFIG_ADERIVATIVE_FILTER) += af_aderivative.o
OBJS-$(CONFIG_ADYNAMICEQUALIZER_FILTER) += af_adynamicequalizer.o
OBJS-$(CONFIG_ADYNAMICSMOOTH_FILTER) += af_adynamicsmooth.o
OBJS-$(CONFIG_AECHO_FILTER) += af_aecho.o
OBJS-$(CONFIG_AEMPHASIS_FILTER) += af_aemphasis.o
......
This diff is collapsed.
......@@ -37,6 +37,7 @@ extern const AVFilter ff_af_adecorrelate;
extern const AVFilter ff_af_adelay;
extern const AVFilter ff_af_adenorm;
extern const AVFilter ff_af_aderivative;
extern const AVFilter ff_af_adynamicequalizer;
extern const AVFilter ff_af_adynamicsmooth;
extern const AVFilter ff_af_aecho;
extern const AVFilter ff_af_aemphasis;
......
......@@ -30,7 +30,7 @@
#include "libavutil/version.h"
#define LIBAVFILTER_VERSION_MAJOR 8
#define LIBAVFILTER_VERSION_MINOR 19
#define LIBAVFILTER_VERSION_MINOR 20
#define LIBAVFILTER_VERSION_MICRO 100
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment