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 More... | |
#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) |
Typedefs | |
typedef struct FFIIRFilterCoeffs | FFIIRFilterCoeffs |
IIR filter global parameters. More... | |
typedef struct FFIIRFilterState | FFIIRFilterState |
IIR filter state. More... | |
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. More... | |
av_cold struct FFIIRFilterState * | ff_iir_filter_init_state (int order) |
Create new filter state. More... | |
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. More... | |
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. More... | |
av_cold void | ff_iir_filter_free_state (struct FFIIRFilterState *state) |
Free filter state. More... | |
av_cold void | ff_iir_filter_free_coeffs (struct FFIIRFilterCoeffs *coeffs) |
Free filter coefficients. More... | |
void | ff_iir_filter_init (FFIIRFilterContext *f) |
Initialize FFIIRFilterContext. More... | |
Detailed Description
different IIR filters implementation
Definition in file iirfilter.c.
Macro Definition Documentation
#define CONV_FLT | ( | dest, | |
source | |||
) | dest = source; |
Definition at line 209 of file iirfilter.c.
#define CONV_S16 | ( | dest, | |
source | |||
) | dest = av_clip_int16(lrintf(source)); |
Definition at line 207 of file iirfilter.c.
Definition at line 223 of file iirfilter.c.
Referenced by ff_iir_filter(), and ff_iir_filter_flt().
#define FILTER_BW_O4_1 | ( | i0, | |
i1, | |||
i2, | |||
i3, | |||
fmt | |||
) |
Definition at line 211 of file iirfilter.c.
Definition at line 236 of file iirfilter.c.
Referenced by ff_iir_filter(), and ff_iir_filter_flt().
Definition at line 258 of file iirfilter.c.
Referenced by ff_iir_filter(), and ff_iir_filter_flt().
#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().
Typedef Documentation
typedef struct FFIIRFilterCoeffs FFIIRFilterCoeffs |
IIR filter global parameters.
typedef struct FFIIRFilterState FFIIRFilterState |
IIR filter state.
Function Documentation
|
static |
Definition at line 116 of file iirfilter.c.
Referenced by ff_iir_filter_init_coeffs().
|
static |
Definition at line 51 of file iirfilter.c.
Referenced by ff_iir_filter_init_coeffs().
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.
- Parameters
-
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.
Referenced by ff_iir_filter_init().
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.
- Parameters
-
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_iir_filter_init().
av_cold void ff_iir_filter_free_coeffs | ( | struct FFIIRFilterCoeffs * | coeffs | ) |
Free filter coefficients.
- Parameters
-
coeffs pointer allocated with ff_iir_filter_init_coeffs()
Definition at line 305 of file iirfilter.c.
Referenced by ff_iir_filter_init(), ff_iir_filter_init_coeffs(), and ff_psy_preprocess_end().
av_cold void ff_iir_filter_free_state | ( | struct FFIIRFilterState * | state | ) |
Free filter state.
- Parameters
-
state pointer allocated with ff_iir_filter_init_state()
Definition at line 300 of file iirfilter.c.
Referenced by ff_iir_filter_init(), and ff_psy_preprocess_end().
void ff_iir_filter_init | ( | FFIIRFilterContext * | f | ) |
Initialize FFIIRFilterContext.
Definition at line 314 of file iirfilter.c.
Referenced by ff_psy_preprocess_init().
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.
- Parameters
-
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)
- Returns
- pointer to filter coefficients structure or NULL if filter cannot be created
Definition at line 159 of file iirfilter.c.
Referenced by ff_iir_filter_init(), and ff_psy_preprocess_init().
av_cold struct FFIIRFilterState* ff_iir_filter_init_state | ( | int | order | ) |
Create new filter state.
- Parameters
-
order filter order
- Returns
- pointer to new filter state or NULL if state creation fails
Definition at line 201 of file iirfilter.c.
Referenced by ff_iir_filter_init(), and ff_psy_preprocess_init().
Generated on Fri Dec 20 2024 06:56:13 for FFmpeg by 1.8.11