diff dca.c @ 8077:574a0dcc4488 libavcodec

Fix selection of quant step table
author banan
date Tue, 28 Oct 2008 14:50:46 +0000
parents 6bc70b15451d
children c23f2088d7c0
line wrap: on
line diff
--- a/dca.c	Tue Oct 28 14:43:06 2008 +0000
+++ b/dca.c	Tue Oct 28 14:50:46 2008 +0000
@@ -99,6 +99,7 @@
     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 @@
     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 @@
      */
 
     /* 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;