Mercurial > libavcodec.hg
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 */