Avoid overflowing on ridiculously large energy
[opus.git] / celt / static_modes_fixed.h
1 /* The contents of this file was automatically generated by dump_modes.c
2    with arguments: 48000 960
3    It contains static definitions for some pre-defined modes. */
4 #include "modes.h"
5 #include "rate.h"
6
7 #ifdef HAVE_ARM_NE10
8 #define OVERRIDE_FFT 1
9 #include "static_modes_fixed_arm_ne10.h"
10 #endif
11
12 #ifndef DEF_WINDOW120
13 #define DEF_WINDOW120
14 static const opus_val16 window120[120] = {
15 2, 20, 55, 108, 178,
16 266, 372, 494, 635, 792,
17 966, 1157, 1365, 1590, 1831,
18 2089, 2362, 2651, 2956, 3276,
19 3611, 3961, 4325, 4703, 5094,
20 5499, 5916, 6346, 6788, 7241,
21 7705, 8179, 8663, 9156, 9657,
22 10167, 10684, 11207, 11736, 12271,
23 12810, 13353, 13899, 14447, 14997,
24 15547, 16098, 16648, 17197, 17744,
25 18287, 18827, 19363, 19893, 20418,
26 20936, 21447, 21950, 22445, 22931,
27 23407, 23874, 24330, 24774, 25208,
28 25629, 26039, 26435, 26819, 27190,
29 27548, 27893, 28224, 28541, 28845,
30 29135, 29411, 29674, 29924, 30160,
31 30384, 30594, 30792, 30977, 31151,
32 31313, 31463, 31602, 31731, 31849,
33 31958, 32057, 32148, 32229, 32303,
34 32370, 32429, 32481, 32528, 32568,
35 32604, 32634, 32661, 32683, 32701,
36 32717, 32729, 32740, 32748, 32754,
37 32758, 32762, 32764, 32766, 32767,
38 32767, 32767, 32767, 32767, 32767,
39 };
40 #endif
41
42 #ifndef DEF_LOGN400
43 #define DEF_LOGN400
44 static const opus_int16 logN400[21] = {
45 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 16, 16, 16, 21, 21, 24, 29, 34, 36, };
46 #endif
47
48 #ifndef DEF_PULSE_CACHE50
49 #define DEF_PULSE_CACHE50
50 static const opus_int16 cache_index50[105] = {
51 -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 41, 41, 41,
52 82, 82, 123, 164, 200, 222, 0, 0, 0, 0, 0, 0, 0, 0, 41,
53 41, 41, 41, 123, 123, 123, 164, 164, 240, 266, 283, 295, 41, 41, 41,
54 41, 41, 41, 41, 41, 123, 123, 123, 123, 240, 240, 240, 266, 266, 305,
55 318, 328, 336, 123, 123, 123, 123, 123, 123, 123, 123, 240, 240, 240, 240,
56 305, 305, 305, 318, 318, 343, 351, 358, 364, 240, 240, 240, 240, 240, 240,
57 240, 240, 305, 305, 305, 305, 343, 343, 343, 351, 351, 370, 376, 382, 387,
58 };
59 static const unsigned char cache_bits50[392] = {
60 40, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
61 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
62 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 15, 23, 28,
63 31, 34, 36, 38, 39, 41, 42, 43, 44, 45, 46, 47, 47, 49, 50,
64 51, 52, 53, 54, 55, 55, 57, 58, 59, 60, 61, 62, 63, 63, 65,
65 66, 67, 68, 69, 70, 71, 71, 40, 20, 33, 41, 48, 53, 57, 61,
66 64, 66, 69, 71, 73, 75, 76, 78, 80, 82, 85, 87, 89, 91, 92,
67 94, 96, 98, 101, 103, 105, 107, 108, 110, 112, 114, 117, 119, 121, 123,
68 124, 126, 128, 40, 23, 39, 51, 60, 67, 73, 79, 83, 87, 91, 94,
69 97, 100, 102, 105, 107, 111, 115, 118, 121, 124, 126, 129, 131, 135, 139,
70 142, 145, 148, 150, 153, 155, 159, 163, 166, 169, 172, 174, 177, 179, 35,
71 28, 49, 65, 78, 89, 99, 107, 114, 120, 126, 132, 136, 141, 145, 149,
72 153, 159, 165, 171, 176, 180, 185, 189, 192, 199, 205, 211, 216, 220, 225,
73 229, 232, 239, 245, 251, 21, 33, 58, 79, 97, 112, 125, 137, 148, 157,
74 166, 174, 182, 189, 195, 201, 207, 217, 227, 235, 243, 251, 17, 35, 63,
75 86, 106, 123, 139, 152, 165, 177, 187, 197, 206, 214, 222, 230, 237, 250,
76 25, 31, 55, 75, 91, 105, 117, 128, 138, 146, 154, 161, 168, 174, 180,
77 185, 190, 200, 208, 215, 222, 229, 235, 240, 245, 255, 16, 36, 65, 89,
78 110, 128, 144, 159, 173, 185, 196, 207, 217, 226, 234, 242, 250, 11, 41,
79 74, 103, 128, 151, 172, 191, 209, 225, 241, 255, 9, 43, 79, 110, 138,
80 163, 186, 207, 227, 246, 12, 39, 71, 99, 123, 144, 164, 182, 198, 214,
81 228, 241, 253, 9, 44, 81, 113, 142, 168, 192, 214, 235, 255, 7, 49,
82 90, 127, 160, 191, 220, 247, 6, 51, 95, 134, 170, 203, 234, 7, 47,
83 87, 123, 155, 184, 212, 237, 6, 52, 97, 137, 174, 208, 240, 5, 57,
84 106, 151, 192, 231, 5, 59, 111, 158, 202, 243, 5, 55, 103, 147, 187,
85 224, 5, 60, 113, 161, 206, 248, 4, 65, 122, 175, 224, 4, 67, 127,
86 182, 234, };
87 static const unsigned char cache_caps50[168] = {
88 224, 224, 224, 224, 224, 224, 224, 224, 160, 160, 160, 160, 185, 185, 185,
89 178, 178, 168, 134, 61, 37, 224, 224, 224, 224, 224, 224, 224, 224, 240,
90 240, 240, 240, 207, 207, 207, 198, 198, 183, 144, 66, 40, 160, 160, 160,
91 160, 160, 160, 160, 160, 185, 185, 185, 185, 193, 193, 193, 183, 183, 172,
92 138, 64, 38, 240, 240, 240, 240, 240, 240, 240, 240, 207, 207, 207, 207,
93 204, 204, 204, 193, 193, 180, 143, 66, 40, 185, 185, 185, 185, 185, 185,
94 185, 185, 193, 193, 193, 193, 193, 193, 193, 183, 183, 172, 138, 65, 39,
95 207, 207, 207, 207, 207, 207, 207, 207, 204, 204, 204, 204, 201, 201, 201,
96 188, 188, 176, 141, 66, 40, 193, 193, 193, 193, 193, 193, 193, 193, 193,
97 193, 193, 193, 194, 194, 194, 184, 184, 173, 139, 65, 39, 204, 204, 204,
98 204, 204, 204, 204, 204, 201, 201, 201, 201, 198, 198, 198, 187, 187, 175,
99 140, 66, 40, };
100 #endif
101
102 #ifndef FFT_TWIDDLES48000_960
103 #define FFT_TWIDDLES48000_960
104 static const kiss_twiddle_cpx fft_twiddles48000_960[480] = {
105 {32767, 0}, {32766, -429},
106 {32757, -858}, {32743, -1287},
107 {32724, -1715}, {32698, -2143},
108 {32667, -2570}, {32631, -2998},
109 {32588, -3425}, {32541, -3851},
110 {32488, -4277}, {32429, -4701},
111 {32364, -5125}, {32295, -5548},
112 {32219, -5971}, {32138, -6393},
113 {32051, -6813}, {31960, -7231},
114 {31863, -7650}, {31760, -8067},
115 {31652, -8481}, {31539, -8895},
116 {31419, -9306}, {31294, -9716},
117 {31165, -10126}, {31030, -10532},
118 {30889, -10937}, {30743, -11340},
119 {30592, -11741}, {30436, -12141},
120 {30274, -12540}, {30107, -12935},
121 {29936, -13328}, {29758, -13718},
122 {29577, -14107}, {29390, -14493},
123 {29197, -14875}, {29000, -15257},
124 {28797, -15635}, {28590, -16010},
125 {28379, -16384}, {28162, -16753},
126 {27940, -17119}, {27714, -17484},
127 {27482, -17845}, {27246, -18205},
128 {27006, -18560}, {26760, -18911},
129 {26510, -19260}, {26257, -19606},
130 {25997, -19947}, {25734, -20286},
131 {25466, -20621}, {25194, -20952},
132 {24918, -21281}, {24637, -21605},
133 {24353, -21926}, {24063, -22242},
134 {23770, -22555}, {23473, -22865},
135 {23171, -23171}, {22866, -23472},
136 {22557, -23769}, {22244, -24063},
137 {21927, -24352}, {21606, -24636},
138 {21282, -24917}, {20954, -25194},
139 {20622, -25465}, {20288, -25733},
140 {19949, -25997}, {19607, -26255},
141 {19261, -26509}, {18914, -26760},
142 {18561, -27004}, {18205, -27246},
143 {17846, -27481}, {17485, -27713},
144 {17122, -27940}, {16755, -28162},
145 {16385, -28378}, {16012, -28590},
146 {15636, -28797}, {15258, -28999},
147 {14878, -29197}, {14494, -29389},
148 {14108, -29576}, {13720, -29757},
149 {13329, -29934}, {12937, -30107},
150 {12540, -30274}, {12142, -30435},
151 {11744, -30592}, {11342, -30743},
152 {10939, -30889}, {10534, -31030},
153 {10127, -31164}, {9718, -31294},
154 {9307, -31418}, {8895, -31537},
155 {8482, -31652}, {8067, -31759},
156 {7650, -31862}, {7233, -31960},
157 {6815, -32051}, {6393, -32138},
158 {5973, -32219}, {5549, -32294},
159 {5127, -32364}, {4703, -32429},
160 {4278, -32487}, {3852, -32541},
161 {3426, -32588}, {2999, -32630},
162 {2572, -32667}, {2144, -32698},
163 {1716, -32724}, {1287, -32742},
164 {860, -32757}, {430, -32766},
165 {0, -32767}, {-429, -32766},
166 {-858, -32757}, {-1287, -32743},
167 {-1715, -32724}, {-2143, -32698},
168 {-2570, -32667}, {-2998, -32631},
169 {-3425, -32588}, {-3851, -32541},
170 {-4277, -32488}, {-4701, -32429},
171 {-5125, -32364}, {-5548, -32295},
172 {-5971, -32219}, {-6393, -32138},
173 {-6813, -32051}, {-7231, -31960},
174 {-7650, -31863}, {-8067, -31760},
175 {-8481, -31652}, {-8895, -31539},
176 {-9306, -31419}, {-9716, -31294},
177 {-10126, -31165}, {-10532, -31030},
178 {-10937, -30889}, {-11340, -30743},
179 {-11741, -30592}, {-12141, -30436},
180 {-12540, -30274}, {-12935, -30107},
181 {-13328, -29936}, {-13718, -29758},
182 {-14107, -29577}, {-14493, -29390},
183 {-14875, -29197}, {-15257, -29000},
184 {-15635, -28797}, {-16010, -28590},
185 {-16384, -28379}, {-16753, -28162},
186 {-17119, -27940}, {-17484, -27714},
187 {-17845, -27482}, {-18205, -27246},
188 {-18560, -27006}, {-18911, -26760},
189 {-19260, -26510}, {-19606, -26257},
190 {-19947, -25997}, {-20286, -25734},
191 {-20621, -25466}, {-20952, -25194},
192 {-21281, -24918}, {-21605, -24637},
193 {-21926, -24353}, {-22242, -24063},
194 {-22555, -23770}, {-22865, -23473},
195 {-23171, -23171}, {-23472, -22866},
196 {-23769, -22557}, {-24063, -22244},
197 {-24352, -21927}, {-24636, -21606},
198 {-24917, -21282}, {-25194, -20954},
199 {-25465, -20622}, {-25733, -20288},
200 {-25997, -19949}, {-26255, -19607},
201 {-26509, -19261}, {-26760, -18914},
202 {-27004, -18561}, {-27246, -18205},
203 {-27481, -17846}, {-27713, -17485},
204 {-27940, -17122}, {-28162, -16755},
205 {-28378, -16385}, {-28590, -16012},
206 {-28797, -15636}, {-28999, -15258},
207 {-29197, -14878}, {-29389, -14494},
208 {-29576, -14108}, {-29757, -13720},
209 {-29934, -13329}, {-30107, -12937},
210 {-30274, -12540}, {-30435, -12142},
211 {-30592, -11744}, {-30743, -11342},
212 {-30889, -10939}, {-31030, -10534},
213 {-31164, -10127}, {-31294, -9718},
214 {-31418, -9307}, {-31537, -8895},
215 {-31652, -8482}, {-31759, -8067},
216 {-31862, -7650}, {-31960, -7233},
217 {-32051, -6815}, {-32138, -6393},
218 {-32219, -5973}, {-32294, -5549},
219 {-32364, -5127}, {-32429, -4703},
220 {-32487, -4278}, {-32541, -3852},
221 {-32588, -3426}, {-32630, -2999},
222 {-32667, -2572}, {-32698, -2144},
223 {-32724, -1716}, {-32742, -1287},
224 {-32757, -860}, {-32766, -430},
225 {-32767, 0}, {-32766, 429},
226 {-32757, 858}, {-32743, 1287},
227 {-32724, 1715}, {-32698, 2143},
228 {-32667, 2570}, {-32631, 2998},
229 {-32588, 3425}, {-32541, 3851},
230 {-32488, 4277}, {-32429, 4701},
231 {-32364, 5125}, {-32295, 5548},
232 {-32219, 5971}, {-32138, 6393},
233 {-32051, 6813}, {-31960, 7231},
234 {-31863, 7650}, {-31760, 8067},
235 {-31652, 8481}, {-31539, 8895},
236 {-31419, 9306}, {-31294, 9716},
237 {-31165, 10126}, {-31030, 10532},
238 {-30889, 10937}, {-30743, 11340},
239 {-30592, 11741}, {-30436, 12141},
240 {-30274, 12540}, {-30107, 12935},
241 {-29936, 13328}, {-29758, 13718},
242 {-29577, 14107}, {-29390, 14493},
243 {-29197, 14875}, {-29000, 15257},
244 {-28797, 15635}, {-28590, 16010},
245 {-28379, 16384}, {-28162, 16753},
246 {-27940, 17119}, {-27714, 17484},
247 {-27482, 17845}, {-27246, 18205},
248 {-27006, 18560}, {-26760, 18911},
249 {-26510, 19260}, {-26257, 19606},
250 {-25997, 19947}, {-25734, 20286},
251 {-25466, 20621}, {-25194, 20952},
252 {-24918, 21281}, {-24637, 21605},
253 {-24353, 21926}, {-24063, 22242},
254 {-23770, 22555}, {-23473, 22865},
255 {-23171, 23171}, {-22866, 23472},
256 {-22557, 23769}, {-22244, 24063},
257 {-21927, 24352}, {-21606, 24636},
258 {-21282, 24917}, {-20954, 25194},
259 {-20622, 25465}, {-20288, 25733},
260 {-19949, 25997}, {-19607, 26255},
261 {-19261, 26509}, {-18914, 26760},
262 {-18561, 27004}, {-18205, 27246},
263 {-17846, 27481}, {-17485, 27713},
264 {-17122, 27940}, {-16755, 28162},
265 {-16385, 28378}, {-16012, 28590},
266 {-15636, 28797}, {-15258, 28999},
267 {-14878, 29197}, {-14494, 29389},
268 {-14108, 29576}, {-13720, 29757},
269 {-13329, 29934}, {-12937, 30107},
270 {-12540, 30274}, {-12142, 30435},
271 {-11744, 30592}, {-11342, 30743},
272 {-10939, 30889}, {-10534, 31030},
273 {-10127, 31164}, {-9718, 31294},
274 {-9307, 31418}, {-8895, 31537},
275 {-8482, 31652}, {-8067, 31759},
276 {-7650, 31862}, {-7233, 31960},
277 {-6815, 32051}, {-6393, 32138},
278 {-5973, 32219}, {-5549, 32294},
279 {-5127, 32364}, {-4703, 32429},
280 {-4278, 32487}, {-3852, 32541},
281 {-3426, 32588}, {-2999, 32630},
282 {-2572, 32667}, {-2144, 32698},
283 {-1716, 32724}, {-1287, 32742},
284 {-860, 32757}, {-430, 32766},
285 {0, 32767}, {429, 32766},
286 {858, 32757}, {1287, 32743},
287 {1715, 32724}, {2143, 32698},
288 {2570, 32667}, {2998, 32631},
289 {3425, 32588}, {3851, 32541},
290 {4277, 32488}, {4701, 32429},
291 {5125, 32364}, {5548, 32295},
292 {5971, 32219}, {6393, 32138},
293 {6813, 32051}, {7231, 31960},
294 {7650, 31863}, {8067, 31760},
295 {8481, 31652}, {8895, 31539},
296 {9306, 31419}, {9716, 31294},
297 {10126, 31165}, {10532, 31030},
298 {10937, 30889}, {11340, 30743},
299 {11741, 30592}, {12141, 30436},
300 {12540, 30274}, {12935, 30107},
301 {13328, 29936}, {13718, 29758},
302 {14107, 29577}, {14493, 29390},
303 {14875, 29197}, {15257, 29000},
304 {15635, 28797}, {16010, 28590},
305 {16384, 28379}, {16753, 28162},
306 {17119, 27940}, {17484, 27714},
307 {17845, 27482}, {18205, 27246},
308 {18560, 27006}, {18911, 26760},
309 {19260, 26510}, {19606, 26257},
310 {19947, 25997}, {20286, 25734},
311 {20621, 25466}, {20952, 25194},
312 {21281, 24918}, {21605, 24637},
313 {21926, 24353}, {22242, 24063},
314 {22555, 23770}, {22865, 23473},
315 {23171, 23171}, {23472, 22866},
316 {23769, 22557}, {24063, 22244},
317 {24352, 21927}, {24636, 21606},
318 {24917, 21282}, {25194, 20954},
319 {25465, 20622}, {25733, 20288},
320 {25997, 19949}, {26255, 19607},
321 {26509, 19261}, {26760, 18914},
322 {27004, 18561}, {27246, 18205},
323 {27481, 17846}, {27713, 17485},
324 {27940, 17122}, {28162, 16755},
325 {28378, 16385}, {28590, 16012},
326 {28797, 15636}, {28999, 15258},
327 {29197, 14878}, {29389, 14494},
328 {29576, 14108}, {29757, 13720},
329 {29934, 13329}, {30107, 12937},
330 {30274, 12540}, {30435, 12142},
331 {30592, 11744}, {30743, 11342},
332 {30889, 10939}, {31030, 10534},
333 {31164, 10127}, {31294, 9718},
334 {31418, 9307}, {31537, 8895},
335 {31652, 8482}, {31759, 8067},
336 {31862, 7650}, {31960, 7233},
337 {32051, 6815}, {32138, 6393},
338 {32219, 5973}, {32294, 5549},
339 {32364, 5127}, {32429, 4703},
340 {32487, 4278}, {32541, 3852},
341 {32588, 3426}, {32630, 2999},
342 {32667, 2572}, {32698, 2144},
343 {32724, 1716}, {32742, 1287},
344 {32757, 860}, {32766, 430},
345 };
346 #ifndef FFT_BITREV480
347 #define FFT_BITREV480
348 static const opus_int16 fft_bitrev480[480] = {
349 0, 96, 192, 288, 384, 32, 128, 224, 320, 416, 64, 160, 256, 352, 448,
350 8, 104, 200, 296, 392, 40, 136, 232, 328, 424, 72, 168, 264, 360, 456,
351 16, 112, 208, 304, 400, 48, 144, 240, 336, 432, 80, 176, 272, 368, 464,
352 24, 120, 216, 312, 408, 56, 152, 248, 344, 440, 88, 184, 280, 376, 472,
353 4, 100, 196, 292, 388, 36, 132, 228, 324, 420, 68, 164, 260, 356, 452,
354 12, 108, 204, 300, 396, 44, 140, 236, 332, 428, 76, 172, 268, 364, 460,
355 20, 116, 212, 308, 404, 52, 148, 244, 340, 436, 84, 180, 276, 372, 468,
356 28, 124, 220, 316, 412, 60, 156, 252, 348, 444, 92, 188, 284, 380, 476,
357 1, 97, 193, 289, 385, 33, 129, 225, 321, 417, 65, 161, 257, 353, 449,
358 9, 105, 201, 297, 393, 41, 137, 233, 329, 425, 73, 169, 265, 361, 457,
359 17, 113, 209, 305, 401, 49, 145, 241, 337, 433, 81, 177, 273, 369, 465,
360 25, 121, 217, 313, 409, 57, 153, 249, 345, 441, 89, 185, 281, 377, 473,
361 5, 101, 197, 293, 389, 37, 133, 229, 325, 421, 69, 165, 261, 357, 453,
362 13, 109, 205, 301, 397, 45, 141, 237, 333, 429, 77, 173, 269, 365, 461,
363 21, 117, 213, 309, 405, 53, 149, 245, 341, 437, 85, 181, 277, 373, 469,
364 29, 125, 221, 317, 413, 61, 157, 253, 349, 445, 93, 189, 285, 381, 477,
365 2, 98, 194, 290, 386, 34, 130, 226, 322, 418, 66, 162, 258, 354, 450,
366 10, 106, 202, 298, 394, 42, 138, 234, 330, 426, 74, 170, 266, 362, 458,
367 18, 114, 210, 306, 402, 50, 146, 242, 338, 434, 82, 178, 274, 370, 466,
368 26, 122, 218, 314, 410, 58, 154, 250, 346, 442, 90, 186, 282, 378, 474,
369 6, 102, 198, 294, 390, 38, 134, 230, 326, 422, 70, 166, 262, 358, 454,
370 14, 110, 206, 302, 398, 46, 142, 238, 334, 430, 78, 174, 270, 366, 462,
371 22, 118, 214, 310, 406, 54, 150, 246, 342, 438, 86, 182, 278, 374, 470,
372 30, 126, 222, 318, 414, 62, 158, 254, 350, 446, 94, 190, 286, 382, 478,
373 3, 99, 195, 291, 387, 35, 131, 227, 323, 419, 67, 163, 259, 355, 451,
374 11, 107, 203, 299, 395, 43, 139, 235, 331, 427, 75, 171, 267, 363, 459,
375 19, 115, 211, 307, 403, 51, 147, 243, 339, 435, 83, 179, 275, 371, 467,
376 27, 123, 219, 315, 411, 59, 155, 251, 347, 443, 91, 187, 283, 379, 475,
377 7, 103, 199, 295, 391, 39, 135, 231, 327, 423, 71, 167, 263, 359, 455,
378 15, 111, 207, 303, 399, 47, 143, 239, 335, 431, 79, 175, 271, 367, 463,
379 23, 119, 215, 311, 407, 55, 151, 247, 343, 439, 87, 183, 279, 375, 471,
380 31, 127, 223, 319, 415, 63, 159, 255, 351, 447, 95, 191, 287, 383, 479,
381 };
382 #endif
383
384 #ifndef FFT_BITREV240
385 #define FFT_BITREV240
386 static const opus_int16 fft_bitrev240[240] = {
387 0, 48, 96, 144, 192, 16, 64, 112, 160, 208, 32, 80, 128, 176, 224,
388 4, 52, 100, 148, 196, 20, 68, 116, 164, 212, 36, 84, 132, 180, 228,
389 8, 56, 104, 152, 200, 24, 72, 120, 168, 216, 40, 88, 136, 184, 232,
390 12, 60, 108, 156, 204, 28, 76, 124, 172, 220, 44, 92, 140, 188, 236,
391 1, 49, 97, 145, 193, 17, 65, 113, 161, 209, 33, 81, 129, 177, 225,
392 5, 53, 101, 149, 197, 21, 69, 117, 165, 213, 37, 85, 133, 181, 229,
393 9, 57, 105, 153, 201, 25, 73, 121, 169, 217, 41, 89, 137, 185, 233,
394 13, 61, 109, 157, 205, 29, 77, 125, 173, 221, 45, 93, 141, 189, 237,
395 2, 50, 98, 146, 194, 18, 66, 114, 162, 210, 34, 82, 130, 178, 226,
396 6, 54, 102, 150, 198, 22, 70, 118, 166, 214, 38, 86, 134, 182, 230,
397 10, 58, 106, 154, 202, 26, 74, 122, 170, 218, 42, 90, 138, 186, 234,
398 14, 62, 110, 158, 206, 30, 78, 126, 174, 222, 46, 94, 142, 190, 238,
399 3, 51, 99, 147, 195, 19, 67, 115, 163, 211, 35, 83, 131, 179, 227,
400 7, 55, 103, 151, 199, 23, 71, 119, 167, 215, 39, 87, 135, 183, 231,
401 11, 59, 107, 155, 203, 27, 75, 123, 171, 219, 43, 91, 139, 187, 235,
402 15, 63, 111, 159, 207, 31, 79, 127, 175, 223, 47, 95, 143, 191, 239,
403 };
404 #endif
405
406 #ifndef FFT_BITREV120
407 #define FFT_BITREV120
408 static const opus_int16 fft_bitrev120[120] = {
409 0, 24, 48, 72, 96, 8, 32, 56, 80, 104, 16, 40, 64, 88, 112,
410 4, 28, 52, 76, 100, 12, 36, 60, 84, 108, 20, 44, 68, 92, 116,
411 1, 25, 49, 73, 97, 9, 33, 57, 81, 105, 17, 41, 65, 89, 113,
412 5, 29, 53, 77, 101, 13, 37, 61, 85, 109, 21, 45, 69, 93, 117,
413 2, 26, 50, 74, 98, 10, 34, 58, 82, 106, 18, 42, 66, 90, 114,
414 6, 30, 54, 78, 102, 14, 38, 62, 86, 110, 22, 46, 70, 94, 118,
415 3, 27, 51, 75, 99, 11, 35, 59, 83, 107, 19, 43, 67, 91, 115,
416 7, 31, 55, 79, 103, 15, 39, 63, 87, 111, 23, 47, 71, 95, 119,
417 };
418 #endif
419
420 #ifndef FFT_BITREV60
421 #define FFT_BITREV60
422 static const opus_int16 fft_bitrev60[60] = {
423 0, 12, 24, 36, 48, 4, 16, 28, 40, 52, 8, 20, 32, 44, 56,
424 1, 13, 25, 37, 49, 5, 17, 29, 41, 53, 9, 21, 33, 45, 57,
425 2, 14, 26, 38, 50, 6, 18, 30, 42, 54, 10, 22, 34, 46, 58,
426 3, 15, 27, 39, 51, 7, 19, 31, 43, 55, 11, 23, 35, 47, 59,
427 };
428 #endif
429
430 #ifndef FFT_STATE48000_960_0
431 #define FFT_STATE48000_960_0
432 static const kiss_fft_state fft_state48000_960_0 = {
433 480,    /* nfft */
434 17476,    /* scale */
435 8,      /* scale_shift */
436 -1,     /* shift */
437 {5, 96, 3, 32, 4, 8, 2, 4, 4, 1, 0, 0, 0, 0, 0, 0, },    /* factors */
438 fft_bitrev480,  /* bitrev */
439 fft_twiddles48000_960,  /* bitrev */
440 #ifdef OVERRIDE_FFT
441 (arch_fft_state *)&cfg_arch_480,
442 #else
443 NULL,
444 #endif
445 };
446 #endif
447
448 #ifndef FFT_STATE48000_960_1
449 #define FFT_STATE48000_960_1
450 static const kiss_fft_state fft_state48000_960_1 = {
451 240,    /* nfft */
452 17476,    /* scale */
453 7,      /* scale_shift */
454 1,      /* shift */
455 {5, 48, 3, 16, 4, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, },    /* factors */
456 fft_bitrev240,  /* bitrev */
457 fft_twiddles48000_960,  /* bitrev */
458 #ifdef OVERRIDE_FFT
459 (arch_fft_state *)&cfg_arch_240,
460 #else
461 NULL,
462 #endif
463 };
464 #endif
465
466 #ifndef FFT_STATE48000_960_2
467 #define FFT_STATE48000_960_2
468 static const kiss_fft_state fft_state48000_960_2 = {
469 120,    /* nfft */
470 17476,    /* scale */
471 6,      /* scale_shift */
472 2,      /* shift */
473 {5, 24, 3, 8, 2, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, },    /* factors */
474 fft_bitrev120,  /* bitrev */
475 fft_twiddles48000_960,  /* bitrev */
476 #ifdef OVERRIDE_FFT
477 (arch_fft_state *)&cfg_arch_120,
478 #else
479 NULL,
480 #endif
481 };
482 #endif
483
484 #ifndef FFT_STATE48000_960_3
485 #define FFT_STATE48000_960_3
486 static const kiss_fft_state fft_state48000_960_3 = {
487 60,     /* nfft */
488 17476,    /* scale */
489 5,      /* scale_shift */
490 3,      /* shift */
491 {5, 12, 3, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, },    /* factors */
492 fft_bitrev60,   /* bitrev */
493 fft_twiddles48000_960,  /* bitrev */
494 #ifdef OVERRIDE_FFT
495 (arch_fft_state *)&cfg_arch_60,
496 #else
497 NULL,
498 #endif
499 };
500 #endif
501
502 #endif
503
504 #ifndef MDCT_TWIDDLES960
505 #define MDCT_TWIDDLES960
506 static const opus_val16 mdct_twiddles960[1800] = {
507 32767, 32767, 32767, 32766, 32765,
508 32763, 32761, 32759, 32756, 32753,
509 32750, 32746, 32742, 32738, 32733,
510 32728, 32722, 32717, 32710, 32704,
511 32697, 32690, 32682, 32674, 32666,
512 32657, 32648, 32639, 32629, 32619,
513 32609, 32598, 32587, 32576, 32564,
514 32552, 32539, 32526, 32513, 32500,
515 32486, 32472, 32457, 32442, 32427,
516 32411, 32395, 32379, 32362, 32345,
517 32328, 32310, 32292, 32274, 32255,
518 32236, 32217, 32197, 32177, 32157,
519 32136, 32115, 32093, 32071, 32049,
520 32027, 32004, 31981, 31957, 31933,
521 31909, 31884, 31859, 31834, 31809,
522 31783, 31756, 31730, 31703, 31676,
523 31648, 31620, 31592, 31563, 31534,
524 31505, 31475, 31445, 31415, 31384,
525 31353, 31322, 31290, 31258, 31226,
526 31193, 31160, 31127, 31093, 31059,
527 31025, 30990, 30955, 30920, 30884,
528 30848, 30812, 30775, 30738, 30701,
529 30663, 30625, 30587, 30548, 30509,
530 30470, 30430, 30390, 30350, 30309,
531 30269, 30227, 30186, 30144, 30102,
532 30059, 30016, 29973, 29930, 29886,
533 29842, 29797, 29752, 29707, 29662,
534 29616, 29570, 29524, 29477, 29430,
535 29383, 29335, 29287, 29239, 29190,
536 29142, 29092, 29043, 28993, 28943,
537 28892, 28842, 28791, 28739, 28688,
538 28636, 28583, 28531, 28478, 28425,
539 28371, 28317, 28263, 28209, 28154,
540 28099, 28044, 27988, 27932, 27876,
541 27820, 27763, 27706, 27648, 27591,
542 27533, 27474, 27416, 27357, 27298,
543 27238, 27178, 27118, 27058, 26997,
544 26936, 26875, 26814, 26752, 26690,
545 26628, 26565, 26502, 26439, 26375,
546 26312, 26247, 26183, 26119, 26054,
547 25988, 25923, 25857, 25791, 25725,
548 25658, 25592, 25524, 25457, 25389,
549 25322, 25253, 25185, 25116, 25047,
550 24978, 24908, 24838, 24768, 24698,
551 24627, 24557, 24485, 24414, 24342,
552 24270, 24198, 24126, 24053, 23980,
553 23907, 23834, 23760, 23686, 23612,
554 23537, 23462, 23387, 23312, 23237,
555 23161, 23085, 23009, 22932, 22856,
556 22779, 22701, 22624, 22546, 22468,
557 22390, 22312, 22233, 22154, 22075,
558 21996, 21916, 21836, 21756, 21676,
559 21595, 21515, 21434, 21352, 21271,
560 21189, 21107, 21025, 20943, 20860,
561 20777, 20694, 20611, 20528, 20444,
562 20360, 20276, 20192, 20107, 20022,
563 19937, 19852, 19767, 19681, 19595,
564 19509, 19423, 19336, 19250, 19163,
565 19076, 18988, 18901, 18813, 18725,
566 18637, 18549, 18460, 18372, 18283,
567 18194, 18104, 18015, 17925, 17835,
568 17745, 17655, 17565, 17474, 17383,
569 17292, 17201, 17110, 17018, 16927,
570 16835, 16743, 16650, 16558, 16465,
571 16372, 16279, 16186, 16093, 15999,
572 15906, 15812, 15718, 15624, 15529,
573 15435, 15340, 15245, 15150, 15055,
574 14960, 14864, 14769, 14673, 14577,
575 14481, 14385, 14288, 14192, 14095,
576 13998, 13901, 13804, 13706, 13609,
577 13511, 13414, 13316, 13218, 13119,
578 13021, 12923, 12824, 12725, 12626,
579 12527, 12428, 12329, 12230, 12130,
580 12030, 11930, 11831, 11730, 11630,
581 11530, 11430, 11329, 11228, 11128,
582 11027, 10926, 10824, 10723, 10622,
583 10520, 10419, 10317, 10215, 10113,
584 10011, 9909, 9807, 9704, 9602,
585 9499, 9397, 9294, 9191, 9088,
586 8985, 8882, 8778, 8675, 8572,
587 8468, 8364, 8261, 8157, 8053,
588 7949, 7845, 7741, 7637, 7532,
589 7428, 7323, 7219, 7114, 7009,
590 6905, 6800, 6695, 6590, 6485,
591 6380, 6274, 6169, 6064, 5958,
592 5853, 5747, 5642, 5536, 5430,
593 5325, 5219, 5113, 5007, 4901,
594 4795, 4689, 4583, 4476, 4370,
595 4264, 4157, 4051, 3945, 3838,
596 3732, 3625, 3518, 3412, 3305,
597 3198, 3092, 2985, 2878, 2771,
598 2664, 2558, 2451, 2344, 2237,
599 2130, 2023, 1916, 1809, 1702,
600 1594, 1487, 1380, 1273, 1166,
601 1059, 952, 844, 737, 630,
602 523, 416, 308, 201, 94,
603 -13, -121, -228, -335, -442,
604 -550, -657, -764, -871, -978,
605 -1086, -1193, -1300, -1407, -1514,
606 -1621, -1728, -1835, -1942, -2049,
607 -2157, -2263, -2370, -2477, -2584,
608 -2691, -2798, -2905, -3012, -3118,
609 -3225, -3332, -3439, -3545, -3652,
610 -3758, -3865, -3971, -4078, -4184,
611 -4290, -4397, -4503, -4609, -4715,
612 -4821, -4927, -5033, -5139, -5245,
613 -5351, -5457, -5562, -5668, -5774,
614 -5879, -5985, -6090, -6195, -6301,
615 -6406, -6511, -6616, -6721, -6826,
616 -6931, -7036, -7140, -7245, -7349,
617 -7454, -7558, -7663, -7767, -7871,
618 -7975, -8079, -8183, -8287, -8390,
619 -8494, -8597, -8701, -8804, -8907,
620 -9011, -9114, -9217, -9319, -9422,
621 -9525, -9627, -9730, -9832, -9934,
622 -10037, -10139, -10241, -10342, -10444,
623 -10546, -10647, -10748, -10850, -10951,
624 -11052, -11153, -11253, -11354, -11455,
625 -11555, -11655, -11756, -11856, -11955,
626 -12055, -12155, -12254, -12354, -12453,
627 -12552, -12651, -12750, -12849, -12947,
628 -13046, -13144, -13242, -13340, -13438,
629 -13536, -13633, -13731, -13828, -13925,
630 -14022, -14119, -14216, -14312, -14409,
631 -14505, -14601, -14697, -14793, -14888,
632 -14984, -15079, -15174, -15269, -15364,
633 -15459, -15553, -15647, -15741, -15835,
634 -15929, -16023, -16116, -16210, -16303,
635 -16396, -16488, -16581, -16673, -16766,
636 -16858, -16949, -17041, -17133, -17224,
637 -17315, -17406, -17497, -17587, -17678,
638 -17768, -17858, -17948, -18037, -18127,
639 -18216, -18305, -18394, -18483, -18571,
640 -18659, -18747, -18835, -18923, -19010,
641 -19098, -19185, -19271, -19358, -19444,
642 -19531, -19617, -19702, -19788, -19873,
643 -19959, -20043, -20128, -20213, -20297,
644 -20381, -20465, -20549, -20632, -20715,
645 -20798, -20881, -20963, -21046, -21128,
646 -21210, -21291, -21373, -21454, -21535,
647 -21616, -21696, -21776, -21856, -21936,
648 -22016, -22095, -22174, -22253, -22331,
649 -22410, -22488, -22566, -22643, -22721,
650 -22798, -22875, -22951, -23028, -23104,
651 -23180, -23256, -23331, -23406, -23481,
652 -23556, -23630, -23704, -23778, -23852,
653 -23925, -23998, -24071, -24144, -24216,
654 -24288, -24360, -24432, -24503, -24574,
655 -24645, -24716, -24786, -24856, -24926,
656 -24995, -25064, -25133, -25202, -25270,
657 -25339, -25406, -25474, -25541, -25608,
658 -25675, -25742, -25808, -25874, -25939,
659 -26005, -26070, -26135, -26199, -26264,
660 -26327, -26391, -26455, -26518, -26581,
661 -26643, -26705, -26767, -26829, -26891,
662 -26952, -27013, -27073, -27133, -27193,
663 -27253, -27312, -27372, -27430, -27489,
664 -27547, -27605, -27663, -27720, -27777,
665 -27834, -27890, -27946, -28002, -28058,
666 -28113, -28168, -28223, -28277, -28331,
667 -28385, -28438, -28491, -28544, -28596,
668 -28649, -28701, -28752, -28803, -28854,
669 -28905, -28955, -29006, -29055, -29105,
670 -29154, -29203, -29251, -29299, -29347,
671 -29395, -29442, -29489, -29535, -29582,
672 -29628, -29673, -29719, -29764, -29808,
673 -29853, -29897, -29941, -29984, -30027,
674 -30070, -30112, -30154, -30196, -30238,
675 -30279, -30320, -30360, -30400, -30440,
676 -30480, -30519, -30558, -30596, -30635,
677 -30672, -30710, -30747, -30784, -30821,
678 -30857, -30893, -30929, -30964, -30999,
679 -31033, -31068, -31102, -31135, -31168,
680 -31201, -31234, -31266, -31298, -31330,
681 -31361, -31392, -31422, -31453, -31483,
682 -31512, -31541, -31570, -31599, -31627,
683 -31655, -31682, -31710, -31737, -31763,
684 -31789, -31815, -31841, -31866, -31891,
685 -31915, -31939, -31963, -31986, -32010,
686 -32032, -32055, -32077, -32099, -32120,
687 -32141, -32162, -32182, -32202, -32222,
688 -32241, -32260, -32279, -32297, -32315,
689 -32333, -32350, -32367, -32383, -32399,
690 -32415, -32431, -32446, -32461, -32475,
691 -32489, -32503, -32517, -32530, -32542,
692 -32555, -32567, -32579, -32590, -32601,
693 -32612, -32622, -32632, -32641, -32651,
694 -32659, -32668, -32676, -32684, -32692,
695 -32699, -32706, -32712, -32718, -32724,
696 -32729, -32734, -32739, -32743, -32747,
697 -32751, -32754, -32757, -32760, -32762,
698 -32764, -32765, -32767, -32767, -32767,
699 32767, 32767, 32765, 32761, 32756,
700 32750, 32742, 32732, 32722, 32710,
701 32696, 32681, 32665, 32647, 32628,
702 32608, 32586, 32562, 32538, 32512,
703 32484, 32455, 32425, 32393, 32360,
704 32326, 32290, 32253, 32214, 32174,
705 32133, 32090, 32046, 32001, 31954,
706 31906, 31856, 31805, 31753, 31700,
707 31645, 31588, 31530, 31471, 31411,
708 31349, 31286, 31222, 31156, 31089,
709 31020, 30951, 30880, 30807, 30733,
710 30658, 30582, 30504, 30425, 30345,
711 30263, 30181, 30096, 30011, 29924,
712 29836, 29747, 29656, 29564, 29471,
713 29377, 29281, 29184, 29086, 28987,
714 28886, 28784, 28681, 28577, 28471,
715 28365, 28257, 28147, 28037, 27925,
716 27812, 27698, 27583, 27467, 27349,
717 27231, 27111, 26990, 26868, 26744,
718 26620, 26494, 26367, 26239, 26110,
719 25980, 25849, 25717, 25583, 25449,
720 25313, 25176, 25038, 24900, 24760,
721 24619, 24477, 24333, 24189, 24044,
722 23898, 23751, 23602, 23453, 23303,
723 23152, 22999, 22846, 22692, 22537,
724 22380, 22223, 22065, 21906, 21746,
725 21585, 21423, 21261, 21097, 20933,
726 20767, 20601, 20434, 20265, 20096,
727 19927, 19756, 19584, 19412, 19239,
728 19065, 18890, 18714, 18538, 18361,
729 18183, 18004, 17824, 17644, 17463,
730 17281, 17098, 16915, 16731, 16546,
731 16361, 16175, 15988, 15800, 15612,
732 15423, 15234, 15043, 14852, 14661,
733 14469, 14276, 14083, 13889, 13694,
734 13499, 13303, 13107, 12910, 12713,
735 12515, 12317, 12118, 11918, 11718,
736 11517, 11316, 11115, 10913, 10710,
737 10508, 10304, 10100, 9896, 9691,
738 9486, 9281, 9075, 8869, 8662,
739 8455, 8248, 8040, 7832, 7623,
740 7415, 7206, 6996, 6787, 6577,
741 6366, 6156, 5945, 5734, 5523,
742 5311, 5100, 4888, 4675, 4463,
743 4251, 4038, 3825, 3612, 3399,
744 3185, 2972, 2758, 2544, 2330,
745 2116, 1902, 1688, 1474, 1260,
746 1045, 831, 617, 402, 188,
747 -27, -241, -456, -670, -885,
748 -1099, -1313, -1528, -1742, -1956,
749 -2170, -2384, -2598, -2811, -3025,
750 -3239, -3452, -3665, -3878, -4091,
751 -4304, -4516, -4728, -4941, -5153,
752 -5364, -5576, -5787, -5998, -6209,
753 -6419, -6629, -6839, -7049, -7258,
754 -7467, -7676, -7884, -8092, -8300,
755 -8507, -8714, -8920, -9127, -9332,
756 -9538, -9743, -9947, -10151, -10355,
757 -10558, -10761, -10963, -11165, -11367,
758 -11568, -11768, -11968, -12167, -12366,
759 -12565, -12762, -12960, -13156, -13352,
760 -13548, -13743, -13937, -14131, -14324,
761 -14517, -14709, -14900, -15091, -15281,
762 -15470, -15659, -15847, -16035, -16221,
763 -16407, -16593, -16777, -16961, -17144,
764 -17326, -17508, -17689, -17869, -18049,
765 -18227, -18405, -18582, -18758, -18934,
766 -19108, -19282, -19455, -19627, -19799,
767 -19969, -20139, -20308, -20475, -20642,
768 -20809, -20974, -21138, -21301, -21464,
769 -21626, -21786, -21946, -22105, -22263,
770 -22420, -22575, -22730, -22884, -23037,
771 -23189, -23340, -23490, -23640, -23788,
772 -23935, -24080, -24225, -24369, -24512,
773 -24654, -24795, -24934, -25073, -25211,
774 -25347, -25482, -25617, -25750, -25882,
775 -26013, -26143, -26272, -26399, -26526,
776 -26651, -26775, -26898, -27020, -27141,
777 -27260, -27379, -27496, -27612, -27727,
778 -27841, -27953, -28065, -28175, -28284,
779 -28391, -28498, -28603, -28707, -28810,
780 -28911, -29012, -29111, -29209, -29305,
781 -29401, -29495, -29587, -29679, -29769,
782 -29858, -29946, -30032, -30118, -30201,
783 -30284, -30365, -30445, -30524, -30601,
784 -30677, -30752, -30825, -30897, -30968,
785 -31038, -31106, -31172, -31238, -31302,
786 -31365, -31426, -31486, -31545, -31602,
787 -31658, -31713, -31766, -31818, -31869,
788 -31918, -31966, -32012, -32058, -32101,
789 -32144, -32185, -32224, -32262, -32299,
790 -32335, -32369, -32401, -32433, -32463,
791 -32491, -32518, -32544, -32568, -32591,
792 -32613, -32633, -32652, -32669, -32685,
793 -32700, -32713, -32724, -32735, -32744,
794 -32751, -32757, -32762, -32766, -32767,
795 32767, 32764, 32755, 32741, 32720,
796 32694, 32663, 32626, 32583, 32535,
797 32481, 32421, 32356, 32286, 32209,
798 32128, 32041, 31948, 31850, 31747,
799 31638, 31523, 31403, 31278, 31148,
800 31012, 30871, 30724, 30572, 30415,
801 30253, 30086, 29913, 29736, 29553,
802 29365, 29172, 28974, 28771, 28564,
803 28351, 28134, 27911, 27684, 27452,
804 27216, 26975, 26729, 26478, 26223,
805 25964, 25700, 25432, 25159, 24882,
806 24601, 24315, 24026, 23732, 23434,
807 23133, 22827, 22517, 22204, 21886,
808 21565, 21240, 20912, 20580, 20244,
809 19905, 19563, 19217, 18868, 18516,
810 18160, 17802, 17440, 17075, 16708,
811 16338, 15964, 15588, 15210, 14829,
812 14445, 14059, 13670, 13279, 12886,
813 12490, 12093, 11693, 11291, 10888,
814 10482, 10075, 9666, 9255, 8843,
815 8429, 8014, 7597, 7180, 6760,
816 6340, 5919, 5496, 5073, 4649,
817 4224, 3798, 3372, 2945, 2517,
818 2090, 1661, 1233, 804, 375,
819 -54, -483, -911, -1340, -1768,
820 -2197, -2624, -3052, -3479, -3905,
821 -4330, -4755, -5179, -5602, -6024,
822 -6445, -6865, -7284, -7702, -8118,
823 -8533, -8946, -9358, -9768, -10177,
824 -10584, -10989, -11392, -11793, -12192,
825 -12589, -12984, -13377, -13767, -14155,
826 -14541, -14924, -15305, -15683, -16058,
827 -16430, -16800, -17167, -17531, -17892,
828 -18249, -18604, -18956, -19304, -19649,
829 -19990, -20329, -20663, -20994, -21322,
830 -21646, -21966, -22282, -22595, -22904,
831 -23208, -23509, -23806, -24099, -24387,
832 -24672, -24952, -25228, -25499, -25766,
833 -26029, -26288, -26541, -26791, -27035,
834 -27275, -27511, -27741, -27967, -28188,
835 -28405, -28616, -28823, -29024, -29221,
836 -29412, -29599, -29780, -29957, -30128,
837 -30294, -30455, -30611, -30761, -30906,
838 -31046, -31181, -31310, -31434, -31552,
839 -31665, -31773, -31875, -31972, -32063,
840 -32149, -32229, -32304, -32373, -32437,
841 -32495, -32547, -32594, -32635, -32671,
842 -32701, -32726, -32745, -32758, -32766,
843 32767, 32754, 32717, 32658, 32577,
844 32473, 32348, 32200, 32029, 31837,
845 31624, 31388, 31131, 30853, 30553,
846 30232, 29891, 29530, 29148, 28746,
847 28324, 27883, 27423, 26944, 26447,
848 25931, 25398, 24847, 24279, 23695,
849 23095, 22478, 21846, 21199, 20538,
850 19863, 19174, 18472, 17757, 17030,
851 16291, 15541, 14781, 14010, 13230,
852 12441, 11643, 10837, 10024, 9204,
853 8377, 7545, 6708, 5866, 5020,
854 4171, 3319, 2464, 1608, 751,
855 -107, -965, -1822, -2678, -3532,
856 -4383, -5232, -6077, -6918, -7754,
857 -8585, -9409, -10228, -11039, -11843,
858 -12639, -13426, -14204, -14972, -15730,
859 -16477, -17213, -17937, -18648, -19347,
860 -20033, -20705, -21363, -22006, -22634,
861 -23246, -23843, -24423, -24986, -25533,
862 -26062, -26573, -27066, -27540, -27995,
863 -28431, -28848, -29245, -29622, -29979,
864 -30315, -30630, -30924, -31197, -31449,
865 -31679, -31887, -32074, -32239, -32381,
866 -32501, -32600, -32675, -32729, -32759,
867 };
868 #endif
869
870 static const CELTMode mode48000_960_120 = {
871 48000,  /* Fs */
872 120,    /* overlap */
873 21,     /* nbEBands */
874 21,     /* effEBands */
875 {27853, 0, 4096, 8192, },       /* preemph */
876 eband5ms,       /* eBands */
877 3,      /* maxLM */
878 8,      /* nbShortMdcts */
879 120,    /* shortMdctSize */
880 11,     /* nbAllocVectors */
881 band_allocation,        /* allocVectors */
882 logN400,        /* logN */
883 window120,      /* window */
884 {1920, 3, {&fft_state48000_960_0, &fft_state48000_960_1, &fft_state48000_960_2, &fft_state48000_960_3, }, mdct_twiddles960},    /* mdct */
885 {392, cache_index50, cache_bits50, cache_caps50},       /* cache */
886 };
887
888 /* List of all the available modes */
889 #define TOTAL_MODES 1
890 static const CELTMode * const static_mode_list[TOTAL_MODES] = {
891 &mode48000_960_120,
892 };