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