From d347a046e24aac9fae1228f773b4fa68012a910d Mon Sep 17 00:00:00 2001 From: Vladimir Voroshilov Date: Sat, 24 May 2008 17:18:42 +0000 Subject: Move pitch vector interpolation code to acelp_filters and convert it to a generic interpolation routine. Originally committed as revision 13284 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/acelp_filters.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) (limited to 'libavcodec/acelp_filters.c') diff --git a/libavcodec/acelp_filters.c b/libavcodec/acelp_filters.c index 7e33a674f1..2aedbddab3 100644 --- a/libavcodec/acelp_filters.c +++ b/libavcodec/acelp_filters.c @@ -27,6 +27,60 @@ #define FRAC_BITS 13 #include "mathops.h" +const int16_t ff_acelp_interp_filter[61] = +{ /* (0.15) */ + 29443, 28346, 25207, 20449, 14701, 8693, + 3143, -1352, -4402, -5865, -5850, -4673, + -2783, -672, 1211, 2536, 3130, 2991, + 2259, 1170, 0, -1001, -1652, -1868, + -1666, -1147, -464, 218, 756, 1060, + 1099, 904, 550, 135, -245, -514, + -634, -602, -451, -231, 0, 191, + 308, 340, 296, 198, 78, -36, + -120, -163, -165, -132, -79, -19, + 34, 73, 91, 89, 70, 38, + 0, +}; + +void ff_acelp_interpolate( + int16_t* out, + const int16_t* in, + const int16_t* filter_coeffs, + int precision, + int pitch_delay_frac, + int filter_length, + int length) +{ + int n, i; + + assert(pitch_delay_frac >= 0 && pitch_delay_frac < precision); + + for(n=0; n> 15); + } +} + void ff_acelp_convolve_circ( int16_t* fc_out, const int16_t* fc_in, -- cgit v1.2.3