X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fcelp_filters.c;h=40ff7427df30915c2cccd9db32df937224ea0e23;hb=e625ae609206e0550ff733965c6f5447579320aa;hp=fafedd99a35d178968599c5cca4b6faf84e5aa08;hpb=409e684e79b6ee0c511292326f09b13fe230e58e;p=ffmpeg diff --git a/libavcodec/celp_filters.c b/libavcodec/celp_filters.c index fafedd99a35..40ff7427df3 100644 --- a/libavcodec/celp_filters.c +++ b/libavcodec/celp_filters.c @@ -65,11 +65,11 @@ int ff_celp_lp_synthesis_filter(int16_t *out, const int16_t *filter_coeffs, int i,n; for (n = 0; n < buffer_length; n++) { - int sum = -rounder, sum1; + int sum = rounder, sum1; for (i = 1; i <= filter_length; i++) - sum += (unsigned)(filter_coeffs[i-1] * out[n-i]); + sum -= (unsigned)(filter_coeffs[i-1] * out[n-i]); - sum1 = ((-sum >> 12) + in[n]) >> shift; + sum1 = ((sum >> 12) + in[n]) >> shift; sum = av_clip_int16(sum1); if (stop_on_overflow && sum != sum1)