cngdec: Make the dbov variable have the right unit
authorMartin Storsjö <martin@martin.st>
Tue, 30 Oct 2012 09:56:54 +0000 (11:56 +0200)
committerMartin Storsjö <martin@martin.st>
Tue, 30 Oct 2012 14:51:21 +0000 (16:51 +0200)
Previously the unit of the variable was Bov, not dBov.

Signed-off-by: Martin Storsjö <martin@martin.st>
libavcodec/cngdec.c

index c05bfd9..fca4b9e 100644 (file)
@@ -106,8 +106,8 @@ static int cng_decode_frame(AVCodecContext *avctx, void *data,
     float scaling;
 
     if (avpkt->size) {
-        float dbov = -avpkt->data[0] / 10.0;
-        p->target_energy = 1081109975 * pow(10, dbov) * 0.75;
+        int dbov = -avpkt->data[0];
+        p->target_energy = 1081109975 * pow(10, dbov / 10.0) * 0.75;
         memset(p->target_refl_coef, 0, p->order * sizeof(*p->target_refl_coef));
         for (i = 0; i < FFMIN(avpkt->size - 1, p->order); i++) {
             p->target_refl_coef[i] = (avpkt->data[1 + i] - 127) / 128.0;