diff --git a/libavcodec/takdec.c b/libavcodec/takdec.c index 8df73115d8..e555482b23 100644 --- a/libavcodec/takdec.c +++ b/libavcodec/takdec.c @@ -483,7 +483,7 @@ static int decode_subframe(TAKDecContext *s, int32_t *decoded, int v = 1 << (filter_quant - 1); if (filter_order & -16) - v += s->adsp.scalarproduct_int16(&s->residues[i], s->filter, + v += (unsigned)s->adsp.scalarproduct_int16(&s->residues[i], s->filter, filter_order & -16); for (j = filter_order & -16; j < filter_order; j += 4) { v += s->residues[i + j + 3] * s->filter[j + 3] +