OSDN Git Service

imc: Use correct position for flcoeffs2 calculation
authorAndreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Fri, 10 Jul 2015 19:59:32 +0000 (21:59 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Fri, 10 Jul 2015 21:13:30 +0000 (23:13 +0200)
flcoeffs2[pos] should be the log2 of flcoeffs1[pos].
flcoeffs1[0] can be 0 here, thus flcoeffs2[pos] gets set to -inf,
causing problems further down.

This seems to have been copied from imc_decode_level_coefficients in
commit 4eb4bb3 without updating the position.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
libavcodec/imc.c

index c60fc7a..b8c3bcd 100644 (file)
@@ -411,7 +411,7 @@ static void imc_decode_level_coefficients_raw(IMCContext *q, int *levlCoeffBuf,
 
     pos = q->coef0_pos;
     flcoeffs1[pos] = 20000.0 / pow (2, levlCoeffBuf[0] * 0.18945); // 0.18945 = log2(10) * 0.05703125
-    flcoeffs2[pos] = log2f(flcoeffs1[0]);
+    flcoeffs2[pos] = log2f(flcoeffs1[pos]);
     tmp  = flcoeffs1[pos];
     tmp2 = flcoeffs2[pos];