FFmpeg
Classes | Typedefs | Enumerations | Functions
iirfilter.h File Reference

IIR filter interface. More...

#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Classes

struct  FFIIRFilterContext
 

Typedefs

typedef struct FFIIRFilterContext FFIIRFilterContext
 

Enumerations

enum  IIRFilterType {
  FF_FILTER_TYPE_BESSEL, FF_FILTER_TYPE_BIQUAD, FF_FILTER_TYPE_BUTTERWORTH, FF_FILTER_TYPE_CHEBYSHEV,
  FF_FILTER_TYPE_ELLIPTIC
}
 
enum  IIRFilterMode { FF_FILTER_MODE_LOWPASS, FF_FILTER_MODE_HIGHPASS, FF_FILTER_MODE_BANDPASS, FF_FILTER_MODE_BANDSTOP }
 

Functions

void ff_iir_filter_init (FFIIRFilterContext *f)
 Initialize FFIIRFilterContext.
 
void ff_iir_filter_init_mips (FFIIRFilterContext *f)
 
struct FFIIRFilterCoeffsff_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...
 
struct FFIIRFilterStateff_iir_filter_init_state (int order)
 Create new filter state. More...
 
void ff_iir_filter_free_coeffsp (struct FFIIRFilterCoeffs **coeffs)
 Free filter coefficients. More...
 
void ff_iir_filter_free_statep (struct FFIIRFilterState **state)
 Free and zero filter state. More...
 
void ff_iir_filter (const struct FFIIRFilterCoeffs *coeffs, struct FFIIRFilterState *state, int size, const int16_t *src, ptrdiff_t sstep, int16_t *dst, ptrdiff_t dstep)
 Perform IIR filtering on signed 16-bit input samples. More...
 
void ff_iir_filter_flt (const struct FFIIRFilterCoeffs *coeffs, struct FFIIRFilterState *state, int size, const float *src, ptrdiff_t sstep, float *dst, ptrdiff_t dstep)
 Perform IIR filtering on floating-point input samples. More...
 

Detailed Description

IIR filter interface.

Function Documentation

§ ff_iir_filter()

void ff_iir_filter ( const struct FFIIRFilterCoeffs coeffs,
struct FFIIRFilterState state,
int  size,
const int16_t *  src,
ptrdiff_t  sstep,
int16_t *  dst,
ptrdiff_t  dstep 
)

Perform IIR filtering on signed 16-bit input samples.

Parameters
coeffspointer to filter coefficients
statepointer to filter state
sizeinput length
srcsource samples
sstepsource stride
dstfiltered samples (destination may be the same as input)
dstepdestination stride

§ ff_iir_filter_flt()

void ff_iir_filter_flt ( const struct FFIIRFilterCoeffs coeffs,
struct FFIIRFilterState state,
int  size,
const float *  src,
ptrdiff_t  sstep,
float *  dst,
ptrdiff_t  dstep 
)

Perform IIR filtering on floating-point input samples.

Parameters
coeffspointer to filter coefficients
statepointer to filter state
sizeinput length
srcsource samples
sstepsource stride
dstfiltered samples (destination may be the same as input)
dstepdestination stride

§ ff_iir_filter_free_coeffsp()

void ff_iir_filter_free_coeffsp ( struct FFIIRFilterCoeffs **  coeffs)

Free filter coefficients.

Parameters
coeffspointer allocated with ff_iir_filter_init_coeffs()

§ ff_iir_filter_free_statep()

void ff_iir_filter_free_statep ( struct FFIIRFilterState **  state)

Free and zero filter state.

Parameters
statepointer to pointer allocated with ff_iir_filter_init_state()

§ ff_iir_filter_init_coeffs()

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
avca pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct
filt_typefilter type (e.g. Butterworth)
filt_modefilter mode (e.g. lowpass)
orderfilter order
cutoff_ratiocutoff to input frequency ratio
stopbandstopband to input frequency ratio (used by bandpass and bandstop filter modes)
rippleripple factor (used only in Chebyshev filters)
Returns
pointer to filter coefficients structure or NULL if filter cannot be created

§ ff_iir_filter_init_state()

struct FFIIRFilterState* ff_iir_filter_init_state ( int  order)

Create new filter state.

Parameters
orderfilter order
Returns
pointer to new filter state or NULL if state creation fails