diff acelp_filters.h @ 10057:cfb009484d2d libavcodec

Add a function that can apply an order 2 rational transfer function in-place. This function will be used in the upcoming AMR-NB floating point decoder for high-pass filtering. Patch by Colin McQuillan ( m.niloc googlemail com )
author superdump
date Sat, 15 Aug 2009 11:22:55 +0000
parents 05ea4942df9b
children 9f35b262d3f0
line wrap: on
line diff
--- a/acelp_filters.h	Sat Aug 15 11:12:47 2009 +0000
+++ b/acelp_filters.h	Sat Aug 15 11:22:55 2009 +0000
@@ -81,4 +81,20 @@
 void ff_acelp_high_pass_filter(int16_t* out, int hpf_f[2],
                                const int16_t* in, int length);
 
+/**
+ * Apply an order 2 rational transfer function in-place.
+ *
+ * @param samples [in/out]
+ * @param zero_coeffs z^-1 and z^-2 coefficients of the numerator
+ * @param pole_coeffs z^-1 and z^-2 coefficients of the denominator
+ * @param gain scale factor for final output
+ * @param mem intermediate values used by filter (should be 0 initially)
+ * @param n number of samples
+ */
+void ff_acelp_apply_order_2_transfer_function(float *samples,
+                                              const float zero_coeffs[2],
+                                              const float pole_coeffs[2],
+                                              float gain,
+                                              float mem[2], int n);
+
 #endif /* AVCODEC_ACELP_FILTERS_H */