]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
Fix selection of quant step table
authorbanan <banan@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Tue, 28 Oct 2008 14:50:46 +0000 (14:50 +0000)
committerbanan <banan@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Tue, 28 Oct 2008 14:50:46 +0000 (14:50 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@15734 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavcodec/dca.c

index aa89e848b5b7739e74bab90e4168e77940046022..f550483f4779a5cb968fc9bd855a6896c6825f63 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;