Fix selection of quant step table
authorBenjamin Larsson <banan@ludd.ltu.se>
Tue, 28 Oct 2008 14:50:46 +0000 (14:50 +0000)
committerBenjamin Larsson <banan@ludd.ltu.se>
Tue, 28 Oct 2008 14:50:46 +0000 (14:50 +0000)
Originally committed as revision 15734 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/dca.c

index aa89e84..f550483 100644 (file)
@@ -99,6 +99,7 @@ typedef struct {
     int amode;                  ///< audio channels arrangement
     int sample_rate;            ///< audio sampling rate
     int bit_rate;               ///< transmission bit rate
+    int bit_rate_index;         ///< transmission bit rate index
 
     int downmix;                ///< embedded downmix enabled
     int dynrange;               ///< embedded dynamic range flag
@@ -247,7 +248,8 @@ static int dca_parse_frame_header(DCAContext * s)
     s->sample_rate       = dca_sample_rates[get_bits(&s->gb, 4)];
     if (!s->sample_rate)
         return -1;
-    s->bit_rate          = dca_bit_rates[get_bits(&s->gb, 5)];
+    s->bit_rate_index;   = get_bits(&s->gb, 5);
+    s->bit_rate          = dca_bit_rates[s->bit_rate_index];
     if (!s->bit_rate)
         return -1;
 
@@ -852,7 +854,7 @@ static int dca_subsubframe(DCAContext * s)
      */
 
     /* Select quantization step size table */
-    if (s->bit_rate == 0x1f)
+    if (s->bit_rate_index == 0x1f)
         quant_step_table = lossless_quant_d;
     else
         quant_step_table = lossy_quant_d;