279 lines
12 KiB
C
279 lines
12 KiB
C
/*
|
|
l12_integer_tables.h: Layer1/2 Constant tables for integer decoders
|
|
|
|
copyright 1995-2009 by the mpg123 project - free software under the terms of the LGPL 2.1
|
|
see COPYING and AUTHORS files in distribution or http://mpg123.org
|
|
initially written by Taihei Monma
|
|
*/
|
|
|
|
#ifndef MPG123_L12_INTEGER_TABLES_H
|
|
#define MPG123_L12_INTEGER_TABLES_H
|
|
|
|
static const real layer12_table[27][64] =
|
|
{
|
|
{
|
|
},
|
|
{
|
|
-1431655765,-1136305934,-901886617,-715827883,-568152967,-450943309,-357913941,-284076483,
|
|
-225471654,-178956971,-142038242,-112735827,-89478485,-71019121,-56367914,-44739243,
|
|
-35509560,-28183957,-22369621,-17754780,-14091978,-11184811,-8877390,-7045989,
|
|
-5592405,-4438695,-3522995,-2796203,-2219348,-1761497,-1398101,-1109674,
|
|
-880749,-699051,-554837,-440374,-349525,-277418,-220187,-174763,
|
|
-138709,-110094,-87381,-69355,-55047,-43691,-34677,-27523,
|
|
-21845,-17339,-13762,-10923,-8669,-6881,-5461,-4335,
|
|
-3440,-2731,-2167,-1720,-1365,-1084,-860,0
|
|
},
|
|
{
|
|
1431655765,1136305934,901886617,715827883,568152967,450943309,357913941,284076483,
|
|
225471654,178956971,142038242,112735827,89478485,71019121,56367914,44739243,
|
|
35509560,28183957,22369621,17754780,14091978,11184811,8877390,7045989,
|
|
5592405,4438695,3522995,2796203,2219348,1761497,1398101,1109674,
|
|
880749,699051,554837,440374,349525,277418,220187,174763,
|
|
138709,110094,87381,69355,55047,43691,34677,27523,
|
|
21845,17339,13762,10923,8669,6881,5461,4335,
|
|
3440,2731,2167,1720,1365,1084,860,0
|
|
},
|
|
{
|
|
613566757,486988257,386522836,306783378,243494129,193261418,153391689,121747064,
|
|
96630709,76695845,60873532,48315355,38347922,30436766,24157677,19173961,
|
|
15218383,12078839,9586981,7609192,6039419,4793490,3804596,3019710,
|
|
2396745,1902298,1509855,1198373,951149,754927,599186,475574,
|
|
377464,299593,237787,188732,149797,118894,94366,74898,
|
|
59447,47183,37449,29723,23591,18725,14862,11796,
|
|
9362,7431,5898,4681,3715,2949,2341,1858,
|
|
1474,1170,929,737,585,464,369,0
|
|
},
|
|
{
|
|
286331153,227261187,180377323,143165577,113630593,90188662,71582788,56815297,
|
|
45094331,35791394,28407648,22547165,17895697,14203824,11273583,8947849,
|
|
7101912,5636791,4473924,3550956,2818396,2236962,1775478,1409198,
|
|
1118481,887739,704599,559241,443870,352299,279620,221935,
|
|
176150,139810,110967,88075,69905,55484,44037,34953,
|
|
27742,22019,17476,13871,11009,8738,6935,5505,
|
|
4369,3468,2752,2185,1734,1376,1092,867,
|
|
688,546,433,344,273,217,172,0
|
|
},
|
|
{
|
|
138547332,109965090,87279350,69273666,54982545,43639675,34636833,27491273,
|
|
21819838,17318417,13745636,10909919,8659208,6872818,5454959,4329604,
|
|
3436409,2727480,2164802,1718205,1363740,1082401,859102,681870,
|
|
541201,429551,340935,270600,214776,170467,135300,107388,
|
|
85234,67650,53694,42617,33825,26847,21308,16913,
|
|
13423,10654,8456,6712,5327,4228,3356,2664,
|
|
2114,1678,1332,1057,839,666,529,419,
|
|
333,264,210,166,132,105,83,0
|
|
},
|
|
{
|
|
68174084,54109806,42946982,34087042,27054903,21473491,17043521,13527452,
|
|
10736745,8521761,6763726,5368373,4260880,3381863,2684186,2130440,
|
|
1690931,1342093,1065220,845466,671047,532610,422733,335523,
|
|
266305,211366,167762,133153,105683,83881,66576,52842,
|
|
41940,33288,26421,20970,16644,13210,10485,8322,
|
|
6605,5243,4161,3303,2621,2081,1651,1311,
|
|
1040,826,655,520,413,328,260,206,
|
|
164,130,103,82,65,52,41,0
|
|
},
|
|
{
|
|
33818640,26841872,21304408,16909320,13420936,10652204,8454660,6710468,
|
|
5326102,4227330,3355234,2663051,2113665,1677617,1331526,1056833,
|
|
838809,665763,528416,419404,332881,264208,209702,166441,
|
|
132104,104851,83220,66052,52426,41610,33026,26213,
|
|
20805,16513,13106,10403,8257,6553,5201,4128,
|
|
3277,2601,2064,1638,1300,1032,819,650,
|
|
516,410,325,258,205,163,129,102,
|
|
81,65,51,41,32,26,20,0
|
|
},
|
|
{
|
|
16843009,13368305,10610431,8421505,6684153,5305215,4210752,3342076,
|
|
2652608,2105376,1671038,1326304,1052688,835519,663152,526344,
|
|
417760,331576,263172,208880,165788,131586,104440,82894,
|
|
65793,52220,41447,32897,26110,20723,16448,13055,
|
|
10362,8224,6527,5181,4112,3264,2590,2056,
|
|
1632,1295,1028,816,648,514,408,324,
|
|
257,204,162,129,102,81,64,51,
|
|
40,32,25,20,16,13,10,0
|
|
},
|
|
{
|
|
8405024,6671072,5294833,4202512,3335536,2647417,2101256,1667768,
|
|
1323708,1050628,833884,661854,525314,416942,330927,262657,
|
|
208471,165464,131329,104236,82732,65664,52118,41366,
|
|
32832,26059,20683,16416,13029,10341,8208,6515,
|
|
5171,4104,3257,2585,2052,1629,1293,1026,
|
|
814,646,513,407,323,257,204,162,
|
|
128,102,81,64,51,40,32,25,
|
|
20,16,13,10,8,6,5,0
|
|
},
|
|
{
|
|
4198404,3332275,2644829,2099202,1666138,1322414,1049601,833069,
|
|
661207,524801,416534,330604,262400,208267,165302,131200,
|
|
104134,82651,65600,52067,41325,32800,26033,20663,
|
|
16400,13017,10331,8200,6508,5166,4100,3254,
|
|
2583,2050,1627,1291,1025,814,646,513,
|
|
407,323,256,203,161,128,102,81,
|
|
64,51,40,32,25,20,16,13,
|
|
10,8,6,5,4,3,3,0
|
|
},
|
|
{
|
|
2098177,1665324,1321768,1049088,832662,660884,524544,416331,
|
|
330442,262272,208165,165221,131136,104083,82611,65568,
|
|
52041,41305,32784,26021,20653,16392,13010,10326,
|
|
8196,6505,5163,4098,3253,2582,2049,1626,
|
|
1291,1025,813,645,512,407,323,256,
|
|
203,161,128,102,81,64,51,40,
|
|
32,25,20,16,13,10,8,6,
|
|
5,4,3,3,2,2,1,0
|
|
},
|
|
{
|
|
1048832,832459,660723,524416,416229,330361,262208,208115,
|
|
165181,131104,104057,82590,65552,52029,41295,32776,
|
|
26014,20648,16388,13007,10324,8194,6504,5162,
|
|
4097,3252,2581,2049,1626,1290,1024,813,
|
|
645,512,406,323,256,203,161,128,
|
|
102,81,64,51,40,32,25,20,
|
|
16,13,10,8,6,5,4,3,
|
|
3,2,2,1,1,1,1,0
|
|
},
|
|
{
|
|
524352,416178,330321,262176,208089,165161,131088,104045,
|
|
82580,65544,52022,41290,32772,26011,20645,16386,
|
|
13006,10323,8193,6503,5161,4097,3251,2581,
|
|
2048,1626,1290,1024,813,645,512,406,
|
|
323,256,203,161,128,102,81,64,
|
|
51,40,32,25,20,16,13,10,
|
|
8,6,5,4,3,3,2,2,
|
|
1,1,1,1,1,0,0,0
|
|
},
|
|
{
|
|
262160,208077,165150,131080,104038,82575,65540,52019,
|
|
41288,32770,26010,20644,16385,13005,10322,8193,
|
|
6502,5161,4096,3251,2580,2048,1626,1290,
|
|
1024,813,645,512,406,323,256,203,
|
|
161,128,102,81,64,51,40,32,
|
|
25,20,16,13,10,8,6,5,
|
|
4,3,3,2,2,1,1,1,
|
|
1,1,0,0,0,0,0,0
|
|
},
|
|
{
|
|
131076,104035,82573,65538,52018,41286,32769,26009,
|
|
20643,16385,13004,10322,8192,6502,5161,4096,
|
|
3251,2580,2048,1626,1290,1024,813,645,
|
|
512,406,323,256,203,161,128,102,
|
|
81,64,51,40,32,25,20,16,
|
|
13,10,8,6,5,4,3,3,
|
|
2,2,1,1,1,1,1,0,
|
|
0,0,0,0,0,0,0,0
|
|
},
|
|
{
|
|
65537,52017,41286,32769,26008,20643,16384,13004,
|
|
10321,8192,6502,5161,4096,3251,2580,2048,
|
|
1626,1290,1024,813,645,512,406,323,
|
|
256,203,161,128,102,81,64,51,
|
|
40,32,25,20,16,13,10,8,
|
|
6,5,4,3,3,2,2,1,
|
|
1,1,1,1,0,0,0,0,
|
|
0,0,0,0,0,0,0,0
|
|
},
|
|
{
|
|
-1717986918,-1363567121,-1082263941,-858993459,-681783560,-541131970,-429496730,-340891780,
|
|
-270565985,-214748365,-170445890,-135282993,-107374182,-85222945,-67641496,-53687091,
|
|
-42611473,-33820748,-26843546,-21305736,-16910374,-13421773,-10652868,-8455187,
|
|
-6710886,-5326434,-4227594,-3355443,-2663217,-2113797,-1677722,-1331609,
|
|
-1056898,-838861,-665804,-528449,-419430,-332902,-264225,-209715,
|
|
-166451,-132112,-104858,-83226,-66056,-52429,-41613,-33028,
|
|
-26214,-20806,-16514,-13107,-10403,-8257,-6554,-5202,
|
|
-4129,-3277,-2601,-2064,-1638,-1300,-1032,0
|
|
},
|
|
{
|
|
-858993459,-681783560,-541131970,-429496730,-340891780,-270565985,-214748365,-170445890,
|
|
-135282993,-107374182,-85222945,-67641496,-53687091,-42611473,-33820748,-26843546,
|
|
-21305736,-16910374,-13421773,-10652868,-8455187,-6710886,-5326434,-4227594,
|
|
-3355443,-2663217,-2113797,-1677722,-1331609,-1056898,-838861,-665804,
|
|
-528449,-419430,-332902,-264225,-209715,-166451,-132112,-104858,
|
|
-83226,-66056,-52429,-41613,-33028,-26214,-20806,-16514,
|
|
-13107,-10403,-8257,-6554,-5202,-4129,-3277,-2601,
|
|
-2064,-1638,-1300,-1032,-819,-650,-516,0
|
|
},
|
|
{
|
|
858993459,681783560,541131970,429496730,340891780,270565985,214748365,170445890,
|
|
135282993,107374182,85222945,67641496,53687091,42611473,33820748,26843546,
|
|
21305736,16910374,13421773,10652868,8455187,6710886,5326434,4227594,
|
|
3355443,2663217,2113797,1677722,1331609,1056898,838861,665804,
|
|
528449,419430,332902,264225,209715,166451,132112,104858,
|
|
83226,66056,52429,41613,33028,26214,20806,16514,
|
|
13107,10403,8257,6554,5202,4129,3277,2601,
|
|
2064,1638,1300,1032,819,650,516,0
|
|
},
|
|
{
|
|
1717986918,1363567121,1082263941,858993459,681783560,541131970,429496730,340891780,
|
|
270565985,214748365,170445890,135282993,107374182,85222945,67641496,53687091,
|
|
42611473,33820748,26843546,21305736,16910374,13421773,10652868,8455187,
|
|
6710886,5326434,4227594,3355443,2663217,2113797,1677722,1331609,
|
|
1056898,838861,665804,528449,419430,332902,264225,209715,
|
|
166451,132112,104858,83226,66056,52429,41613,33028,
|
|
26214,20806,16514,13107,10403,8257,6554,5202,
|
|
4129,3277,2601,2064,1638,1300,1032,0
|
|
},
|
|
{
|
|
-1908874354,-1515074579,-1202515490,-954437177,-757537289,-601257745,-477218588,-378768645,
|
|
-300628872,-238609294,-189384322,-150314436,-119304647,-94692161,-75157218,-59652324,
|
|
-47346081,-37578609,-29826162,-23673040,-18789305,-14913081,-11836520,-9394652,
|
|
-7456540,-5918260,-4697326,-3728270,-2959130,-2348663,-1864135,-1479565,
|
|
-1174332,-932068,-739783,-587166,-466034,-369891,-293583,-233017,
|
|
-184946,-146791,-116508,-92473,-73396,-58254,-46236,-36698,
|
|
-29127,-23118,-18349,-14564,-11559,-9174,-7282,-5780,
|
|
-4587,-3641,-2890,-2294,-1820,-1445,-1147,0
|
|
},
|
|
{
|
|
-954437177,-757537289,-601257745,-477218588,-378768645,-300628872,-238609294,-189384322,
|
|
-150314436,-119304647,-94692161,-75157218,-59652324,-47346081,-37578609,-29826162,
|
|
-23673040,-18789305,-14913081,-11836520,-9394652,-7456540,-5918260,-4697326,
|
|
-3728270,-2959130,-2348663,-1864135,-1479565,-1174332,-932068,-739783,
|
|
-587166,-466034,-369891,-293583,-233017,-184946,-146791,-116508,
|
|
-92473,-73396,-58254,-46236,-36698,-29127,-23118,-18349,
|
|
-14564,-11559,-9174,-7282,-5780,-4587,-3641,-2890,
|
|
-2294,-1820,-1445,-1147,-910,-722,-573,0
|
|
},
|
|
{
|
|
-477218588,-378768645,-300628872,-238609294,-189384322,-150314436,-119304647,-94692161,
|
|
-75157218,-59652324,-47346081,-37578609,-29826162,-23673040,-18789305,-14913081,
|
|
-11836520,-9394652,-7456540,-5918260,-4697326,-3728270,-2959130,-2348663,
|
|
-1864135,-1479565,-1174332,-932068,-739783,-587166,-466034,-369891,
|
|
-293583,-233017,-184946,-146791,-116508,-92473,-73396,-58254,
|
|
-46236,-36698,-29127,-23118,-18349,-14564,-11559,-9174,
|
|
-7282,-5780,-4587,-3641,-2890,-2294,-1820,-1445,
|
|
-1147,-910,-722,-573,-455,-361,-287,0
|
|
},
|
|
{
|
|
477218588,378768645,300628872,238609294,189384322,150314436,119304647,94692161,
|
|
75157218,59652324,47346081,37578609,29826162,23673040,18789305,14913081,
|
|
11836520,9394652,7456540,5918260,4697326,3728270,2959130,2348663,
|
|
1864135,1479565,1174332,932068,739783,587166,466034,369891,
|
|
293583,233017,184946,146791,116508,92473,73396,58254,
|
|
46236,36698,29127,23118,18349,14564,11559,9174,
|
|
7282,5780,4587,3641,2890,2294,1820,1445,
|
|
1147,910,722,573,455,361,287,0
|
|
},
|
|
{
|
|
954437177,757537289,601257745,477218588,378768645,300628872,238609294,189384322,
|
|
150314436,119304647,94692161,75157218,59652324,47346081,37578609,29826162,
|
|
23673040,18789305,14913081,11836520,9394652,7456540,5918260,4697326,
|
|
3728270,2959130,2348663,1864135,1479565,1174332,932068,739783,
|
|
587166,466034,369891,293583,233017,184946,146791,116508,
|
|
92473,73396,58254,46236,36698,29127,23118,18349,
|
|
14564,11559,9174,7282,5780,4587,3641,2890,
|
|
2294,1820,1445,1147,910,722,573,0
|
|
},
|
|
{
|
|
1908874354,1515074579,1202515490,954437177,757537289,601257745,477218588,378768645,
|
|
300628872,238609294,189384322,150314436,119304647,94692161,75157218,59652324,
|
|
47346081,37578609,29826162,23673040,18789305,14913081,11836520,9394652,
|
|
7456540,5918260,4697326,3728270,2959130,2348663,1864135,1479565,
|
|
1174332,932068,739783,587166,466034,369891,293583,233017,
|
|
184946,146791,116508,92473,73396,58254,46236,36698,
|
|
29127,23118,18349,14564,11559,9174,7282,5780,
|
|
4587,3641,2890,2294,1820,1445,1147,0
|
|
},
|
|
};
|
|
|
|
#endif
|