diff options
author | Mohamed Naufal Basheer <naufal11@gmail.com> | 2011-03-17 23:56:47 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-09-29 21:43:52 +0200 |
commit | bcc67dffa0e40602f2ce3240e831db173fe939a1 (patch) | |
tree | 32865bcfde10c4556f7faf2cb1bf5adcb5b6f364 /libavcodec/celp_filters.c | |
parent | ecf31a68fd0d30178d7b6e1b663d5c40b88c4551 (diff) | |
download | ffmpeg-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.c | 4 |
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) |