Commit 3e0c78ba authored by Michael Niedermayer's avatar Michael Niedermayer

avcodec/imc: Check flcoeffs5

Fixes infinite loop
Fixes Ticket2996
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent c2d19430
......@@ -451,8 +451,13 @@ static int bit_allocation(IMCContext *q, IMCChannel *chctx,
for (i = 0; i < BANDS; i++)
highest = FFMAX(highest, chctx->flcoeffs1[i]);
for (i = 0; i < BANDS - 1; i++)
for (i = 0; i < BANDS - 1; i++) {
if (chctx->flcoeffs5[i] <= 0) {
av_log(NULL, AV_LOG_ERROR, "flcoeffs5 %f invalid\n", chctx->flcoeffs5[i]);
return AVERROR_INVALIDDATA;
}
chctx->flcoeffs4[i] = chctx->flcoeffs3[i] - log2f(chctx->flcoeffs5[i]);
}
chctx->flcoeffs4[BANDS - 1] = limit;
highest = highest * 0.25;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment