Mercurial > libavcodec.hg
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] = |