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