ReactOS 0.4.15-dev-8419-g7f0e8a3
l12_integer_tables.h
Go to the documentation of this file.
1/*
2 l12_integer_tables.h: Layer1/2 Constant tables for integer decoders
3
4 copyright 1995-2009 by the mpg123 project - free software under the terms of the LGPL 2.1
5 see COPYING and AUTHORS files in distribution or http://mpg123.org
6 initially written by Taihei Monma
7*/
8
9#ifndef MPG123_L12_INTEGER_TABLES_H
10#define MPG123_L12_INTEGER_TABLES_H
11
12static const real layer12_table[27][64] =
13{
14 { /* C90 does not like empty initializer. Fill with junk. */
15 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
16 , 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38
17 , 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56
18 , 57, 58, 59, 60, 61, 62, 63, 64
19 },
20 {
21 -1431655765,-1136305934,-901886617,-715827883,-568152967,-450943309,-357913941,-284076483,
22 -225471654,-178956971,-142038242,-112735827,-89478485,-71019121,-56367914,-44739243,
23 -35509560,-28183957,-22369621,-17754780,-14091978,-11184811,-8877390,-7045989,
24 -5592405,-4438695,-3522995,-2796203,-2219348,-1761497,-1398101,-1109674,
25 -880749,-699051,-554837,-440374,-349525,-277418,-220187,-174763,
26 -138709,-110094,-87381,-69355,-55047,-43691,-34677,-27523,
27 -21845,-17339,-13762,-10923,-8669,-6881,-5461,-4335,
28 -3440,-2731,-2167,-1720,-1365,-1084,-860,0
29 },
30 {
31 1431655765,1136305934,901886617,715827883,568152967,450943309,357913941,284076483,
32 225471654,178956971,142038242,112735827,89478485,71019121,56367914,44739243,
33 35509560,28183957,22369621,17754780,14091978,11184811,8877390,7045989,
34 5592405,4438695,3522995,2796203,2219348,1761497,1398101,1109674,
35 880749,699051,554837,440374,349525,277418,220187,174763,
36 138709,110094,87381,69355,55047,43691,34677,27523,
37 21845,17339,13762,10923,8669,6881,5461,4335,
38 3440,2731,2167,1720,1365,1084,860,0
39 },
40 {
41 613566757,486988257,386522836,306783378,243494129,193261418,153391689,121747064,
42 96630709,76695845,60873532,48315355,38347922,30436766,24157677,19173961,
43 15218383,12078839,9586981,7609192,6039419,4793490,3804596,3019710,
44 2396745,1902298,1509855,1198373,951149,754927,599186,475574,
45 377464,299593,237787,188732,149797,118894,94366,74898,
46 59447,47183,37449,29723,23591,18725,14862,11796,
47 9362,7431,5898,4681,3715,2949,2341,1858,
48 1474,1170,929,737,585,464,369,0
49 },
50 {
51 286331153,227261187,180377323,143165577,113630593,90188662,71582788,56815297,
52 45094331,35791394,28407648,22547165,17895697,14203824,11273583,8947849,
53 7101912,5636791,4473924,3550956,2818396,2236962,1775478,1409198,
54 1118481,887739,704599,559241,443870,352299,279620,221935,
55 176150,139810,110967,88075,69905,55484,44037,34953,
56 27742,22019,17476,13871,11009,8738,6935,5505,
57 4369,3468,2752,2185,1734,1376,1092,867,
58 688,546,433,344,273,217,172,0
59 },
60 {
61 138547332,109965090,87279350,69273666,54982545,43639675,34636833,27491273,
62 21819838,17318417,13745636,10909919,8659208,6872818,5454959,4329604,
63 3436409,2727480,2164802,1718205,1363740,1082401,859102,681870,
64 541201,429551,340935,270600,214776,170467,135300,107388,
65 85234,67650,53694,42617,33825,26847,21308,16913,
66 13423,10654,8456,6712,5327,4228,3356,2664,
67 2114,1678,1332,1057,839,666,529,419,
68 333,264,210,166,132,105,83,0
69 },
70 {
71 68174084,54109806,42946982,34087042,27054903,21473491,17043521,13527452,
72 10736745,8521761,6763726,5368373,4260880,3381863,2684186,2130440,
73 1690931,1342093,1065220,845466,671047,532610,422733,335523,
74 266305,211366,167762,133153,105683,83881,66576,52842,
75 41940,33288,26421,20970,16644,13210,10485,8322,
76 6605,5243,4161,3303,2621,2081,1651,1311,
77 1040,826,655,520,413,328,260,206,
78 164,130,103,82,65,52,41,0
79 },
80 {
81 33818640,26841872,21304408,16909320,13420936,10652204,8454660,6710468,
82 5326102,4227330,3355234,2663051,2113665,1677617,1331526,1056833,
83 838809,665763,528416,419404,332881,264208,209702,166441,
84 132104,104851,83220,66052,52426,41610,33026,26213,
85 20805,16513,13106,10403,8257,6553,5201,4128,
86 3277,2601,2064,1638,1300,1032,819,650,
87 516,410,325,258,205,163,129,102,
88 81,65,51,41,32,26,20,0
89 },
90 {
91 16843009,13368305,10610431,8421505,6684153,5305215,4210752,3342076,
92 2652608,2105376,1671038,1326304,1052688,835519,663152,526344,
93 417760,331576,263172,208880,165788,131586,104440,82894,
94 65793,52220,41447,32897,26110,20723,16448,13055,
95 10362,8224,6527,5181,4112,3264,2590,2056,
96 1632,1295,1028,816,648,514,408,324,
97 257,204,162,129,102,81,64,51,
98 40,32,25,20,16,13,10,0
99 },
100 {
101 8405024,6671072,5294833,4202512,3335536,2647417,2101256,1667768,
102 1323708,1050628,833884,661854,525314,416942,330927,262657,
103 208471,165464,131329,104236,82732,65664,52118,41366,
104 32832,26059,20683,16416,13029,10341,8208,6515,
105 5171,4104,3257,2585,2052,1629,1293,1026,
106 814,646,513,407,323,257,204,162,
107 128,102,81,64,51,40,32,25,
108 20,16,13,10,8,6,5,0
109 },
110 {
111 4198404,3332275,2644829,2099202,1666138,1322414,1049601,833069,
112 661207,524801,416534,330604,262400,208267,165302,131200,
113 104134,82651,65600,52067,41325,32800,26033,20663,
114 16400,13017,10331,8200,6508,5166,4100,3254,
115 2583,2050,1627,1291,1025,814,646,513,
116 407,323,256,203,161,128,102,81,
117 64,51,40,32,25,20,16,13,
118 10,8,6,5,4,3,3,0
119 },
120 {
121 2098177,1665324,1321768,1049088,832662,660884,524544,416331,
122 330442,262272,208165,165221,131136,104083,82611,65568,
123 52041,41305,32784,26021,20653,16392,13010,10326,
124 8196,6505,5163,4098,3253,2582,2049,1626,
125 1291,1025,813,645,512,407,323,256,
126 203,161,128,102,81,64,51,40,
127 32,25,20,16,13,10,8,6,
128 5,4,3,3,2,2,1,0
129 },
130 {
131 1048832,832459,660723,524416,416229,330361,262208,208115,
132 165181,131104,104057,82590,65552,52029,41295,32776,
133 26014,20648,16388,13007,10324,8194,6504,5162,
134 4097,3252,2581,2049,1626,1290,1024,813,
135 645,512,406,323,256,203,161,128,
136 102,81,64,51,40,32,25,20,
137 16,13,10,8,6,5,4,3,
138 3,2,2,1,1,1,1,0
139 },
140 {
141 524352,416178,330321,262176,208089,165161,131088,104045,
142 82580,65544,52022,41290,32772,26011,20645,16386,
143 13006,10323,8193,6503,5161,4097,3251,2581,
144 2048,1626,1290,1024,813,645,512,406,
145 323,256,203,161,128,102,81,64,
146 51,40,32,25,20,16,13,10,
147 8,6,5,4,3,3,2,2,
148 1,1,1,1,1,0,0,0
149 },
150 {
151 262160,208077,165150,131080,104038,82575,65540,52019,
152 41288,32770,26010,20644,16385,13005,10322,8193,
153 6502,5161,4096,3251,2580,2048,1626,1290,
154 1024,813,645,512,406,323,256,203,
155 161,128,102,81,64,51,40,32,
156 25,20,16,13,10,8,6,5,
157 4,3,3,2,2,1,1,1,
158 1,1,0,0,0,0,0,0
159 },
160 {
161 131076,104035,82573,65538,52018,41286,32769,26009,
162 20643,16385,13004,10322,8192,6502,5161,4096,
163 3251,2580,2048,1626,1290,1024,813,645,
164 512,406,323,256,203,161,128,102,
165 81,64,51,40,32,25,20,16,
166 13,10,8,6,5,4,3,3,
167 2,2,1,1,1,1,1,0,
168 0,0,0,0,0,0,0,0
169 },
170 {
171 65537,52017,41286,32769,26008,20643,16384,13004,
172 10321,8192,6502,5161,4096,3251,2580,2048,
173 1626,1290,1024,813,645,512,406,323,
174 256,203,161,128,102,81,64,51,
175 40,32,25,20,16,13,10,8,
176 6,5,4,3,3,2,2,1,
177 1,1,1,1,0,0,0,0,
178 0,0,0,0,0,0,0,0
179 },
180 {
181 -1717986918,-1363567121,-1082263941,-858993459,-681783560,-541131970,-429496730,-340891780,
182 -270565985,-214748365,-170445890,-135282993,-107374182,-85222945,-67641496,-53687091,
183 -42611473,-33820748,-26843546,-21305736,-16910374,-13421773,-10652868,-8455187,
184 -6710886,-5326434,-4227594,-3355443,-2663217,-2113797,-1677722,-1331609,
185 -1056898,-838861,-665804,-528449,-419430,-332902,-264225,-209715,
186 -166451,-132112,-104858,-83226,-66056,-52429,-41613,-33028,
187 -26214,-20806,-16514,-13107,-10403,-8257,-6554,-5202,
188 -4129,-3277,-2601,-2064,-1638,-1300,-1032,0
189 },
190 {
191 -858993459,-681783560,-541131970,-429496730,-340891780,-270565985,-214748365,-170445890,
192 -135282993,-107374182,-85222945,-67641496,-53687091,-42611473,-33820748,-26843546,
193 -21305736,-16910374,-13421773,-10652868,-8455187,-6710886,-5326434,-4227594,
194 -3355443,-2663217,-2113797,-1677722,-1331609,-1056898,-838861,-665804,
195 -528449,-419430,-332902,-264225,-209715,-166451,-132112,-104858,
196 -83226,-66056,-52429,-41613,-33028,-26214,-20806,-16514,
197 -13107,-10403,-8257,-6554,-5202,-4129,-3277,-2601,
198 -2064,-1638,-1300,-1032,-819,-650,-516,0
199 },
200 {
201 858993459,681783560,541131970,429496730,340891780,270565985,214748365,170445890,
202 135282993,107374182,85222945,67641496,53687091,42611473,33820748,26843546,
203 21305736,16910374,13421773,10652868,8455187,6710886,5326434,4227594,
204 3355443,2663217,2113797,1677722,1331609,1056898,838861,665804,
205 528449,419430,332902,264225,209715,166451,132112,104858,
206 83226,66056,52429,41613,33028,26214,20806,16514,
207 13107,10403,8257,6554,5202,4129,3277,2601,
208 2064,1638,1300,1032,819,650,516,0
209 },
210 {
211 1717986918,1363567121,1082263941,858993459,681783560,541131970,429496730,340891780,
212 270565985,214748365,170445890,135282993,107374182,85222945,67641496,53687091,
213 42611473,33820748,26843546,21305736,16910374,13421773,10652868,8455187,
214 6710886,5326434,4227594,3355443,2663217,2113797,1677722,1331609,
215 1056898,838861,665804,528449,419430,332902,264225,209715,
216 166451,132112,104858,83226,66056,52429,41613,33028,
217 26214,20806,16514,13107,10403,8257,6554,5202,
218 4129,3277,2601,2064,1638,1300,1032,0
219 },
220 {
221 -1908874354,-1515074579,-1202515490,-954437177,-757537289,-601257745,-477218588,-378768645,
222 -300628872,-238609294,-189384322,-150314436,-119304647,-94692161,-75157218,-59652324,
223 -47346081,-37578609,-29826162,-23673040,-18789305,-14913081,-11836520,-9394652,
224 -7456540,-5918260,-4697326,-3728270,-2959130,-2348663,-1864135,-1479565,
225 -1174332,-932068,-739783,-587166,-466034,-369891,-293583,-233017,
226 -184946,-146791,-116508,-92473,-73396,-58254,-46236,-36698,
227 -29127,-23118,-18349,-14564,-11559,-9174,-7282,-5780,
228 -4587,-3641,-2890,-2294,-1820,-1445,-1147,0
229 },
230 {
231 -954437177,-757537289,-601257745,-477218588,-378768645,-300628872,-238609294,-189384322,
232 -150314436,-119304647,-94692161,-75157218,-59652324,-47346081,-37578609,-29826162,
233 -23673040,-18789305,-14913081,-11836520,-9394652,-7456540,-5918260,-4697326,
234 -3728270,-2959130,-2348663,-1864135,-1479565,-1174332,-932068,-739783,
235 -587166,-466034,-369891,-293583,-233017,-184946,-146791,-116508,
236 -92473,-73396,-58254,-46236,-36698,-29127,-23118,-18349,
237 -14564,-11559,-9174,-7282,-5780,-4587,-3641,-2890,
238 -2294,-1820,-1445,-1147,-910,-722,-573,0
239 },
240 {
241 -477218588,-378768645,-300628872,-238609294,-189384322,-150314436,-119304647,-94692161,
242 -75157218,-59652324,-47346081,-37578609,-29826162,-23673040,-18789305,-14913081,
243 -11836520,-9394652,-7456540,-5918260,-4697326,-3728270,-2959130,-2348663,
244 -1864135,-1479565,-1174332,-932068,-739783,-587166,-466034,-369891,
245 -293583,-233017,-184946,-146791,-116508,-92473,-73396,-58254,
246 -46236,-36698,-29127,-23118,-18349,-14564,-11559,-9174,
247 -7282,-5780,-4587,-3641,-2890,-2294,-1820,-1445,
248 -1147,-910,-722,-573,-455,-361,-287,0
249 },
250 {
251 477218588,378768645,300628872,238609294,189384322,150314436,119304647,94692161,
252 75157218,59652324,47346081,37578609,29826162,23673040,18789305,14913081,
253 11836520,9394652,7456540,5918260,4697326,3728270,2959130,2348663,
254 1864135,1479565,1174332,932068,739783,587166,466034,369891,
255 293583,233017,184946,146791,116508,92473,73396,58254,
256 46236,36698,29127,23118,18349,14564,11559,9174,
257 7282,5780,4587,3641,2890,2294,1820,1445,
258 1147,910,722,573,455,361,287,0
259 },
260 {
261 954437177,757537289,601257745,477218588,378768645,300628872,238609294,189384322,
262 150314436,119304647,94692161,75157218,59652324,47346081,37578609,29826162,
263 23673040,18789305,14913081,11836520,9394652,7456540,5918260,4697326,
264 3728270,2959130,2348663,1864135,1479565,1174332,932068,739783,
265 587166,466034,369891,293583,233017,184946,146791,116508,
266 92473,73396,58254,46236,36698,29127,23118,18349,
267 14564,11559,9174,7282,5780,4587,3641,2890,
268 2294,1820,1445,1147,910,722,573,0
269 },
270 {
271 1908874354,1515074579,1202515490,954437177,757537289,601257745,477218588,378768645,
272 300628872,238609294,189384322,150314436,119304647,94692161,75157218,59652324,
273 47346081,37578609,29826162,23673040,18789305,14913081,11836520,9394652,
274 7456540,5918260,4697326,3728270,2959130,2348663,1864135,1479565,
275 1174332,932068,739783,587166,466034,369891,293583,233017,
276 184946,146791,116508,92473,73396,58254,46236,36698,
277 29127,23118,18349,14564,11559,9174,7282,5780,
278 4587,3641,2890,2294,1820,1445,1147,0
279 },
280};
281
282#endif
static const real layer12_table[27][64]
#define real