OSDN Git Service

Use quantizer value read from bitstream
authorMashiat Sarker Shakkhar <shahriman_ams@yahoo.com>
Sun, 1 Jan 2012 08:32:10 +0000 (14:32 +0600)
committerMashiat Sarker Shakkhar <shahriman_ams@yahoo.com>
Sun, 1 Jan 2012 08:32:40 +0000 (14:32 +0600)
Currently the code initializes quantizer even
before reading it from bitstream and uses that
to dequantize samples.

libavcodec/wmalosslessdec.c

index da8bb59..ce845f1 100644 (file)
@@ -1067,7 +1067,6 @@ static int decode_subframe(WmallDecodeCtx *s)
     int total_samples   = s->samples_per_frame * s->num_channels;
     int rawpcm_tile;
     int padding_zeroes;
-    int quant_stepsize = s->quant_stepsize;
 
     s->subframe_offset = get_bits_count(&s->gb);
 
@@ -1194,9 +1193,10 @@ static int decode_subframe(WmallDecodeCtx *s)
         revert_acfilter(s, subframe_len);
 
     /* Dequantize */
-    for (i = 0; i < s->num_channels; i++)
-        for (j = 0; j < subframe_len; j++)
-            s->channel_residues[i][j] *= quant_stepsize;
+    if (s->quant_stepsize != 1)
+        for (i = 0; i < s->num_channels; i++)
+            for (j = 0; j < subframe_len; j++)
+                s->channel_residues[i][j] *= s->quant_stepsize;
 
     /** handled one subframe */