diff --git a/libavcodec/ra144.c b/libavcodec/ra144.c index 2af76133dfe777d90e7c1fc30aabca357591b67f..bd91c638b8347b25ecbe8605ae603a2e050301cd 100644 --- a/libavcodec/ra144.c +++ b/libavcodec/ra144.c @@ -236,15 +236,15 @@ static int eval_refl(int *refl, const int16_t *coefs, RA144Context *ractx) for (i=0; i < 10; i++) buffer2[i] = coefs[i]; - u = refl[9] = bp2[9]; + refl[9] = bp2[9]; - if (u + 0x1000 > 0x1fff) { + if ((unsigned) bp2[9] + 0x1000 > 0x1fff) { av_log(ractx, AV_LOG_ERROR, "Overflow. Broken sample?\n"); return 1; } for (c=8; c >= 0; c--) { - b = 0x1000-((u * u) >> 12); + b = 0x1000-((bp2[c+1] * bp2[c+1]) >> 12); if (!b) b = -2; @@ -252,9 +252,9 @@ static int eval_refl(int *refl, const int16_t *coefs, RA144Context *ractx) for (u=0; u<=c; u++) bp1[u] = ((bp2[u] - ((refl[c+1] * bp2[c-u]) >> 12)) * (0x1000000 / b)) >> 12; - refl[c] = u = bp1[c]; + refl[c] = bp1[c]; - if ((u + 0x1000) > 0x1fff) + if ((unsigned) bp1[c] + 0x1000 > 0x1fff) return 1; FFSWAP(int *, bp1, bp2);