comparison 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
comparison
equal deleted inserted replaced
8076:b33be95359db 8077:574a0dcc4488
97 int sample_blocks; ///< number of PCM sample blocks 97 int sample_blocks; ///< number of PCM sample blocks
98 int frame_size; ///< primary frame byte size 98 int frame_size; ///< primary frame byte size
99 int amode; ///< audio channels arrangement 99 int amode; ///< audio channels arrangement
100 int sample_rate; ///< audio sampling rate 100 int sample_rate; ///< audio sampling rate
101 int bit_rate; ///< transmission bit rate 101 int bit_rate; ///< transmission bit rate
102 int bit_rate_index; ///< transmission bit rate index
102 103
103 int downmix; ///< embedded downmix enabled 104 int downmix; ///< embedded downmix enabled
104 int dynrange; ///< embedded dynamic range flag 105 int dynrange; ///< embedded dynamic range flag
105 int timestamp; ///< embedded time stamp flag 106 int timestamp; ///< embedded time stamp flag
106 int aux_data; ///< auxiliary data flag 107 int aux_data; ///< auxiliary data flag
245 return -1; 246 return -1;
246 s->amode = get_bits(&s->gb, 6); 247 s->amode = get_bits(&s->gb, 6);
247 s->sample_rate = dca_sample_rates[get_bits(&s->gb, 4)]; 248 s->sample_rate = dca_sample_rates[get_bits(&s->gb, 4)];
248 if (!s->sample_rate) 249 if (!s->sample_rate)
249 return -1; 250 return -1;
250 s->bit_rate = dca_bit_rates[get_bits(&s->gb, 5)]; 251 s->bit_rate_index; = get_bits(&s->gb, 5);
252 s->bit_rate = dca_bit_rates[s->bit_rate_index];
251 if (!s->bit_rate) 253 if (!s->bit_rate)
252 return -1; 254 return -1;
253 255
254 s->downmix = get_bits(&s->gb, 1); 256 s->downmix = get_bits(&s->gb, 1);
255 s->dynrange = get_bits(&s->gb, 1); 257 s->dynrange = get_bits(&s->gb, 1);
850 /* 852 /*
851 * Audio data 853 * Audio data
852 */ 854 */
853 855
854 /* Select quantization step size table */ 856 /* Select quantization step size table */
855 if (s->bit_rate == 0x1f) 857 if (s->bit_rate_index == 0x1f)
856 quant_step_table = lossless_quant_d; 858 quant_step_table = lossless_quant_d;
857 else 859 else
858 quant_step_table = lossy_quant_d; 860 quant_step_table = lossy_quant_d;
859 861
860 for (k = 0; k < s->prim_channels; k++) { 862 for (k = 0; k < s->prim_channels; k++) {