avfilter: add high-order parametric multiband equalizer filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
@@ -992,6 +992,100 @@ stream ends. The default value is 2 seconds.
|
||||
|
||||
@end table
|
||||
|
||||
@section anequalizer
|
||||
|
||||
High-order parametric multiband equalizer for each channel.
|
||||
|
||||
It accepts the following parameters:
|
||||
@table @option
|
||||
@item params
|
||||
|
||||
This option string is in format:
|
||||
"c@var{chn} f=@var{cf} w=@var{w} g=@var{g} t=@var{f} | ..."
|
||||
Each equalizer band is separated by '|'.
|
||||
|
||||
@table @option
|
||||
@item chn
|
||||
Set channel number to which equalization will be applied.
|
||||
If input doesn't have that channel the entry is ignored.
|
||||
|
||||
@item cf
|
||||
Set central frequency for band.
|
||||
If input doesn't have that frequency the entry is ignored.
|
||||
|
||||
@item w
|
||||
Set band width in hertz.
|
||||
|
||||
@item g
|
||||
Set band gain in dB.
|
||||
|
||||
@item f
|
||||
Set filter type for band, optional, can be:
|
||||
|
||||
@table @samp
|
||||
@item 0
|
||||
Butterworth, this is default.
|
||||
|
||||
@item 1
|
||||
Chebyshev type 1.
|
||||
|
||||
@item 2
|
||||
Chebyshev type 2.
|
||||
@end table
|
||||
@end table
|
||||
|
||||
@item curves
|
||||
With this option activated frequency response of anequalizer is displayed
|
||||
in video stream.
|
||||
|
||||
@item size
|
||||
Set video stream size. Only useful if curves option is activated.
|
||||
|
||||
@item mgain
|
||||
Set max gain that will be displayed. Only useful if curves option is activated.
|
||||
Setting this to reasonable value allows to display gain which is derived from
|
||||
neighbour bands which are too close to each other and thus produce higher gain
|
||||
when both are activated.
|
||||
|
||||
@item fscale
|
||||
Set frequency scale used to draw frequency response in video output.
|
||||
Can be linear or logarithmic. Default is logarithmic.
|
||||
|
||||
@item colors
|
||||
Set color for each channel curve which is going to be displayed in video stream.
|
||||
This is list of color names separated by space or by '|'.
|
||||
Unrecognised or missing colors will be replaced by white color.
|
||||
@end table
|
||||
|
||||
@subsection Examples
|
||||
|
||||
@itemize
|
||||
@item
|
||||
Lower gain by 10 of central frequency 200Hz and width 100 Hz
|
||||
for first 2 channels using Chebyshev type 1 filter:
|
||||
@example
|
||||
anequalizer=c0 f=200 w=100 g=-10 t=1|c1 f=200 w=100 g=-10 t=1
|
||||
@end example
|
||||
@end itemize
|
||||
|
||||
@subsection Commands
|
||||
|
||||
This filter supports the following commands:
|
||||
@table @option
|
||||
@item change
|
||||
Alter existing filter parameters.
|
||||
Syntax for the commands is : "@var{fN}|f=@var{freq}|w=@var{width}|g=@var{gain}"
|
||||
|
||||
@var{fN} is existing filter number, starting from 0, if no such filter is available
|
||||
error is returned.
|
||||
@var{freq} set new frequency parameter.
|
||||
@var{width} set new width parameter in herz.
|
||||
@var{gain} set new gain parameter in dB.
|
||||
|
||||
Full filter invocation with asendcmd may look like this:
|
||||
asendcmd=c='4.0 anequalizer change 0|f=200|w=50|g=1',anequalizer=...
|
||||
@end table
|
||||
|
||||
@section anull
|
||||
|
||||
Pass the audio source unchanged to the output.
|
||||
|
Reference in New Issue
Block a user