summaryrefslogtreecommitdiff
path: root/libavcodec/iirfilter.h
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2011-01-20 17:24:06 +0000
committerMans Rullgard <mans@mansr.com>2011-01-20 17:26:13 +0000
commit0a3d7697b4fcb62305cd4a893b621a406a029ff0 (patch)
tree0020bd50fb288466741ee51c0b94d23f244acdcc /libavcodec/iirfilter.h
parente5fe65512bfc824b9827ed29909a54122582ef2a (diff)
Add function ff_iir_filter_flt() to accept floating-point input and output.
Signed-off-by: Mans Rullgard <mans@mansr.com>
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 */