summaryrefslogtreecommitdiff
path: root/libavcodec/iirfilter.h
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2011-01-20 17:24:06 +0000
committerMichael Niedermayer <michaelni@gmx.at>2011-01-21 20:36:00 +0100
commitb3b8b930fcff07650315f1cf2e2db7021ecf6025 (patch)
tree953f022309e9675b4de6a86230115e176ccb985b /libavcodec/iirfilter.h
parent236bb68d76fb28133883b8c8ba8cd23016a8efde (diff)
Add function ff_iir_filter_flt() to accept floating-point input and output.
Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit 0a3d7697b4fcb62305cd4a893b621a406a029ff0)
Diffstat (limited to 'libavcodec/iirfilter.h')
-rw-r--r--libavcodec/iirfilter.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/libavcodec/iirfilter.h b/libavcodec/iirfilter.h
index f660955403..fd26166862 100644
--- a/libavcodec/iirfilter.h
+++ b/libavcodec/iirfilter.h
@@ -87,7 +87,7 @@ void ff_iir_filter_free_coeffs(struct FFIIRFilterCoeffs *coeffs);
void ff_iir_filter_free_state(struct FFIIRFilterState *state);
/**
- * Perform lowpass filtering on input samples.
+ * Perform IIR filtering on signed 16-bit input samples.
*
* @param coeffs pointer to filter coefficients
* @param state pointer to filter state
@@ -100,4 +100,19 @@ void ff_iir_filter_free_state(struct FFIIRFilterState *state);
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 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 ff_iir_filter_flt(const struct FFIIRFilterCoeffs *coeffs,
+ struct FFIIRFilterState *state, int size,
+ const float *src, int sstep, void *dst, int dstep);
+
#endif /* AVCODEC_IIRFILTER_H */