[FFmpeg-cvslog] r15273 - in trunk/libavcodec: ra144.c ra144.h
vitor
subversion
Mon Sep 8 20:51:34 CEST 2008
Author: vitor
Date: Mon Sep 8 20:51:33 2008
New Revision: 15273
Log:
Normalize triplets in gain_val_tab[][] so gain_exp_tab[] can be just an
one-dimensional array.
Modified:
trunk/libavcodec/ra144.c
trunk/libavcodec/ra144.h
Modified: trunk/libavcodec/ra144.c
==============================================================================
--- trunk/libavcodec/ra144.c (original)
+++ trunk/libavcodec/ra144.c Mon Sep 8 20:51:33 2008
@@ -136,7 +136,7 @@ static void add_wav(int16_t *dest, int n
v[0] = 0;
for (i=!skip_first; i<3; i++)
- v[i] = (gain_val_tab[n][i] * m[i]) >> (gain_exp_tab[n][i] + 1);
+ v[i] = (gain_val_tab[n][i] * m[i]) >> gain_exp_tab[n];
for (i=0; i < BLOCKSIZE; i++)
dest[i] = (s1[i]*v[0] + s2[i]*v[1] + s3[i]*v[2]) >> 12;
Modified: trunk/libavcodec/ra144.h
==============================================================================
--- trunk/libavcodec/ra144.h (original)
+++ trunk/libavcodec/ra144.h Mon Sep 8 20:51:33 2008
@@ -26,137 +26,89 @@
/* 14.4 data tables */
static const int16_t gain_val_tab[256][3] = {
- {541, 956, 768}, {877, 581, 568}, {675, 787, 635}, {624, 732, 668},
- {623, 839, 697}, {640, 693, 991}, {925, 687, 608}, {552, 797, 572},
- {535, 832, 799}, {762, 605, 577}, {832, 561, 1003}, {590, 687, 588},
- {646, 901, 732}, {828, 689, 896}, {875, 624, 848}, {571, 942, 1022},
- {824, 736, 643}, {517, 765, 512}, {562, 908, 761}, {694, 913, 675},
- {704, 524, 672}, {721, 757, 558}, {884, 551, 633}, {558, 1007, 846},
- {932, 746, 777}, {566, 822, 926}, {613, 771, 611}, {737, 671, 1008},
- {651, 594, 579}, {801, 636, 564}, {852, 910, 719}, {998, 614, 575},
- {665, 935, 628}, {631, 596, 829}, {644, 926, 526}, {879, 988, 613},
- {941, 692, 693}, {565, 672, 576}, {547, 628, 740}, {639, 532, 537},
- {955, 604, 598}, {562, 580, 900}, {603, 899, 621}, {746, 533, 624},
- {729, 514, 735}, {853, 551, 692}, {949, 1018, 1004}, {544, 988, 735},
- {789, 782, 821}, {897, 516, 754}, {517, 702, 828}, {586, 818, 763},
- {907, 652, 592}, {528, 652, 642}, {531, 708, 780}, {666, 625, 727},
- {947, 727, 554}, {549, 657, 981}, {605, 920, 852}, {624, 619, 983},
- {605, 909, 547}, {690, 935, 516}, {700, 612, 853}, {767, 832, 574},
- {523, 898, 923}, {722, 958, 691}, {613, 771, 928}, {758, 757, 584},
- {512, 567, 577}, {615, 638, 698}, {574, 642, 589}, {993, 682, 878},
- {539, 890, 913}, {694, 928, 544}, {805, 600, 680}, {540, 951, 782},
- {816, 950, 590}, {955, 847, 811}, {547, 883, 556}, {652, 888, 604},
- {863, 585, 855}, {1023, 997, 516}, {932, 614, 640}, {627, 564, 573},
- {876, 900, 724}, {515, 857, 896}, {647, 953, 879}, {806, 854, 857},
- {545, 583, 631}, {657, 601, 751}, {740, 905, 795}, {841, 1016, 568},
- {747, 589, 983}, {878, 613, 526}, {864, 723, 779}, {534, 674, 774},
- {950, 649, 939}, {590, 703, 899}, {618, 527, 579}, {725, 647, 972},
- {641, 647, 707}, {730, 663, 644}, {807, 572, 578}, {879, 611, 821},
- {667, 729, 841}, {782, 585, 751}, {802, 733, 976}, {850, 871, 708},
- {870, 743, 704}, {941, 899, 585}, {943, 632, 875}, {1023, 732, 638},
- {778, 753, 655}, {843, 945, 945}, {942, 969, 572}, {1008, 559, 854},
- {868, 729, 787}, {970, 686, 547}, {535, 635, 674}, {560, 636, 828},
- {994, 592, 833}, {548, 621, 694}, {550, 801, 955}, {582, 522, 646},
- {606, 625, 818}, {623, 591, 874}, {669, 535, 1001}, {701, 938, 592},
- {925, 820, 738}, {735, 790, 544}, {575, 788, 674}, {655, 783, 528},
- {527, 513, 677}, {782, 852, 940}, {578, 910, 513}, {692, 882, 734},
- {586, 683, 715}, {739, 609, 717}, {778, 773, 697}, {922, 785, 813},
- {766, 651, 984}, {978, 596, 515}, {535, 757, 540}, {662, 687, 589},
- {554, 536, 979}, {723, 982, 690}, {936, 956, 527}, {590, 1002, 547},
- {517, 653, 825}, {832, 592, 974}, {512, 957, 903}, {631, 545, 906},
- {514, 720, 649}, {596, 679, 694}, {617, 740, 979}, {711, 685, 877},
- {655, 835, 848}, {754, 839, 698}, {871, 515, 769}, {955, 852, 573},
- {640, 859, 587}, {792, 863, 554}, {843, 708, 682}, {971, 768, 552},
- {891, 536, 690}, {1016, 560, 663}, {543, 870, 674}, {601, 999, 585},
- {945, 966, 889}, {529, 912, 777}, {574, 1020, 714}, {609, 922, 932},
- {598, 778, 929}, {651, 772, 744}, {691, 957, 722}, {729, 766, 984},
- {547, 519, 632}, {583, 532, 922}, {633, 995, 603}, {677, 571, 874},
- {602, 545, 666}, {627, 542, 875}, {672, 983, 598}, {692, 979, 730},
- {668, 634, 872}, {711, 706, 674}, {739, 977, 595}, {759, 905, 763},
- {756, 582, 763}, {748, 1013, 908}, {804, 937, 950}, {785, 543, 998},
- {999, 684, 942}, {626, 633, 996}, {626, 567, 835}, {739, 571, 973},
- {655, 769, 707}, {702, 952, 571}, {727, 712, 514}, {744, 686, 741},
- {731, 552, 714}, {824, 991, 726}, {795, 615, 544}, {870, 575, 824},
- {803, 832, 923}, {819, 839, 531}, {887, 786, 852}, {933, 764, 570},
- {716, 906, 654}, {784, 804, 563}, {774, 535, 876}, {807, 598, 649},
- {817, 759, 718}, {831, 993, 846}, {858, 567, 605}, {876, 1012, 651},
- {852, 548, 549}, {895, 1008, 871}, {892, 1000, 591}, {935, 516, 836},
- {931, 612, 776}, {968, 614, 816}, {524, 777, 719}, {549, 694, 786},
- {882, 754, 534}, {597, 837, 766}, {635, 954, 704}, {803, 550, 798},
- {699, 654, 798}, {924, 767, 738}, {970, 675, 608}, {632, 706, 684},
- {858, 767, 563}, {527, 765, 702}, {559, 924, 1003}, {618, 524, 611},
- {999, 942, 963}, {547, 857, 935}, {734, 926, 569}, {967, 746, 551},
- {834, 633, 881}, {941, 701, 727}, {945, 564, 636}, {512, 563, 793},
- {984, 556, 570}, {984, 540, 740}, {527, 764, 874}, {530, 664, 1014},
- {546, 515, 521}, {554, 934, 672}, {598, 945, 556}, {627, 531, 733},
- {576, 1020, 1014}, {623, 924, 594}, {678, 909, 603}, {814, 744, 543}
+ { 541, 956, 768}, { 877, 581, 568}, { 675,1574, 635}, {1248,1464, 668},
+ {1246, 839, 1394}, {2560,1386, 991}, { 925, 687, 608}, {2208, 797, 1144},
+ { 535, 832, 799}, { 762, 605, 1154}, { 832,1122, 1003}, {1180, 687, 1176},
+ {1292, 901, 732}, {1656, 689, 896}, {1750,1248, 848}, {2284, 942, 1022},
+ { 824,1472, 643}, { 517, 765, 512}, { 562,1816, 1522}, { 694,1826, 2700},
+ { 704, 524, 672}, {1442, 757, 2232}, { 884, 551, 1266}, {2232,1007, 1692},
+ { 932, 746, 777}, {1132, 822, 926}, {1226, 771, 611}, {2948,1342, 1008},
+ {1302, 594, 1158}, {1602, 636, 1128}, {3408, 910, 1438}, {1996, 614, 575},
+ { 665, 935, 628}, { 631,1192, 829}, { 644, 926, 1052}, { 879, 988, 1226},
+ { 941,2768, 2772}, { 565,1344, 2304}, { 547, 628, 740}, { 639, 532, 1074},
+ { 955,1208, 598}, {1124,1160, 900}, {1206, 899, 1242}, { 746, 533, 624},
+ {1458,1028, 735}, {1706,1102, 692}, {1898,1018, 1004}, {2176, 988, 735},
+ {1578, 782, 1642}, { 897, 516, 754}, {2068, 702, 1656}, {2344, 818, 1526},
+ { 907, 652, 592}, {1056, 652, 642}, {2124,1416, 780}, {2664,1250, 727},
+ {1894, 727, 1108}, {2196, 657, 981}, {4840, 920, 1704}, {4992,1238, 983},
+ {2420, 909, 1094}, {2760, 935, 1032}, {2800, 612, 853}, {3068, 832, 574},
+ { 523,1796, 923}, { 722,1916, 1382}, {1226,1542, 928}, { 758, 757, 584},
+ { 512,1134, 577}, { 615,1276, 698}, { 574,2568, 2356}, { 993,2728, 3512},
+ { 539, 890, 913}, { 694, 928, 1088}, { 805, 600, 1360}, {2160, 951, 3128},
+ { 816, 950, 590}, { 955, 847, 811}, {1094, 883, 556}, {1304, 888, 604},
+ { 863,1170, 855}, {1023, 997, 1032}, { 932,1228, 1280}, { 627, 564, 573},
+ { 876, 900, 1448}, {1030, 857, 1792}, {1294, 953, 1758}, {1612, 854, 1714},
+ {1090,1166, 631}, {1314,1202, 751}, {1480, 905, 795}, {1682,1016, 568},
+ {1494,1178, 983}, { 878, 613, 526}, {1728,1446, 779}, {2136,1348, 774},
+ { 950, 649, 939}, {1180, 703, 899}, {1236, 527, 1158}, {1450, 647, 972},
+ {1282, 647, 707}, {1460, 663, 644}, {1614, 572, 578}, {3516,1222, 821},
+ {2668, 729, 1682}, {3128, 585, 1502}, {3208, 733, 976}, {6800, 871, 1416},
+ {3480, 743, 1408}, {3764, 899, 1170}, {3772, 632, 875}, {4092, 732, 638},
+ {3112, 753, 2620}, {3372, 945, 1890}, {3768, 969, 2288}, {2016, 559, 854},
+ {1736, 729, 787}, {1940, 686, 547}, {2140, 635, 674}, {4480,1272, 828},
+ {3976, 592, 1666}, {4384, 621, 1388}, {4400, 801, 955}, {4656, 522, 646},
+ {4848, 625, 1636}, {4984, 591, 874}, {5352, 535, 1001}, {11216,938, 1184},
+ { 925,3280, 1476}, { 735,1580, 1088}, {1150,1576, 674}, { 655, 783, 528},
+ { 527,2052, 1354}, { 782,1704, 1880}, { 578, 910, 1026}, { 692, 882, 1468},
+ { 586, 683, 715}, { 739, 609, 717}, { 778, 773, 697}, { 922, 785, 813},
+ { 766, 651, 984}, { 978, 596, 1030}, {1070, 757, 1080}, {1324, 687, 1178},
+ {1108,2144, 979}, { 723, 982, 690}, { 936, 956, 527}, {1180,1002, 547},
+ { 517,1306, 825}, { 832,1184, 974}, {1024, 957, 903}, {1262,1090, 906},
+ {1028, 720, 649}, {1192, 679, 694}, {2468,1480, 979}, {2844,1370, 877},
+ {1310, 835, 848}, {1508, 839, 698}, {1742,1030, 769}, {1910, 852, 573},
+ {1280, 859, 1174}, {1584, 863, 1108}, {1686, 708, 1364}, {1942, 768, 1104},
+ { 891, 536, 690}, {1016, 560, 663}, {2172, 870, 1348}, {2404, 999, 1170},
+ {1890, 966, 889}, {2116, 912, 777}, {2296,1020, 714}, {4872,1844, 932},
+ {2392, 778, 929}, {2604, 772, 744}, {2764, 957, 722}, {5832,1532, 984},
+ {2188, 519, 1264}, {2332, 532, 922}, {5064, 995, 2412}, {2708, 571, 874},
+ {2408, 545, 666}, {5016,1084, 875}, {5376, 983, 1196}, {5536, 979, 730},
+ {5344, 634, 1744}, {5688, 706, 1348}, {5912, 977, 1190}, {6072, 905, 763},
+ {6048, 582, 1526}, {11968,1013,1816}, {12864,937, 1900}, {12560,1086, 998},
+ {1998, 684, 1884}, {2504, 633, 1992}, {1252, 567, 835}, {1478, 571, 973},
+ {2620, 769, 1414}, {2808, 952, 1142}, {2908, 712, 1028}, {2976, 686, 741},
+ {1462, 552, 714}, {3296, 991, 1452}, {1590, 615, 544}, {3480,1150, 824},
+ {3212, 832, 923}, {3276, 839, 531}, {3548, 786, 852}, {3732, 764, 570},
+ {5728, 906, 2616}, {6272, 804, 2252}, {3096, 535, 876}, {3228, 598, 649},
+ {6536, 759, 1436}, {6648, 993, 846}, {6864, 567, 1210},{14016,1012, 1302},
+ {3408, 548, 1098}, {7160,1008, 1742}, {7136,1000, 1182}, {7480,1032, 836},
+ {7448, 612, 1552}, {7744, 614, 816}, {8384, 777, 1438}, {8784, 694, 786},
+ { 882,1508, 1068}, { 597, 837, 766}, {1270, 954, 1408}, { 803, 550, 798},
+ {1398,1308, 798}, {1848,1534, 738}, { 970, 675, 608}, {1264, 706, 684},
+ {1716, 767, 1126}, {2108, 765, 1404}, {2236, 924, 1003}, {2472,1048, 611},
+ { 999, 942, 963}, {1094, 857, 935}, {2936, 926, 1138}, {1934, 746, 551},
+ {3336, 633, 1762}, {3764, 701, 1454}, {1890, 564, 636}, {4096,1126, 793},
+ {3936, 556, 1140}, {3936, 540, 740}, {4216, 764, 874}, {8480,1328, 1014},
+ {2184, 515, 1042}, {4432, 934, 1344}, {4784, 945, 1112}, {5016,1062, 733},
+ {9216,1020, 2028}, {9968, 924, 1188}, {5424, 909, 1206}, {6512, 744, 1086}
};
-static const uint8_t gain_exp_tab[256][3] = {
- {14, 14, 14}, {14, 14, 14}, {14, 13, 14}, {13, 13, 14},
- {13, 14, 13}, {13, 14, 15}, {13, 13, 13}, {12, 14, 13},
- {13, 13, 13}, {13, 13, 12}, {13, 12, 13}, {12, 13, 12},
- {12, 13, 13}, {12, 13, 13}, {12, 12, 13}, {11, 13, 13},
- {13, 12, 13}, {12, 12, 12}, {13, 12, 12}, {13, 12, 11},
- {12, 12, 12}, {12, 13, 11}, {12, 12, 11}, {11, 13, 12},
- {12, 12, 12}, {11, 12, 12}, {11, 12, 12}, {11, 12, 13},
- {11, 12, 11}, {11, 12, 11}, {11, 13, 12}, {11, 12, 12},
- {12, 12, 12}, {12, 11, 12}, {12, 12, 11}, {12, 12, 11},
- {13, 11, 11}, {12, 11, 10}, {11, 11, 11}, {11, 11, 10},
- {12, 11, 12}, {11, 11, 12}, {11, 12, 11}, {11, 11, 11},
- {11, 11, 12}, {11, 11, 12}, {11, 12, 12}, {10, 12, 12},
- {11, 12, 11}, {11, 11, 11}, {10, 12, 11}, {10, 12, 11},
- {11, 11, 11}, {10, 11, 11}, {10, 11, 12}, {10, 11, 12},
- {11, 12, 11}, {10, 12, 12}, {10, 13, 12}, {10, 12, 13},
- {10, 12, 11}, {10, 12, 11}, {10, 12, 12}, {10, 12, 12},
- {12, 11, 12}, {12, 11, 11}, {11, 11, 12}, {11, 11, 11},
- {11, 10, 11}, {11, 10, 11}, {12, 10, 10}, {12, 10, 10},
- {11, 11, 11}, {11, 11, 10}, {11, 11, 10}, {10, 12, 10},
- {11, 11, 11}, {11, 11, 11}, {10, 11, 11}, {10, 11, 11},
- {11, 10, 11}, {11, 11, 10}, {11, 10, 10}, {10, 10, 10},
- {11, 11, 10}, {10, 11, 10}, {10, 11, 10}, {10, 11, 10},
- {10, 10, 11}, {10, 10, 11}, {10, 11, 11}, {10, 11, 11},
- {10, 10, 11}, {10, 10, 10}, {10, 10, 11}, { 9, 10, 11},
- {11, 11, 11}, {10, 11, 11}, {10, 11, 10}, {10, 11, 11},
- {10, 11, 11}, {10, 11, 11}, {10, 11, 11}, {10, 11, 12},
- {10, 12, 11}, {10, 12, 11}, {10, 12, 12}, {10, 13, 12},
- {10, 12, 11}, {10, 12, 11}, {10, 12, 12}, {10, 12, 12},
- {10, 12, 10}, {10, 12, 11}, {10, 12, 10}, {10, 11, 11},
- {10, 11, 11}, {10, 11, 11}, { 9, 11, 11}, { 9, 11, 12},
- {10, 12, 11}, { 9, 12, 11}, { 9, 12, 12}, { 9, 12, 12},
- { 9, 12, 11}, { 9, 12, 12}, { 9, 12, 12}, { 9, 13, 12},
- {12, 10, 11}, {11, 10, 10}, {10, 10, 11}, {10, 10, 10},
- {11, 9, 10}, {11, 10, 10}, {10, 10, 9}, {10, 10, 9},
- {10, 10, 10}, {10, 10, 10}, {10, 10, 10}, {10, 10, 10},
- {10, 10, 10}, {10, 10, 9}, { 9, 10, 9}, { 9, 10, 9},
- {10, 9, 11}, {10, 10, 10}, {10, 10, 10}, { 9, 10, 10},
- {10, 9, 10}, {10, 9, 10}, { 9, 10, 10}, { 9, 9, 10},
- { 9, 10, 10}, { 9, 10, 10}, { 9, 10, 11}, { 9, 10, 11},
- { 9, 10, 10}, { 9, 10, 10}, { 9, 9, 10}, { 9, 10, 10},
- {10, 11, 10}, {10, 11, 10}, {10, 11, 10}, {10, 11, 10},
- {10, 10, 10}, {10, 10, 10}, { 9, 11, 10}, { 9, 11, 10},
- {10, 11, 11}, { 9, 11, 11}, { 9, 11, 11}, { 9, 11, 12},
- { 9, 11, 11}, { 9, 11, 11}, { 9, 11, 11}, { 9, 11, 12},
- { 9, 11, 10}, { 9, 11, 11}, { 9, 12, 10}, { 9, 11, 11},
- { 9, 11, 11}, { 9, 11, 12}, { 9, 12, 11}, { 9, 12, 12},
- { 9, 12, 11}, { 9, 12, 11}, { 9, 12, 11}, { 9, 12, 12},
- { 9, 12, 11}, { 9, 13, 12}, { 9, 13, 12}, { 9, 12, 13},
- {10, 11, 10}, { 9, 11, 10}, { 9, 10, 10}, { 9, 10, 10},
- { 9, 11, 10}, { 9, 11, 10}, { 9, 11, 10}, { 9, 11, 11},
- { 9, 10, 10}, { 9, 11, 10}, { 9, 10, 10}, { 9, 10, 11},
- { 9, 11, 11}, { 9, 11, 11}, { 9, 11, 11}, { 9, 11, 11},
- { 9, 12, 10}, { 9, 12, 10}, { 9, 11, 11}, { 9, 11, 11},
- { 9, 12, 11}, { 9, 12, 12}, { 9, 12, 11}, { 9, 13, 12},
- { 9, 11, 10}, { 9, 12, 11}, { 9, 12, 11}, { 9, 11, 12},
- { 9, 12, 11}, { 9, 12, 12}, { 8, 12, 11}, { 8, 12, 12},
- {10, 9, 9}, { 9, 9, 9}, { 9, 10, 9}, { 9, 9, 9},
- { 9, 9, 10}, { 9, 9, 10}, { 9, 9, 9}, { 8, 9, 9},
- { 9, 10, 9}, { 8, 10, 9}, { 8, 10, 10}, { 8, 9, 10},
- { 9, 9, 9}, { 7, 8, 8}, { 8, 10, 9}, { 8, 9, 9},
- { 9, 11, 10}, { 9, 11, 10}, { 9, 10, 10}, { 8, 10, 11},
- { 9, 11, 10}, { 9, 11, 11}, { 8, 11, 11}, { 8, 11, 12},
- { 8, 10, 9}, { 8, 11, 10}, { 8, 11, 10}, { 8, 10, 11},
- { 8, 12, 11}, { 8, 12, 11}, { 8, 11, 10}, { 8, 11, 10}
+static const uint8_t gain_exp_tab[256] = {
+ 15, 15, 15, 15, 15, 16, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+ 14, 13, 14, 14, 13, 14, 13, 14, 13, 13, 13, 14, 13, 13, 14, 13,
+ 13, 13, 13, 13, 14, 13, 12, 12, 13, 13, 13, 12, 13, 13, 13, 13,
+ 13, 12, 13, 13, 12, 12, 13, 13, 13, 13, 14, 14, 13, 13, 13, 13,
+ 13, 13, 13, 12, 12, 12, 13, 13, 12, 12, 12, 13, 12, 12, 12, 12,
+ 12, 12, 12, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 13, 13, 13, 13,
+ 13, 13, 13, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 14,
+ 13, 12, 12, 11, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
+ 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 11, 11, 11, 11,
+ 12, 12, 12, 12, 11, 11, 12, 12, 12, 12, 12, 13, 12, 12, 12, 13,
+ 12, 12, 13, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14,
+ 12, 12, 11, 11, 12, 12, 12, 12, 11, 12, 11, 12, 12, 12, 12, 12,
+ 13, 13, 12, 12, 13, 13, 13, 14, 12, 13, 13, 13, 13, 13, 13, 13,
+ 11, 10, 11, 10, 11, 11, 10, 10, 11, 11, 11, 11, 10, 9, 11, 10,
+ 12, 12, 11, 12, 12, 12, 12, 13, 11, 12, 12, 12, 13, 13, 12, 12
};
static const int8_t cb1_vects[128][40]={
More information about the ffmpeg-cvslog
mailing list