summaryrefslogtreecommitdiff
path: root/libavcodec/celp_filters.c
diff options
context:
space:
mode:
authorMohamed Naufal Basheer <naufal11@gmail.com>2011-03-17 23:56:47 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-09-29 21:43:52 +0200
commitbcc67dffa0e40602f2ce3240e831db173fe939a1 (patch)
tree32865bcfde10c4556f7faf2cb1bf5adcb5b6f364 /libavcodec/celp_filters.c
parentecf31a68fd0d30178d7b6e1b663d5c40b88c4551 (diff)
downloadffmpeg-bcc67dffa0e40602f2ce3240e831db173fe939a1.tar.gz
Add a shift parameter to celp_lp_synthesis_filter for reuse by the G.723.1 decoder
Diffstat (limited to 'libavcodec/celp_filters.c')
-rw-r--r--libavcodec/celp_filters.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/celp_filters.c b/libavcodec/celp_filters.c
index 8b68c2ffef..1535060c9d 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)