From 8aac5585fa7e50d899103efaa3aa4b2a774b16b4 Mon Sep 17 00:00:00 2001 From: Mohamed Naufal Basheer Date: Tue, 10 Jul 2012 19:58:39 +0200 Subject: Add a shift parameter to celp_lp_synthesis_filter() This is intended for reuse by the G.723.1 decoder Signed-off-by: Kostya Shishkov --- libavcodec/celp_filters.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libavcodec/celp_filters.c') diff --git a/libavcodec/celp_filters.c b/libavcodec/celp_filters.c index 849cda439e..4e5bcda79a 100644 --- a/libavcodec/celp_filters.c +++ b/libavcodec/celp_filters.c @@ -58,7 +58,7 @@ void ff_celp_circ_addf(float *out, const float *in, int ff_celp_lp_synthesis_filter(int16_t *out, const int16_t *filter_coeffs, const int16_t *in, int buffer_length, int filter_length, int stop_on_overflow, - int rounder) + int shift, int rounder) { int i,n; @@ -67,7 +67,7 @@ int ff_celp_lp_synthesis_filter(int16_t *out, const int16_t *filter_coeffs, for (i = 1; i <= filter_length; i++) sum -= filter_coeffs[i-1] * out[n-i]; - sum = (sum >> 12) + in[n]; + sum = ((sum >> 12) + in[n]) >> shift; if (sum + 0x8000 > 0xFFFFU) { if (stop_on_overflow) -- cgit v1.2.3