diff options
author | Bojan Zivkovic <bojan@mips.com> | 2013-03-06 14:55:06 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-03-20 12:44:32 +0100 |
commit | 7d29c6eebc428741004071f7a92ea37d8d1d2cce (patch) | |
tree | e4b09858dac4c966b304b00db59bcc802fdc0ef2 /libavcodec/iirfilter.h | |
parent | 26f3924d782b6081ba76fd42c4d35af6ce8cde36 (diff) | |
download | ffmpeg-7d29c6eebc428741004071f7a92ea37d8d1d2cce.tar.gz |
mips: Optimization of IIR filter function
Signed-off-by: Bojan Zivkovic <bojan@mips.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/iirfilter.h')
-rw-r--r-- | libavcodec/iirfilter.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/libavcodec/iirfilter.h b/libavcodec/iirfilter.h index b29e035811..4ea6642215 100644 --- a/libavcodec/iirfilter.h +++ b/libavcodec/iirfilter.h @@ -47,6 +47,29 @@ enum IIRFilterMode{ FF_FILTER_MODE_BANDSTOP, }; +typedef struct FFIIRFilterContext { + /** + * Perform IIR filtering on floating-point input samples. + * + * @param coeffs pointer to filter coefficients + * @param state pointer to filter state + * @param size input length + * @param src source samples + * @param sstep source stride + * @param dst filtered samples (destination may be the same as input) + * @param dstep destination stride + */ + void (*filter_flt)(const struct FFIIRFilterCoeffs *coeffs, + struct FFIIRFilterState *state, int size, + const float *src, int sstep, float *dst, int dstep); +} FFIIRFilterContext; + +/** + * Initialize FFIIRFilterContext + */ +void ff_iir_filter_init(FFIIRFilterContext *f); +void ff_iir_filter_init_mips(FFIIRFilterContext *f); + /** * Initialize filter coefficients. * |