summaryrefslogtreecommitdiff
path: root/libavcodec/iirfilter.h
diff options
context:
space:
mode:
authorBojan Zivkovic <bojan@mips.com>2013-03-06 14:55:06 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-03-20 12:44:32 +0100
commit7d29c6eebc428741004071f7a92ea37d8d1d2cce (patch)
treee4b09858dac4c966b304b00db59bcc802fdc0ef2 /libavcodec/iirfilter.h
parent26f3924d782b6081ba76fd42c4d35af6ce8cde36 (diff)
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.h23
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.
*