|
FFmpeg
|
different IIR filters implementation More...
Go to the source code of this file.
Data Structures | |
| struct | FFIIRFilterCoeffs |
| IIR filter global parameters. More... | |
| struct | FFIIRFilterState |
| IIR filter state. More... | |
Macros | |
| #define | MAXORDER 30 |
| maximum supported filter order | |
| #define | CONV_S16(dest, source) dest = av_clip_int16(lrintf(source)); |
| #define | CONV_FLT(dest, source) dest = source; |
| #define | FILTER_BW_O4_1(i0, i1, i2, i3, fmt) |
| #define | FILTER_BW_O4(type, fmt) |
| #define | FILTER_DIRECT_FORM_II(type, fmt) |
| #define | FILTER_O2(type, fmt) |
Functions | |
| static int | butterworth_init_coeffs (void *avc, struct FFIIRFilterCoeffs *c, enum IIRFilterMode filt_mode, int order, float cutoff_ratio, float stopband) |
| static int | biquad_init_coeffs (void *avc, struct FFIIRFilterCoeffs *c, enum IIRFilterMode filt_mode, int order, float cutoff_ratio, float stopband) |
| av_cold struct FFIIRFilterCoeffs * | ff_iir_filter_init_coeffs (void *avc, enum IIRFilterType filt_type, enum IIRFilterMode filt_mode, int order, float cutoff_ratio, float stopband, float ripple) |
| Initialize filter coefficients. | |
| av_cold struct FFIIRFilterState * | ff_iir_filter_init_state (int order) |
| Create new filter state. | |
| void | ff_iir_filter (const struct FFIIRFilterCoeffs *c, struct FFIIRFilterState *s, int size, const int16_t *src, int sstep, int16_t *dst, int dstep) |
| Perform IIR filtering on signed 16-bit input samples. | |
| void | ff_iir_filter_flt (const struct FFIIRFilterCoeffs *c, struct FFIIRFilterState *s, int size, const float *src, int sstep, float *dst, int dstep) |
| Perform IIR filtering on floating-point input samples. | |
| av_cold void | ff_iir_filter_free_state (struct FFIIRFilterState *state) |
| Free filter state. | |
| av_cold void | ff_iir_filter_free_coeffs (struct FFIIRFilterCoeffs *coeffs) |
| Free filter coefficients. | |
different IIR filters implementation
Definition in file iirfilter.c.
| #define MAXORDER 30 |
maximum supported filter order
Definition at line 49 of file iirfilter.c.
Referenced by butterworth_init_coeffs(), and ff_iir_filter_init_coeffs().
| #define CONV_S16 | ( | dest, | |
| source | |||
| ) | dest = av_clip_int16(lrintf(source)); |
Definition at line 207 of file iirfilter.c.
| #define CONV_FLT | ( | dest, | |
| source | |||
| ) | dest = source; |
Definition at line 209 of file iirfilter.c.
| #define FILTER_BW_O4_1 | ( | i0, | |
| i1, | |||
| i2, | |||
| i3, | |||
| fmt | |||
| ) |
Definition at line 211 of file iirfilter.c.
| #define FILTER_BW_O4 | ( | type, | |
| fmt | |||
| ) |
Definition at line 223 of file iirfilter.c.
Referenced by ff_iir_filter(), and ff_iir_filter_flt().
| #define FILTER_DIRECT_FORM_II | ( | type, | |
| fmt | |||
| ) |
Definition at line 236 of file iirfilter.c.
Referenced by ff_iir_filter(), and ff_iir_filter_flt().
| #define FILTER_O2 | ( | type, | |
| fmt | |||
| ) |
Definition at line 258 of file iirfilter.c.
Referenced by ff_iir_filter(), and ff_iir_filter_flt().
|
static |
Definition at line 51 of file iirfilter.c.
Referenced by ff_iir_filter_init_coeffs().
|
static |
Definition at line 116 of file iirfilter.c.
Referenced by ff_iir_filter_init_coeffs().
|
read |
Initialize filter coefficients.
| avc | a pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct |
| filt_type | filter type (e.g. Butterworth) |
| filt_mode | filter mode (e.g. lowpass) |
| order | filter order |
| cutoff_ratio | cutoff to input frequency ratio |
| stopband | stopband to input frequency ratio (used by bandpass and bandstop filter modes) |
| ripple | ripple factor (used only in Chebyshev filters) |
Definition at line 159 of file iirfilter.c.
Referenced by ff_psy_preprocess_init().
|
read |
Create new filter state.
| order | filter order |
Definition at line 201 of file iirfilter.c.
Referenced by ff_psy_preprocess_init().
| void ff_iir_filter | ( | const struct FFIIRFilterCoeffs * | coeffs, |
| struct FFIIRFilterState * | state, | ||
| int | size, | ||
| const int16_t * | src, | ||
| int | sstep, | ||
| int16_t * | dst, | ||
| int | dstep | ||
| ) |
Perform IIR filtering on signed 16-bit input samples.
| coeffs | pointer to filter coefficients |
| state | pointer to filter state |
| size | input length |
| src | source samples |
| sstep | source stride |
| dst | filtered samples (destination may be the same as input) |
| dstep | destination stride |
Definition at line 274 of file iirfilter.c.
| void ff_iir_filter_flt | ( | const struct FFIIRFilterCoeffs * | coeffs, |
| struct FFIIRFilterState * | state, | ||
| int | size, | ||
| const float * | src, | ||
| int | sstep, | ||
| float * | dst, | ||
| int | dstep | ||
| ) |
Perform IIR filtering on floating-point input samples.
| coeffs | pointer to filter coefficients |
| state | pointer to filter state |
| size | input length |
| src | source samples |
| sstep | source stride |
| dst | filtered samples (destination may be the same as input) |
| dstep | destination stride |
Definition at line 287 of file iirfilter.c.
Referenced by ff_psy_preprocess().
| av_cold void ff_iir_filter_free_state | ( | struct FFIIRFilterState * | state | ) |
Free filter state.
| state | pointer allocated with ff_iir_filter_init_state() |
Definition at line 300 of file iirfilter.c.
Referenced by ff_psy_preprocess_end().
| av_cold void ff_iir_filter_free_coeffs | ( | struct FFIIRFilterCoeffs * | coeffs | ) |
Free filter coefficients.
| coeffs | pointer allocated with ff_iir_filter_init_coeffs() |
Definition at line 305 of file iirfilter.c.
Referenced by ff_iir_filter_init_coeffs(), and ff_psy_preprocess_end().
1.8.2