diff --git a/libavcodec/celp_filters.c b/libavcodec/celp_filters.c index a81fd8831b..fafedd99a3 100644 --- a/libavcodec/celp_filters.c +++ b/libavcodec/celp_filters.c @@ -67,7 +67,7 @@ int ff_celp_lp_synthesis_filter(int16_t *out, const int16_t *filter_coeffs, for (n = 0; n < buffer_length; n++) { int sum = -rounder, sum1; for (i = 1; i <= filter_length; i++) - sum += filter_coeffs[i-1] * out[n-i]; + sum += (unsigned)(filter_coeffs[i-1] * out[n-i]); sum1 = ((-sum >> 12) + in[n]) >> shift; sum = av_clip_int16(sum1);