comparison mpegaudiodec.c @ 5032:d47ee2d1d7da libavcodec

add proper prefix to extern mpeg audio data tables
author aurel
date Sat, 19 May 2007 00:13:35 +0000
parents 70f194a2ee53
children a5f6fbc9fa66
comparison
equal deleted inserted replaced
5031:70f194a2ee53 5032:d47ee2d1d7da
823 int i; 823 int i;
824 824
825 /* max = 18760, max sum over all 16 coefs : 44736 */ 825 /* max = 18760, max sum over all 16 coefs : 44736 */
826 for(i=0;i<257;i++) { 826 for(i=0;i<257;i++) {
827 int v; 827 int v;
828 v = mpa_enwindow[i]; 828 v = ff_mpa_enwindow[i];
829 #if WFRAC_BITS < 16 829 #if WFRAC_BITS < 16
830 v = (v + (1 << (16 - WFRAC_BITS - 1))) >> (16 - WFRAC_BITS); 830 v = (v + (1 << (16 - WFRAC_BITS - 1))) >> (16 - WFRAC_BITS);
831 #endif 831 #endif
832 window[i] = v; 832 window[i] = v;
833 if ((i & 63) != 0) 833 if ((i & 63) != 0)
1123 } 1123 }
1124 1124
1125 s->layer = 4 - ((header >> 17) & 3); 1125 s->layer = 4 - ((header >> 17) & 3);
1126 /* extract frequency */ 1126 /* extract frequency */
1127 sample_rate_index = (header >> 10) & 3; 1127 sample_rate_index = (header >> 10) & 3;
1128 sample_rate = mpa_freq_tab[sample_rate_index] >> (s->lsf + mpeg25); 1128 sample_rate = ff_mpa_freq_tab[sample_rate_index] >> (s->lsf + mpeg25);
1129 sample_rate_index += 3 * (s->lsf + mpeg25); 1129 sample_rate_index += 3 * (s->lsf + mpeg25);
1130 s->sample_rate_index = sample_rate_index; 1130 s->sample_rate_index = sample_rate_index;
1131 s->error_protection = ((header >> 16) & 1) ^ 1; 1131 s->error_protection = ((header >> 16) & 1) ^ 1;
1132 s->sample_rate = sample_rate; 1132 s->sample_rate = sample_rate;
1133 1133
1144 s->nb_channels = 1; 1144 s->nb_channels = 1;
1145 else 1145 else
1146 s->nb_channels = 2; 1146 s->nb_channels = 2;
1147 1147
1148 if (bitrate_index != 0) { 1148 if (bitrate_index != 0) {
1149 frame_size = mpa_bitrate_tab[s->lsf][s->layer - 1][bitrate_index]; 1149 frame_size = ff_mpa_bitrate_tab[s->lsf][s->layer - 1][bitrate_index];
1150 s->bit_rate = frame_size * 1000; 1150 s->bit_rate = frame_size * 1000;
1151 switch(s->layer) { 1151 switch(s->layer) {
1152 case 1: 1152 case 1:
1153 frame_size = (frame_size * 12000) / sample_rate; 1153 frame_size = (frame_size * 12000) / sample_rate;
1154 frame_size = (frame_size + padding) * 4; 1154 frame_size = (frame_size + padding) * 4;
1325 int scale, qindex, bits, steps, k, l, m, b; 1325 int scale, qindex, bits, steps, k, l, m, b;
1326 1326
1327 /* select decoding table */ 1327 /* select decoding table */
1328 table = l2_select_table(s->bit_rate / 1000, s->nb_channels, 1328 table = l2_select_table(s->bit_rate / 1000, s->nb_channels,
1329 s->sample_rate, s->lsf); 1329 s->sample_rate, s->lsf);
1330 sblimit = sblimit_table[table]; 1330 sblimit = ff_mpa_sblimit_table[table];
1331 alloc_table = alloc_tables[table]; 1331 alloc_table = ff_mpa_alloc_tables[table];
1332 1332
1333 if (s->mode == MPA_JSTEREO) 1333 if (s->mode == MPA_JSTEREO)
1334 bound = (s->mode_ext + 1) * 4; 1334 bound = (s->mode_ext + 1) * 4;
1335 else 1335 else
1336 bound = sblimit; 1336 bound = sblimit;
1430 for(ch=0;ch<s->nb_channels;ch++) { 1430 for(ch=0;ch<s->nb_channels;ch++) {
1431 b = bit_alloc[ch][i]; 1431 b = bit_alloc[ch][i];
1432 if (b) { 1432 if (b) {
1433 scale = scale_factors[ch][i][k]; 1433 scale = scale_factors[ch][i][k];
1434 qindex = alloc_table[j+b]; 1434 qindex = alloc_table[j+b];
1435 bits = quant_bits[qindex]; 1435 bits = ff_mpa_quant_bits[qindex];
1436 if (bits < 0) { 1436 if (bits < 0) {
1437 /* 3 values at the same time */ 1437 /* 3 values at the same time */
1438 v = get_bits(&s->gb, -bits); 1438 v = get_bits(&s->gb, -bits);
1439 steps = quant_steps[qindex]; 1439 steps = ff_mpa_quant_steps[qindex];
1440 s->sb_samples[ch][k * 12 + l + 0][i] = 1440 s->sb_samples[ch][k * 12 + l + 0][i] =
1441 l2_unscale_group(steps, v % steps, scale); 1441 l2_unscale_group(steps, v % steps, scale);
1442 v = v / steps; 1442 v = v / steps;
1443 s->sb_samples[ch][k * 12 + l + 1][i] = 1443 s->sb_samples[ch][k * 12 + l + 1][i] =
1444 l2_unscale_group(steps, v % steps, scale); 1444 l2_unscale_group(steps, v % steps, scale);
1468 if (b) { 1468 if (b) {
1469 int mant, scale0, scale1; 1469 int mant, scale0, scale1;
1470 scale0 = scale_factors[0][i][k]; 1470 scale0 = scale_factors[0][i][k];
1471 scale1 = scale_factors[1][i][k]; 1471 scale1 = scale_factors[1][i][k];
1472 qindex = alloc_table[j+b]; 1472 qindex = alloc_table[j+b];
1473 bits = quant_bits[qindex]; 1473 bits = ff_mpa_quant_bits[qindex];
1474 if (bits < 0) { 1474 if (bits < 0) {
1475 /* 3 values at the same time */ 1475 /* 3 values at the same time */
1476 v = get_bits(&s->gb, -bits); 1476 v = get_bits(&s->gb, -bits);
1477 steps = quant_steps[qindex]; 1477 steps = ff_mpa_quant_steps[qindex];
1478 mant = v % steps; 1478 mant = v % steps;
1479 v = v / steps; 1479 v = v / steps;
1480 s->sb_samples[0][k * 12 + l + 0][i] = 1480 s->sb_samples[0][k * 12 + l + 0][i] =
1481 l2_unscale_group(steps, mant, scale0); 1481 l2_unscale_group(steps, mant, scale0);
1482 s->sb_samples[1][k * 12 + l + 0][i] = 1482 s->sb_samples[1][k * 12 + l + 0][i] =