static_modes_fixed.h 32 KB

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