X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fcelp_filters.c;h=40ff7427df30915c2cccd9db32df937224ea0e23;hb=e27466d7e59f0a485f3720f33cd9c54d69fff138;hp=fafedd99a35d178968599c5cca4b6faf84e5aa08;hpb=8e789d244cc946bc350672eeb02453918b21a09f;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)