Source code
Revision control
Copy as Markdown
Other Tools
/* Copyright (c) 2026 Lynne */
/*
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* This file is grid-generated. Do not edit. */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "celt_tx_tables.h"
#if defined(NEED_CELT_TX_TABLES)
typedef kiss_fft_cpx cpx;
const opus_int16 celt_tx_mdct_map_120[120] = {
80, 40, 0, 56, 32, 8, 104, 16, 112, 88, 64, 96,
72, 48, 24, 110, 70, 30, 86, 62, 38, 14, 46, 22,
118, 94, 6, 102, 78, 54, 20, 100, 60, 116, 92, 68,
44, 76, 52, 28, 4, 36, 12, 108, 84, 50, 10, 90,
26, 2, 98, 74, 106, 82, 58, 34, 66, 42, 18, 114,
2, 49, 40, 26, 5, 46, 42, 21, 7, 58, 30, 23,
14, 48, 39, 17, 4, 55, 41, 20, 1, 57, 36, 22,
13, 45, 38, 29, 3, 54, 32, 19, 10, 56, 35, 16,
12, 51, 37, 28, 0, 53, 44, 18, 9, 47, 34, 25,
11, 50, 31, 27, 6, 52, 43, 15, 8, 59, 33, 24,
};
const opus_int16 celt_tx_pfa_map_60[60] = {
0, 5, 10, 15, 16, 21, 26, 31, 32, 37, 42, 47,
48, 53, 58, 3, 4, 9, 14, 19, 20, 25, 30, 35,
36, 41, 46, 51, 52, 57, 2, 7, 8, 13, 18, 23,
24, 29, 34, 39, 40, 45, 50, 55, 56, 1, 6, 11,
12, 17, 22, 27, 28, 33, 38, 43, 44, 49, 54, 59,
};
const opus_int16 celt_tx_p2_map_4[4] = {
0, 3, 2, 1,
};
const opus_int16 celt_tx_mdct_map_240[240] = {
160, 80, 0, 112, 64, 16, 208, 32, 224, 176, 128, 192,
144, 96, 48, 190, 110, 30, 142, 94, 46, 238, 62, 14,
206, 158, 222, 174, 126, 78, 220, 140, 60, 172, 124, 76,
28, 92, 44, 236, 188, 12, 204, 156, 108, 10, 170, 90,
202, 154, 106, 58, 122, 74, 26, 218, 42, 234, 186, 138,
40, 200, 120, 232, 184, 136, 88, 152, 104, 56, 8, 72,
24, 216, 168, 70, 230, 150, 22, 214, 166, 118, 182, 134,
86, 38, 102, 54, 6, 198, 100, 20, 180, 52, 4, 196,
148, 212, 164, 116, 68, 132, 84, 36, 228, 130, 50, 210,
82, 34, 226, 178, 2, 194, 146, 98, 162, 114, 66, 18,
2, 112, 94, 88, 70, 45, 41, 23, 5, 119, 91, 78,
72, 54, 36, 17, 7, 109, 103, 85, 60, 56, 38, 20,
14, 106, 93, 87, 69, 51, 32, 22, 4, 118, 100, 75,
71, 53, 35, 29, 1, 108, 102, 84, 66, 47, 37, 19,
13, 115, 90, 86, 68, 50, 44, 16, 3, 117, 99, 81,
62, 52, 34, 28, 10, 105, 101, 83, 65, 59, 31, 18,
12, 114, 96, 77, 67, 49, 43, 25, 0, 116, 98, 80,
74, 46, 33, 27, 9, 111, 92, 82, 64, 58, 40, 15,
11, 113, 95, 89, 61, 48, 42, 24, 6, 107, 97, 79,
73, 55, 30, 26, 8, 110, 104, 76, 63, 57, 39, 21,
};
const opus_int16 celt_tx_pfa_map_120[120] = {
0, 9, 18, 27, 36, 45, 54, 63, 64, 73, 82, 91,
100, 109, 118, 7, 8, 17, 26, 35, 44, 53, 62, 71,
72, 81, 90, 99, 108, 117, 6, 15, 16, 25, 34, 43,
52, 61, 70, 79, 80, 89, 98, 107, 116, 5, 14, 23,
24, 33, 42, 51, 60, 69, 78, 87, 88, 97, 106, 115,
4, 13, 22, 31, 32, 41, 50, 59, 68, 77, 86, 95,
96, 105, 114, 3, 12, 21, 30, 39, 40, 49, 58, 67,
76, 85, 94, 103, 104, 113, 2, 11, 20, 29, 38, 47,
48, 57, 66, 75, 84, 93, 102, 111, 112, 1, 10, 19,
28, 37, 46, 55, 56, 65, 74, 83, 92, 101, 110, 119,
};
const opus_int16 celt_tx_p2_map_8[8] = {
0, 3, 5, 6, 4, 7, 1, 2,
};
const opus_int16 celt_tx_mdct_map_480[480] = {
320, 160, 0, 224, 128, 32, 416, 64, 448, 352, 256, 384,
288, 192, 96, 350, 190, 30, 254, 158, 62, 446, 94, 478,
382, 286, 414, 318, 222, 126, 380, 220, 60, 284, 188, 92,
476, 124, 28, 412, 316, 444, 348, 252, 156, 410, 250, 90,
314, 218, 122, 26, 154, 58, 442, 346, 474, 378, 282, 186,
440, 280, 120, 344, 248, 152, 56, 184, 88, 472, 376, 24,
408, 312, 216, 470, 310, 150, 374, 278, 182, 86, 214, 118,
22, 406, 54, 438, 342, 246, 20, 340, 180, 404, 308, 212,
116, 244, 148, 52, 436, 84, 468, 372, 276, 50, 370, 210,
434, 338, 242, 146, 274, 178, 82, 466, 114, 18, 402, 306,
80, 400, 240, 464, 368, 272, 176, 304, 208, 112, 16, 144,
48, 432, 336, 110, 430, 270, 14, 398, 302, 206, 334, 238,
142, 46, 174, 78, 462, 366, 140, 460, 300, 44, 428, 332,
236, 364, 268, 172, 76, 204, 108, 12, 396, 170, 10, 330,
74, 458, 362, 266, 394, 298, 202, 106, 234, 138, 42, 426,
200, 40, 360, 104, 8, 392, 296, 424, 328, 232, 136, 264,
168, 72, 456, 230, 70, 390, 134, 38, 422, 326, 454, 358,
262, 166, 294, 198, 102, 6, 260, 100, 420, 164, 68, 452,
356, 4, 388, 292, 196, 324, 228, 132, 36, 290, 130, 450,
194, 98, 2, 386, 34, 418, 322, 226, 354, 258, 162, 66,
2, 230, 217, 209, 184, 166, 163, 138, 130, 117, 90, 84,
71, 51, 38, 17, 5, 232, 224, 199, 181, 178, 153, 145,
132, 105, 99, 86, 66, 53, 32, 20, 7, 239, 214, 196,
193, 168, 160, 147, 120, 114, 101, 81, 68, 47, 35, 22,
14, 229, 211, 208, 183, 175, 162, 135, 129, 116, 96, 83,
62, 50, 37, 29, 4, 226, 223, 198, 190, 177, 150, 144,
131, 111, 98, 77, 65, 52, 44, 19, 1, 238, 213, 205,
192, 165, 159, 146, 126, 113, 92, 80, 67, 59, 34, 16,
13, 228, 220, 207, 180, 174, 161, 141, 128, 107, 95, 82,
74, 49, 31, 28, 3, 235, 222, 195, 189, 176, 156, 143,
122, 110, 97, 89, 64, 46, 43, 18, 10, 237, 210, 204,
191, 171, 158, 137, 125, 112, 104, 79, 61, 58, 33, 25,
12, 225, 219, 206, 186, 173, 152, 140, 127, 119, 94, 76,
73, 48, 40, 27, 0, 234, 221, 201, 188, 167, 155, 142,
134, 109, 91, 88, 63, 55, 42, 15, 9, 236, 216, 203,
182, 170, 157, 149, 124, 106, 103, 78, 70, 57, 30, 24,
11, 231, 218, 197, 185, 172, 164, 139, 121, 118, 93, 85,
72, 45, 39, 26, 6, 233, 212, 200, 187, 179, 154, 136,
133, 108, 100, 87, 60, 54, 41, 21, 8, 227, 215, 202,
194, 169, 151, 148, 123, 115, 102, 75, 69, 56, 36, 23,
};
const opus_int16 celt_tx_pfa_map_240[240] = {
0, 17, 34, 51, 68, 85, 102, 119, 136, 153, 170, 187,
204, 221, 238, 15, 16, 33, 50, 67, 84, 101, 118, 135,
152, 169, 186, 203, 220, 237, 14, 31, 32, 49, 66, 83,
100, 117, 134, 151, 168, 185, 202, 219, 236, 13, 30, 47,
48, 65, 82, 99, 116, 133, 150, 167, 184, 201, 218, 235,
12, 29, 46, 63, 64, 81, 98, 115, 132, 149, 166, 183,
200, 217, 234, 11, 28, 45, 62, 79, 80, 97, 114, 131,
148, 165, 182, 199, 216, 233, 10, 27, 44, 61, 78, 95,
96, 113, 130, 147, 164, 181, 198, 215, 232, 9, 26, 43,
60, 77, 94, 111, 112, 129, 146, 163, 180, 197, 214, 231,
8, 25, 42, 59, 76, 93, 110, 127, 128, 145, 162, 179,
196, 213, 230, 7, 24, 41, 58, 75, 92, 109, 126, 143,
144, 161, 178, 195, 212, 229, 6, 23, 40, 57, 74, 91,
108, 125, 142, 159, 160, 177, 194, 211, 228, 5, 22, 39,
56, 73, 90, 107, 124, 141, 158, 175, 176, 193, 210, 227,
4, 21, 38, 55, 72, 89, 106, 123, 140, 157, 174, 191,
192, 209, 226, 3, 20, 37, 54, 71, 88, 105, 122, 139,
156, 173, 190, 207, 208, 225, 2, 19, 36, 53, 70, 87,
104, 121, 138, 155, 172, 189, 206, 223, 224, 1, 18, 35,
52, 69, 86, 103, 120, 137, 154, 171, 188, 205, 222, 239,
};
const opus_int16 celt_tx_p2_map_16[16] = {
0, 12, 3, 11, 5, 15, 6, 10, 4, 14, 7, 9,
1, 13, 2, 8,
};
const opus_int16 celt_tx_mdct_map_960[960] = {
640, 320, 0, 448, 256, 64, 832, 128, 896, 704, 512, 768,
576, 384, 192, 670, 350, 30, 478, 286, 94, 862, 158, 926,
734, 542, 798, 606, 414, 222, 700, 380, 60, 508, 316, 124,
892, 188, 956, 764, 572, 828, 636, 444, 252, 730, 410, 90,
538, 346, 154, 922, 218, 26, 794, 602, 858, 666, 474, 282,
760, 440, 120, 568, 376, 184, 952, 248, 56, 824, 632, 888,
696, 504, 312, 790, 470, 150, 598, 406, 214, 22, 278, 86,
854, 662, 918, 726, 534, 342, 820, 500, 180, 628, 436, 244,
52, 308, 116, 884, 692, 948, 756, 564, 372, 850, 530, 210,
658, 466, 274, 82, 338, 146, 914, 722, 18, 786, 594, 402,
880, 560, 240, 688, 496, 304, 112, 368, 176, 944, 752, 48,
816, 624, 432, 910, 590, 270, 718, 526, 334, 142, 398, 206,
14, 782, 78, 846, 654, 462, 940, 620, 300, 748, 556, 364,
172, 428, 236, 44, 812, 108, 876, 684, 492, 10, 650, 330,
778, 586, 394, 202, 458, 266, 74, 842, 138, 906, 714, 522,
40, 680, 360, 808, 616, 424, 232, 488, 296, 104, 872, 168,
936, 744, 552, 70, 710, 390, 838, 646, 454, 262, 518, 326,
134, 902, 198, 6, 774, 582, 100, 740, 420, 868, 676, 484,
292, 548, 356, 164, 932, 228, 36, 804, 612, 130, 770, 450,
898, 706, 514, 322, 578, 386, 194, 2, 258, 66, 834, 642,
160, 800, 480, 928, 736, 544, 352, 608, 416, 224, 32, 288,
96, 864, 672, 190, 830, 510, 958, 766, 574, 382, 638, 446,
254, 62, 318, 126, 894, 702, 220, 860, 540, 28, 796, 604,
412, 668, 476, 284, 92, 348, 156, 924, 732, 250, 890, 570,
58, 826, 634, 442, 698, 506, 314, 122, 378, 186, 954, 762,
280, 920, 600, 88, 856, 664, 472, 728, 536, 344, 152, 408,
216, 24, 792, 310, 950, 630, 118, 886, 694, 502, 758, 566,
374, 182, 438, 246, 54, 822, 340, 20, 660, 148, 916, 724,
532, 788, 596, 404, 212, 468, 276, 84, 852, 370, 50, 690,
178, 946, 754, 562, 818, 626, 434, 242, 498, 306, 114, 882,
400, 80, 720, 208, 16, 784, 592, 848, 656, 464, 272, 528,
336, 144, 912, 430, 110, 750, 238, 46, 814, 622, 878, 686,
494, 302, 558, 366, 174, 942, 460, 140, 780, 268, 76, 844,
652, 908, 716, 524, 332, 588, 396, 204, 12, 490, 170, 810,
298, 106, 874, 682, 938, 746, 554, 362, 618, 426, 234, 42,
520, 200, 840, 328, 136, 904, 712, 8, 776, 584, 392, 648,
456, 264, 72, 550, 230, 870, 358, 166, 934, 742, 38, 806,
614, 422, 678, 486, 294, 102, 580, 260, 900, 388, 196, 4,
772, 68, 836, 644, 452, 708, 516, 324, 132, 610, 290, 930,
418, 226, 34, 802, 98, 866, 674, 482, 738, 546, 354, 162,
2, 235, 455, 207, 427, 165, 404, 144, 364, 116, 331, 81,
313, 53, 273, 17, 250, 470, 222, 442, 180, 419, 159, 379,
131, 346, 96, 328, 68, 288, 32, 265, 5, 237, 457, 195,
434, 174, 394, 146, 361, 111, 343, 83, 303, 47, 280, 20,
252, 472, 210, 449, 189, 409, 161, 376, 126, 358, 98, 318,
62, 295, 35, 267, 7, 225, 464, 204, 424, 176, 391, 141,
373, 113, 333, 77, 310, 50, 282, 22, 240, 479, 219, 439,
191, 406, 156, 388, 128, 348, 92, 325, 65, 297, 37, 255,
14, 234, 454, 206, 421, 171, 403, 143, 363, 107, 340, 80,
312, 52, 270, 29, 249, 469, 221, 436, 186, 418, 158, 378,
122, 355, 95, 327, 67, 285, 44, 264, 4, 236, 451, 201,
433, 173, 393, 137, 370, 110, 342, 82, 300, 59, 279, 19,
251, 466, 216, 448, 188, 408, 152, 385, 125, 357, 97, 315,
74, 294, 34, 266, 1, 231, 463, 203, 423, 167, 400, 140,
372, 112, 330, 89, 309, 49, 281, 16, 246, 478, 218, 438,
182, 415, 155, 387, 127, 345, 104, 324, 64, 296, 31, 261,
13, 233, 453, 197, 430, 170, 402, 142, 360, 119, 339, 79,
311, 46, 276, 28, 248, 468, 212, 445, 185, 417, 157, 375,
134, 354, 94, 326, 61, 291, 43, 263, 3, 227, 460, 200,
432, 172, 390, 149, 369, 109, 341, 76, 306, 58, 278, 18,
242, 475, 215, 447, 187, 405, 164, 384, 124, 356, 91, 321,
73, 293, 33, 257, 10, 230, 462, 202, 420, 179, 399, 139,
371, 106, 336, 88, 308, 48, 272, 25, 245, 477, 217, 435,
194, 414, 154, 386, 121, 351, 103, 323, 63, 287, 40, 260,
12, 232, 450, 209, 429, 169, 401, 136, 366, 118, 338, 78,
302, 55, 275, 27, 247, 465, 224, 444, 184, 416, 151, 381,
133, 353, 93, 317, 70, 290, 42, 262, 0, 239, 459, 199,
431, 166, 396, 148, 368, 108, 332, 85, 305, 57, 277, 15,
254, 474, 214, 446, 181, 411, 163, 383, 123, 347, 100, 320,
72, 292, 30, 269, 9, 229, 461, 196, 426, 178, 398, 138,
362, 115, 335, 87, 307, 45, 284, 24, 244, 476, 211, 441,
193, 413, 153, 377, 130, 350, 102, 322, 60, 299, 39, 259,
11, 226, 456, 208, 428, 168, 392, 145, 365, 117, 337, 75,
314, 54, 274, 26, 241, 471, 223, 443, 183, 407, 160, 380,
132, 352, 90, 329, 69, 289, 41, 256, 6, 238, 458, 198,
422, 175, 395, 147, 367, 105, 344, 84, 304, 56, 271, 21,
253, 473, 213, 437, 190, 410, 162, 382, 120, 359, 99, 319,
71, 286, 36, 268, 8, 228, 452, 205, 425, 177, 397, 135,
374, 114, 334, 86, 301, 51, 283, 23, 243, 467, 220, 440,
192, 412, 150, 389, 129, 349, 101, 316, 66, 298, 38, 258,
};
const opus_int16 celt_tx_pfa_map_480[480] = {
0, 33, 66, 99, 132, 165, 198, 231, 264, 297, 330, 363,
396, 429, 462, 15, 48, 81, 114, 147, 180, 213, 246, 279,
312, 345, 378, 411, 444, 477, 30, 63, 64, 97, 130, 163,
196, 229, 262, 295, 328, 361, 394, 427, 460, 13, 46, 79,
112, 145, 178, 211, 244, 277, 310, 343, 376, 409, 442, 475,
28, 61, 94, 127, 128, 161, 194, 227, 260, 293, 326, 359,
392, 425, 458, 11, 44, 77, 110, 143, 176, 209, 242, 275,
308, 341, 374, 407, 440, 473, 26, 59, 92, 125, 158, 191,
192, 225, 258, 291, 324, 357, 390, 423, 456, 9, 42, 75,
108, 141, 174, 207, 240, 273, 306, 339, 372, 405, 438, 471,
24, 57, 90, 123, 156, 189, 222, 255, 256, 289, 322, 355,
388, 421, 454, 7, 40, 73, 106, 139, 172, 205, 238, 271,
304, 337, 370, 403, 436, 469, 22, 55, 88, 121, 154, 187,
220, 253, 286, 319, 320, 353, 386, 419, 452, 5, 38, 71,
104, 137, 170, 203, 236, 269, 302, 335, 368, 401, 434, 467,
20, 53, 86, 119, 152, 185, 218, 251, 284, 317, 350, 383,
384, 417, 450, 3, 36, 69, 102, 135, 168, 201, 234, 267,
300, 333, 366, 399, 432, 465, 18, 51, 84, 117, 150, 183,
216, 249, 282, 315, 348, 381, 414, 447, 448, 1, 34, 67,
100, 133, 166, 199, 232, 265, 298, 331, 364, 397, 430, 463,
16, 49, 82, 115, 148, 181, 214, 247, 280, 313, 346, 379,
412, 445, 478, 31, 32, 65, 98, 131, 164, 197, 230, 263,
296, 329, 362, 395, 428, 461, 14, 47, 80, 113, 146, 179,
212, 245, 278, 311, 344, 377, 410, 443, 476, 29, 62, 95,
96, 129, 162, 195, 228, 261, 294, 327, 360, 393, 426, 459,
12, 45, 78, 111, 144, 177, 210, 243, 276, 309, 342, 375,
408, 441, 474, 27, 60, 93, 126, 159, 160, 193, 226, 259,
292, 325, 358, 391, 424, 457, 10, 43, 76, 109, 142, 175,
208, 241, 274, 307, 340, 373, 406, 439, 472, 25, 58, 91,
124, 157, 190, 223, 224, 257, 290, 323, 356, 389, 422, 455,
8, 41, 74, 107, 140, 173, 206, 239, 272, 305, 338, 371,
404, 437, 470, 23, 56, 89, 122, 155, 188, 221, 254, 287,
288, 321, 354, 387, 420, 453, 6, 39, 72, 105, 138, 171,
204, 237, 270, 303, 336, 369, 402, 435, 468, 21, 54, 87,
120, 153, 186, 219, 252, 285, 318, 351, 352, 385, 418, 451,
4, 37, 70, 103, 136, 169, 202, 235, 268, 301, 334, 367,
400, 433, 466, 19, 52, 85, 118, 151, 184, 217, 250, 283,
316, 349, 382, 415, 416, 449, 2, 35, 68, 101, 134, 167,
200, 233, 266, 299, 332, 365, 398, 431, 464, 17, 50, 83,
116, 149, 182, 215, 248, 281, 314, 347, 380, 413, 446, 479,
};
const opus_int16 celt_tx_p2_map_32[32] = {
0, 24, 12, 19, 3, 27, 11, 21, 5, 29, 15, 22,
6, 30, 10, 20, 4, 28, 14, 23, 7, 31, 9, 17,
1, 25, 13, 18, 2, 26, 8, 16,
};
#ifdef ENABLE_QEXT
const opus_int16 celt_tx_mdct_map_1920[1920] = {
1280, 640, 0, 896, 512, 128, 1664, 256, 1792, 1408, 1024, 1536,
1152, 768, 384, 1310, 670, 30, 926, 542, 158, 1694, 286, 1822,
1438, 1054, 1566, 1182, 798, 414, 1340, 700, 60, 956, 572, 188,
1724, 316, 1852, 1468, 1084, 1596, 1212, 828, 444, 1370, 730, 90,
986, 602, 218, 1754, 346, 1882, 1498, 1114, 1626, 1242, 858, 474,
1400, 760, 120, 1016, 632, 248, 1784, 376, 1912, 1528, 1144, 1656,
1272, 888, 504, 1430, 790, 150, 1046, 662, 278, 1814, 406, 22,
1558, 1174, 1686, 1302, 918, 534, 1460, 820, 180, 1076, 692, 308,
1844, 436, 52, 1588, 1204, 1716, 1332, 948, 564, 1490, 850, 210,
1106, 722, 338, 1874, 466, 82, 1618, 1234, 1746, 1362, 978, 594,
1520, 880, 240, 1136, 752, 368, 1904, 496, 112, 1648, 1264, 1776,
1392, 1008, 624, 1550, 910, 270, 1166, 782, 398, 14, 526, 142,
1678, 1294, 1806, 1422, 1038, 654, 1580, 940, 300, 1196, 812, 428,
44, 556, 172, 1708, 1324, 1836, 1452, 1068, 684, 1610, 970, 330,
1226, 842, 458, 74, 586, 202, 1738, 1354, 1866, 1482, 1098, 714,
1640, 1000, 360, 1256, 872, 488, 104, 616, 232, 1768, 1384, 1896,
1512, 1128, 744, 1670, 1030, 390, 1286, 902, 518, 134, 646, 262,
1798, 1414, 6, 1542, 1158, 774, 1700, 1060, 420, 1316, 932, 548,
164, 676, 292, 1828, 1444, 36, 1572, 1188, 804, 1730, 1090, 450,
1346, 962, 578, 194, 706, 322, 1858, 1474, 66, 1602, 1218, 834,
1760, 1120, 480, 1376, 992, 608, 224, 736, 352, 1888, 1504, 96,
1632, 1248, 864, 1790, 1150, 510, 1406, 1022, 638, 254, 766, 382,
1918, 1534, 126, 1662, 1278, 894, 1820, 1180, 540, 1436, 1052, 668,
284, 796, 412, 28, 1564, 156, 1692, 1308, 924, 1850, 1210, 570,
1466, 1082, 698, 314, 826, 442, 58, 1594, 186, 1722, 1338, 954,
1880, 1240, 600, 1496, 1112, 728, 344, 856, 472, 88, 1624, 216,
1752, 1368, 984, 1910, 1270, 630, 1526, 1142, 758, 374, 886, 502,
118, 1654, 246, 1782, 1398, 1014, 20, 1300, 660, 1556, 1172, 788,
404, 916, 532, 148, 1684, 276, 1812, 1428, 1044, 50, 1330, 690,
1586, 1202, 818, 434, 946, 562, 178, 1714, 306, 1842, 1458, 1074,
80, 1360, 720, 1616, 1232, 848, 464, 976, 592, 208, 1744, 336,
1872, 1488, 1104, 110, 1390, 750, 1646, 1262, 878, 494, 1006, 622,
238, 1774, 366, 1902, 1518, 1134, 140, 1420, 780, 1676, 1292, 908,
524, 1036, 652, 268, 1804, 396, 12, 1548, 1164, 170, 1450, 810,
1706, 1322, 938, 554, 1066, 682, 298, 1834, 426, 42, 1578, 1194,
200, 1480, 840, 1736, 1352, 968, 584, 1096, 712, 328, 1864, 456,
72, 1608, 1224, 230, 1510, 870, 1766, 1382, 998, 614, 1126, 742,
358, 1894, 486, 102, 1638, 1254, 260, 1540, 900, 1796, 1412, 1028,
644, 1156, 772, 388, 4, 516, 132, 1668, 1284, 290, 1570, 930,
1826, 1442, 1058, 674, 1186, 802, 418, 34, 546, 162, 1698, 1314,
320, 1600, 960, 1856, 1472, 1088, 704, 1216, 832, 448, 64, 576,
192, 1728, 1344, 350, 1630, 990, 1886, 1502, 1118, 734, 1246, 862,
478, 94, 606, 222, 1758, 1374, 380, 1660, 1020, 1916, 1532, 1148,
764, 1276, 892, 508, 124, 636, 252, 1788, 1404, 410, 1690, 1050,
26, 1562, 1178, 794, 1306, 922, 538, 154, 666, 282, 1818, 1434,
440, 1720, 1080, 56, 1592, 1208, 824, 1336, 952, 568, 184, 696,
312, 1848, 1464, 470, 1750, 1110, 86, 1622, 1238, 854, 1366, 982,
598, 214, 726, 342, 1878, 1494, 500, 1780, 1140, 116, 1652, 1268,
884, 1396, 1012, 628, 244, 756, 372, 1908, 1524, 530, 1810, 1170,
146, 1682, 1298, 914, 1426, 1042, 658, 274, 786, 402, 18, 1554,
560, 1840, 1200, 176, 1712, 1328, 944, 1456, 1072, 688, 304, 816,
432, 48, 1584, 590, 1870, 1230, 206, 1742, 1358, 974, 1486, 1102,
718, 334, 846, 462, 78, 1614, 620, 1900, 1260, 236, 1772, 1388,
1004, 1516, 1132, 748, 364, 876, 492, 108, 1644, 650, 10, 1290,
266, 1802, 1418, 1034, 1546, 1162, 778, 394, 906, 522, 138, 1674,
680, 40, 1320, 296, 1832, 1448, 1064, 1576, 1192, 808, 424, 936,
552, 168, 1704, 710, 70, 1350, 326, 1862, 1478, 1094, 1606, 1222,
838, 454, 966, 582, 198, 1734, 740, 100, 1380, 356, 1892, 1508,
1124, 1636, 1252, 868, 484, 996, 612, 228, 1764, 770, 130, 1410,
386, 2, 1538, 1154, 1666, 1282, 898, 514, 1026, 642, 258, 1794,
800, 160, 1440, 416, 32, 1568, 1184, 1696, 1312, 928, 544, 1056,
672, 288, 1824, 830, 190, 1470, 446, 62, 1598, 1214, 1726, 1342,
958, 574, 1086, 702, 318, 1854, 860, 220, 1500, 476, 92, 1628,
1244, 1756, 1372, 988, 604, 1116, 732, 348, 1884, 890, 250, 1530,
506, 122, 1658, 1274, 1786, 1402, 1018, 634, 1146, 762, 378, 1914,
920, 280, 1560, 536, 152, 1688, 1304, 1816, 1432, 1048, 664, 1176,
792, 408, 24, 950, 310, 1590, 566, 182, 1718, 1334, 1846, 1462,
1078, 694, 1206, 822, 438, 54, 980, 340, 1620, 596, 212, 1748,
1364, 1876, 1492, 1108, 724, 1236, 852, 468, 84, 1010, 370, 1650,
626, 242, 1778, 1394, 1906, 1522, 1138, 754, 1266, 882, 498, 114,
1040, 400, 1680, 656, 272, 1808, 1424, 16, 1552, 1168, 784, 1296,
912, 528, 144, 1070, 430, 1710, 686, 302, 1838, 1454, 46, 1582,
1198, 814, 1326, 942, 558, 174, 1100, 460, 1740, 716, 332, 1868,
1484, 76, 1612, 1228, 844, 1356, 972, 588, 204, 1130, 490, 1770,
746, 362, 1898, 1514, 106, 1642, 1258, 874, 1386, 1002, 618, 234,
1160, 520, 1800, 776, 392, 8, 1544, 136, 1672, 1288, 904, 1416,
1032, 648, 264, 1190, 550, 1830, 806, 422, 38, 1574, 166, 1702,
1318, 934, 1446, 1062, 678, 294, 1220, 580, 1860, 836, 452, 68,
1604, 196, 1732, 1348, 964, 1476, 1092, 708, 324, 1250, 610, 1890,
866, 482, 98, 1634, 226, 1762, 1378, 994, 1506, 1122, 738, 354,
2, 709, 460, 206, 905, 646, 402, 141, 847, 598, 330, 83,
794, 528, 279, 17, 724, 475, 221, 920, 661, 417, 156, 862,
613, 345, 98, 809, 543, 294, 32, 739, 490, 236, 935, 676,
432, 171, 877, 628, 360, 113, 824, 558, 309, 47, 754, 505,
251, 950, 691, 447, 186, 892, 643, 375, 128, 839, 573, 324,
62, 769, 520, 266, 5, 706, 462, 201, 907, 658, 390, 143,
854, 588, 339, 77, 784, 535, 281, 20, 721, 477, 216, 922,
673, 405, 158, 869, 603, 354, 92, 799, 550, 296, 35, 736,
492, 231, 937, 688, 420, 173, 884, 618, 369, 107, 814, 565,
311, 50, 751, 507, 246, 952, 703, 435, 188, 899, 633, 384,
122, 829, 580, 326, 65, 766, 522, 261, 7, 718, 450, 203,
914, 648, 399, 137, 844, 595, 341, 80, 781, 537, 276, 22,
733, 465, 218, 929, 663, 414, 152, 859, 610, 356, 95, 796,
552, 291, 37, 748, 480, 233, 944, 678, 429, 167, 874, 625,
371, 110, 811, 567, 306, 52, 763, 495, 248, 959, 693, 444,
182, 889, 640, 386, 125, 826, 582, 321, 67, 778, 510, 263,
14, 708, 459, 197, 904, 655, 401, 140, 841, 597, 336, 82,
793, 525, 278, 29, 723, 474, 212, 919, 670, 416, 155, 856,
612, 351, 97, 808, 540, 293, 44, 738, 489, 227, 934, 685,
431, 170, 871, 627, 366, 112, 823, 555, 308, 59, 753, 504,
242, 949, 700, 446, 185, 886, 642, 381, 127, 838, 570, 323,
74, 768, 519, 257, 4, 715, 461, 200, 901, 657, 396, 142,
853, 585, 338, 89, 783, 534, 272, 19, 730, 476, 215, 916,
672, 411, 157, 868, 600, 353, 104, 798, 549, 287, 34, 745,
491, 230, 931, 687, 426, 172, 883, 615, 368, 119, 813, 564,
302, 49, 760, 506, 245, 946, 702, 441, 187, 898, 630, 383,
134, 828, 579, 317, 64, 775, 521, 260, 1, 717, 456, 202,
913, 645, 398, 149, 843, 594, 332, 79, 790, 536, 275, 16,
732, 471, 217, 928, 660, 413, 164, 858, 609, 347, 94, 805,
551, 290, 31, 747, 486, 232, 943, 675, 428, 179, 873, 624,
362, 109, 820, 566, 305, 46, 762, 501, 247, 958, 690, 443,
194, 888, 639, 377, 124, 835, 581, 320, 61, 777, 516, 262,
13, 705, 458, 209, 903, 654, 392, 139, 850, 596, 335, 76,
792, 531, 277, 28, 720, 473, 224, 918, 669, 407, 154, 865,
611, 350, 91, 807, 546, 292, 43, 735, 488, 239, 933, 684,
422, 169, 880, 626, 365, 106, 822, 561, 307, 58, 750, 503,
254, 948, 699, 437, 184, 895, 641, 380, 121, 837, 576, 322,
73, 765, 518, 269, 3, 714, 452, 199, 910, 656, 395, 136,
852, 591, 337, 88, 780, 533, 284, 18, 729, 467, 214, 925,
671, 410, 151, 867, 606, 352, 103, 795, 548, 299, 33, 744,
482, 229, 940, 686, 425, 166, 882, 621, 367, 118, 810, 563,
314, 48, 759, 497, 244, 955, 701, 440, 181, 897, 636, 382,
133, 825, 578, 329, 63, 774, 512, 259, 10, 716, 455, 196,
912, 651, 397, 148, 840, 593, 344, 78, 789, 527, 274, 25,
731, 470, 211, 927, 666, 412, 163, 855, 608, 359, 93, 804,
542, 289, 40, 746, 485, 226, 942, 681, 427, 178, 870, 623,
374, 108, 819, 557, 304, 55, 761, 500, 241, 957, 696, 442,
193, 885, 638, 389, 123, 834, 572, 319, 70, 776, 515, 256,
12, 711, 457, 208, 900, 653, 404, 138, 849, 587, 334, 85,
791, 530, 271, 27, 726, 472, 223, 915, 668, 419, 153, 864,
602, 349, 100, 806, 545, 286, 42, 741, 487, 238, 930, 683,
434, 168, 879, 617, 364, 115, 821, 560, 301, 57, 756, 502,
253, 945, 698, 449, 183, 894, 632, 379, 130, 836, 575, 316,
72, 771, 517, 268, 0, 713, 464, 198, 909, 647, 394, 145,
851, 590, 331, 87, 786, 532, 283, 15, 728, 479, 213, 924,
662, 409, 160, 866, 605, 346, 102, 801, 547, 298, 30, 743,
494, 228, 939, 677, 424, 175, 881, 620, 361, 117, 816, 562,
313, 45, 758, 509, 243, 954, 692, 439, 190, 896, 635, 376,
132, 831, 577, 328, 60, 773, 524, 258, 9, 707, 454, 205,
911, 650, 391, 147, 846, 592, 343, 75, 788, 539, 273, 24,
722, 469, 220, 926, 665, 406, 162, 861, 607, 358, 90, 803,
554, 288, 39, 737, 484, 235, 941, 680, 421, 177, 876, 622,
373, 105, 818, 569, 303, 54, 752, 499, 250, 956, 695, 436,
192, 891, 637, 388, 120, 833, 584, 318, 69, 767, 514, 265,
11, 710, 451, 207, 906, 652, 403, 135, 848, 599, 333, 84,
782, 529, 280, 26, 725, 466, 222, 921, 667, 418, 150, 863,
614, 348, 99, 797, 544, 295, 41, 740, 481, 237, 936, 682,
433, 165, 878, 629, 363, 114, 812, 559, 310, 56, 755, 496,
252, 951, 697, 448, 180, 893, 644, 378, 129, 827, 574, 325,
71, 770, 511, 267, 6, 712, 463, 195, 908, 659, 393, 144,
842, 589, 340, 86, 785, 526, 282, 21, 727, 478, 210, 923,
674, 408, 159, 857, 604, 355, 101, 800, 541, 297, 36, 742,
493, 225, 938, 689, 423, 174, 872, 619, 370, 116, 815, 556,
312, 51, 757, 508, 240, 953, 704, 438, 189, 887, 634, 385,
131, 830, 571, 327, 66, 772, 523, 255, 8, 719, 453, 204,
902, 649, 400, 146, 845, 586, 342, 81, 787, 538, 270, 23,
734, 468, 219, 917, 664, 415, 161, 860, 601, 357, 96, 802,
553, 285, 38, 749, 483, 234, 932, 679, 430, 176, 875, 616,
372, 111, 817, 568, 300, 53, 764, 498, 249, 947, 694, 445,
191, 890, 631, 387, 126, 832, 583, 315, 68, 779, 513, 264,
};
const opus_int16 celt_tx_pfa_map_960[960] = {
0, 65, 130, 195, 260, 325, 390, 455, 520, 585, 650, 715,
780, 845, 910, 15, 80, 145, 210, 275, 340, 405, 470, 535,
600, 665, 730, 795, 860, 925, 30, 95, 160, 225, 290, 355,
420, 485, 550, 615, 680, 745, 810, 875, 940, 45, 110, 175,
240, 305, 370, 435, 500, 565, 630, 695, 760, 825, 890, 955,
60, 125, 190, 255, 256, 321, 386, 451, 516, 581, 646, 711,
776, 841, 906, 11, 76, 141, 206, 271, 336, 401, 466, 531,
596, 661, 726, 791, 856, 921, 26, 91, 156, 221, 286, 351,
416, 481, 546, 611, 676, 741, 806, 871, 936, 41, 106, 171,
236, 301, 366, 431, 496, 561, 626, 691, 756, 821, 886, 951,
56, 121, 186, 251, 316, 381, 446, 511, 512, 577, 642, 707,
772, 837, 902, 7, 72, 137, 202, 267, 332, 397, 462, 527,
592, 657, 722, 787, 852, 917, 22, 87, 152, 217, 282, 347,
412, 477, 542, 607, 672, 737, 802, 867, 932, 37, 102, 167,
232, 297, 362, 427, 492, 557, 622, 687, 752, 817, 882, 947,
52, 117, 182, 247, 312, 377, 442, 507, 572, 637, 702, 767,
768, 833, 898, 3, 68, 133, 198, 263, 328, 393, 458, 523,
588, 653, 718, 783, 848, 913, 18, 83, 148, 213, 278, 343,
408, 473, 538, 603, 668, 733, 798, 863, 928, 33, 98, 163,
228, 293, 358, 423, 488, 553, 618, 683, 748, 813, 878, 943,
48, 113, 178, 243, 308, 373, 438, 503, 568, 633, 698, 763,
828, 893, 958, 63, 64, 129, 194, 259, 324, 389, 454, 519,
584, 649, 714, 779, 844, 909, 14, 79, 144, 209, 274, 339,
404, 469, 534, 599, 664, 729, 794, 859, 924, 29, 94, 159,
224, 289, 354, 419, 484, 549, 614, 679, 744, 809, 874, 939,
44, 109, 174, 239, 304, 369, 434, 499, 564, 629, 694, 759,
824, 889, 954, 59, 124, 189, 254, 319, 320, 385, 450, 515,
580, 645, 710, 775, 840, 905, 10, 75, 140, 205, 270, 335,
400, 465, 530, 595, 660, 725, 790, 855, 920, 25, 90, 155,
220, 285, 350, 415, 480, 545, 610, 675, 740, 805, 870, 935,
40, 105, 170, 235, 300, 365, 430, 495, 560, 625, 690, 755,
820, 885, 950, 55, 120, 185, 250, 315, 380, 445, 510, 575,
576, 641, 706, 771, 836, 901, 6, 71, 136, 201, 266, 331,
396, 461, 526, 591, 656, 721, 786, 851, 916, 21, 86, 151,
216, 281, 346, 411, 476, 541, 606, 671, 736, 801, 866, 931,
36, 101, 166, 231, 296, 361, 426, 491, 556, 621, 686, 751,
816, 881, 946, 51, 116, 181, 246, 311, 376, 441, 506, 571,
636, 701, 766, 831, 832, 897, 2, 67, 132, 197, 262, 327,
392, 457, 522, 587, 652, 717, 782, 847, 912, 17, 82, 147,
212, 277, 342, 407, 472, 537, 602, 667, 732, 797, 862, 927,
32, 97, 162, 227, 292, 357, 422, 487, 552, 617, 682, 747,
812, 877, 942, 47, 112, 177, 242, 307, 372, 437, 502, 567,
632, 697, 762, 827, 892, 957, 62, 127, 128, 193, 258, 323,
388, 453, 518, 583, 648, 713, 778, 843, 908, 13, 78, 143,
208, 273, 338, 403, 468, 533, 598, 663, 728, 793, 858, 923,
28, 93, 158, 223, 288, 353, 418, 483, 548, 613, 678, 743,
808, 873, 938, 43, 108, 173, 238, 303, 368, 433, 498, 563,
628, 693, 758, 823, 888, 953, 58, 123, 188, 253, 318, 383,
384, 449, 514, 579, 644, 709, 774, 839, 904, 9, 74, 139,
204, 269, 334, 399, 464, 529, 594, 659, 724, 789, 854, 919,
24, 89, 154, 219, 284, 349, 414, 479, 544, 609, 674, 739,
804, 869, 934, 39, 104, 169, 234, 299, 364, 429, 494, 559,
624, 689, 754, 819, 884, 949, 54, 119, 184, 249, 314, 379,
444, 509, 574, 639, 640, 705, 770, 835, 900, 5, 70, 135,
200, 265, 330, 395, 460, 525, 590, 655, 720, 785, 850, 915,
20, 85, 150, 215, 280, 345, 410, 475, 540, 605, 670, 735,
800, 865, 930, 35, 100, 165, 230, 295, 360, 425, 490, 555,
620, 685, 750, 815, 880, 945, 50, 115, 180, 245, 310, 375,
440, 505, 570, 635, 700, 765, 830, 895, 896, 1, 66, 131,
196, 261, 326, 391, 456, 521, 586, 651, 716, 781, 846, 911,
16, 81, 146, 211, 276, 341, 406, 471, 536, 601, 666, 731,
796, 861, 926, 31, 96, 161, 226, 291, 356, 421, 486, 551,
616, 681, 746, 811, 876, 941, 46, 111, 176, 241, 306, 371,
436, 501, 566, 631, 696, 761, 826, 891, 956, 61, 126, 191,
192, 257, 322, 387, 452, 517, 582, 647, 712, 777, 842, 907,
12, 77, 142, 207, 272, 337, 402, 467, 532, 597, 662, 727,
792, 857, 922, 27, 92, 157, 222, 287, 352, 417, 482, 547,
612, 677, 742, 807, 872, 937, 42, 107, 172, 237, 302, 367,
432, 497, 562, 627, 692, 757, 822, 887, 952, 57, 122, 187,
252, 317, 382, 447, 448, 513, 578, 643, 708, 773, 838, 903,
8, 73, 138, 203, 268, 333, 398, 463, 528, 593, 658, 723,
788, 853, 918, 23, 88, 153, 218, 283, 348, 413, 478, 543,
608, 673, 738, 803, 868, 933, 38, 103, 168, 233, 298, 363,
428, 493, 558, 623, 688, 753, 818, 883, 948, 53, 118, 183,
248, 313, 378, 443, 508, 573, 638, 703, 704, 769, 834, 899,
4, 69, 134, 199, 264, 329, 394, 459, 524, 589, 654, 719,
784, 849, 914, 19, 84, 149, 214, 279, 344, 409, 474, 539,
604, 669, 734, 799, 864, 929, 34, 99, 164, 229, 294, 359,
424, 489, 554, 619, 684, 749, 814, 879, 944, 49, 114, 179,
244, 309, 374, 439, 504, 569, 634, 699, 764, 829, 894, 959,
};
const opus_int16 celt_tx_p2_map_64[64] = {
0, 48, 24, 44, 12, 60, 19, 35, 3, 51, 27, 43,
11, 59, 21, 37, 5, 53, 29, 47, 15, 63, 22, 38,
6, 54, 30, 42, 10, 58, 20, 36, 4, 52, 28, 46,
14, 62, 23, 39, 7, 55, 31, 41, 9, 57, 17, 33,
1, 49, 25, 45, 13, 61, 18, 34, 2, 50, 26, 40,
8, 56, 16, 32,
};
#endif
#if defined(CUSTOM_MODES)
const opus_int16 celt_tx_mdct_map_64[64] = {
0, 48, 56, 8, 32, 16, 24, 40, 60, 44, 28, 12,
4, 52, 36, 20, 62, 46, 54, 6, 30, 14, 22, 38,
2, 50, 58, 10, 34, 18, 26, 42, 0, 24, 12, 19,
3, 27, 11, 21, 5, 29, 15, 22, 6, 30, 10, 20,
4, 28, 14, 23, 7, 31, 9, 17, 1, 25, 13, 18,
2, 26, 8, 16,
};
const opus_int16 celt_tx_mdct_map_128[128] = {
0, 96, 112, 16, 64, 32, 48, 80, 120, 88, 56, 24,
8, 104, 72, 40, 124, 92, 108, 12, 60, 28, 44, 76,
4, 100, 116, 20, 68, 36, 52, 84, 126, 94, 110, 14,
62, 30, 46, 78, 118, 86, 54, 22, 6, 102, 70, 38,
2, 98, 114, 18, 66, 34, 50, 82, 122, 90, 58, 26,
10, 106, 74, 42, 0, 48, 24, 44, 12, 60, 19, 35,
3, 51, 27, 43, 11, 59, 21, 37, 5, 53, 29, 47,
15, 63, 22, 38, 6, 54, 30, 42, 10, 58, 20, 36,
4, 52, 28, 46, 14, 62, 23, 39, 7, 55, 31, 41,
9, 57, 17, 33, 1, 49, 25, 45, 13, 61, 18, 34,
2, 50, 26, 40, 8, 56, 16, 32,
};
const opus_int16 celt_tx_mdct_map_256[256] = {
0, 192, 224, 32, 128, 64, 96, 160, 240, 176, 112, 48,
16, 208, 144, 80, 248, 184, 216, 24, 120, 56, 88, 152,
8, 200, 232, 40, 136, 72, 104, 168, 252, 188, 220, 28,
124, 60, 92, 156, 236, 172, 108, 44, 12, 204, 140, 76,
4, 196, 228, 36, 132, 68, 100, 164, 244, 180, 116, 52,
20, 212, 148, 84, 254, 190, 222, 30, 126, 62, 94, 158,
238, 174, 110, 46, 14, 206, 142, 78, 246, 182, 214, 22,
118, 54, 86, 150, 6, 198, 230, 38, 134, 70, 102, 166,
2, 194, 226, 34, 130, 66, 98, 162, 242, 178, 114, 50,
18, 210, 146, 82, 250, 186, 218, 26, 122, 58, 90, 154,
10, 202, 234, 42, 138, 74, 106, 170, 0, 96, 48, 88,
24, 120, 44, 76, 12, 108, 60, 83, 19, 115, 35, 67,
3, 99, 51, 91, 27, 123, 43, 75, 11, 107, 59, 85,
21, 117, 37, 69, 5, 101, 53, 93, 29, 125, 47, 79,
15, 111, 63, 86, 22, 118, 38, 70, 6, 102, 54, 94,
30, 126, 42, 74, 10, 106, 58, 84, 20, 116, 36, 68,
4, 100, 52, 92, 28, 124, 46, 78, 14, 110, 62, 87,
23, 119, 39, 71, 7, 103, 55, 95, 31, 127, 41, 73,
9, 105, 57, 81, 17, 113, 33, 65, 1, 97, 49, 89,
25, 121, 45, 77, 13, 109, 61, 82, 18, 114, 34, 66,
2, 98, 50, 90, 26, 122, 40, 72, 8, 104, 56, 80,
16, 112, 32, 64,
};
const opus_int16 celt_tx_mdct_map_512[512] = {
0, 384, 448, 64, 256, 128, 192, 320, 480, 352, 224, 96,
32, 416, 288, 160, 496, 368, 432, 48, 240, 112, 176, 304,
16, 400, 464, 80, 272, 144, 208, 336, 504, 376, 440, 56,
248, 120, 184, 312, 472, 344, 216, 88, 24, 408, 280, 152,
8, 392, 456, 72, 264, 136, 200, 328, 488, 360, 232, 104,
40, 424, 296, 168, 508, 380, 444, 60, 252, 124, 188, 316,
476, 348, 220, 92, 28, 412, 284, 156, 492, 364, 428, 44,
236, 108, 172, 300, 12, 396, 460, 76, 268, 140, 204, 332,
4, 388, 452, 68, 260, 132, 196, 324, 484, 356, 228, 100,
36, 420, 292, 164, 500, 372, 436, 52, 244, 116, 180, 308,
20, 404, 468, 84, 276, 148, 212, 340, 510, 382, 446, 62,
254, 126, 190, 318, 478, 350, 222, 94, 30, 414, 286, 158,
494, 366, 430, 46, 238, 110, 174, 302, 14, 398, 462, 78,
270, 142, 206, 334, 502, 374, 438, 54, 246, 118, 182, 310,
470, 342, 214, 86, 22, 406, 278, 150, 6, 390, 454, 70,
262, 134, 198, 326, 486, 358, 230, 102, 38, 422, 294, 166,
2, 386, 450, 66, 258, 130, 194, 322, 482, 354, 226, 98,
34, 418, 290, 162, 498, 370, 434, 50, 242, 114, 178, 306,
18, 402, 466, 82, 274, 146, 210, 338, 506, 378, 442, 58,
250, 122, 186, 314, 474, 346, 218, 90, 26, 410, 282, 154,
10, 394, 458, 74, 266, 138, 202, 330, 490, 362, 234, 106,
42, 426, 298, 170, 0, 192, 96, 176, 48, 240, 88, 152,
24, 216, 120, 172, 44, 236, 76, 140, 12, 204, 108, 188,
60, 252, 83, 147, 19, 211, 115, 163, 35, 227, 67, 131,
3, 195, 99, 179, 51, 243, 91, 155, 27, 219, 123, 171,
43, 235, 75, 139, 11, 203, 107, 187, 59, 251, 85, 149,
21, 213, 117, 165, 37, 229, 69, 133, 5, 197, 101, 181,
53, 245, 93, 157, 29, 221, 125, 175, 47, 239, 79, 143,
15, 207, 111, 191, 63, 255, 86, 150, 22, 214, 118, 166,
38, 230, 70, 134, 6, 198, 102, 182, 54, 246, 94, 158,
30, 222, 126, 170, 42, 234, 74, 138, 10, 202, 106, 186,
58, 250, 84, 148, 20, 212, 116, 164, 36, 228, 68, 132,
4, 196, 100, 180, 52, 244, 92, 156, 28, 220, 124, 174,
46, 238, 78, 142, 14, 206, 110, 190, 62, 254, 87, 151,
23, 215, 119, 167, 39, 231, 71, 135, 7, 199, 103, 183,
55, 247, 95, 159, 31, 223, 127, 169, 41, 233, 73, 137,
9, 201, 105, 185, 57, 249, 81, 145, 17, 209, 113, 161,
33, 225, 65, 129, 1, 193, 97, 177, 49, 241, 89, 153,
25, 217, 121, 173, 45, 237, 77, 141, 13, 205, 109, 189,
61, 253, 82, 146, 18, 210, 114, 162, 34, 226, 66, 130,
2, 194, 98, 178, 50, 242, 90, 154, 26, 218, 122, 168,
40, 232, 72, 136, 8, 200, 104, 184, 56, 248, 80, 144,
16, 208, 112, 160, 32, 224, 64, 128,
};
const opus_int16 celt_tx_mdct_map_1024[1024] = {
0, 768, 896, 128, 512, 256, 384, 640, 960, 704, 448, 192,
64, 832, 576, 320, 992, 736, 864, 96, 480, 224, 352, 608,
32, 800, 928, 160, 544, 288, 416, 672, 1008, 752, 880, 112,
496, 240, 368, 624, 944, 688, 432, 176, 48, 816, 560, 304,
16, 784, 912, 144, 528, 272, 400, 656, 976, 720, 464, 208,
80, 848, 592, 336, 1016, 760, 888, 120, 504, 248, 376, 632,
952, 696, 440, 184, 56, 824, 568, 312, 984, 728, 856, 88,
472, 216, 344, 600, 24, 792, 920, 152, 536, 280, 408, 664,
8, 776, 904, 136, 520, 264, 392, 648, 968, 712, 456, 200,
72, 840, 584, 328, 1000, 744, 872, 104, 488, 232, 360, 616,
40, 808, 936, 168, 552, 296, 424, 680, 1020, 764, 892, 124,
508, 252, 380, 636, 956, 700, 444, 188, 60, 828, 572, 316,
988, 732, 860, 92, 476, 220, 348, 604, 28, 796, 924, 156,
540, 284, 412, 668, 1004, 748, 876, 108, 492, 236, 364, 620,
940, 684, 428, 172, 44, 812, 556, 300, 12, 780, 908, 140,
524, 268, 396, 652, 972, 716, 460, 204, 76, 844, 588, 332,
4, 772, 900, 132, 516, 260, 388, 644, 964, 708, 452, 196,
68, 836, 580, 324, 996, 740, 868, 100, 484, 228, 356, 612,
36, 804, 932, 164, 548, 292, 420, 676, 1012, 756, 884, 116,
500, 244, 372, 628, 948, 692, 436, 180, 52, 820, 564, 308,
20, 788, 916, 148, 532, 276, 404, 660, 980, 724, 468, 212,
84, 852, 596, 340, 1022, 766, 894, 126, 510, 254, 382, 638,
958, 702, 446, 190, 62, 830, 574, 318, 990, 734, 862, 94,
478, 222, 350, 606, 30, 798, 926, 158, 542, 286, 414, 670,
1006, 750, 878, 110, 494, 238, 366, 622, 942, 686, 430, 174,
46, 814, 558, 302, 14, 782, 910, 142, 526, 270, 398, 654,
974, 718, 462, 206, 78, 846, 590, 334, 1014, 758, 886, 118,
502, 246, 374, 630, 950, 694, 438, 182, 54, 822, 566, 310,
982, 726, 854, 86, 470, 214, 342, 598, 22, 790, 918, 150,
534, 278, 406, 662, 6, 774, 902, 134, 518, 262, 390, 646,
966, 710, 454, 198, 70, 838, 582, 326, 998, 742, 870, 102,
486, 230, 358, 614, 38, 806, 934, 166, 550, 294, 422, 678,
2, 770, 898, 130, 514, 258, 386, 642, 962, 706, 450, 194,
66, 834, 578, 322, 994, 738, 866, 98, 482, 226, 354, 610,
34, 802, 930, 162, 546, 290, 418, 674, 1010, 754, 882, 114,
498, 242, 370, 626, 946, 690, 434, 178, 50, 818, 562, 306,
18, 786, 914, 146, 530, 274, 402, 658, 978, 722, 466, 210,
82, 850, 594, 338, 1018, 762, 890, 122, 506, 250, 378, 634,
954, 698, 442, 186, 58, 826, 570, 314, 986, 730, 858, 90,
474, 218, 346, 602, 26, 794, 922, 154, 538, 282, 410, 666,
10, 778, 906, 138, 522, 266, 394, 650, 970, 714, 458, 202,
74, 842, 586, 330, 1002, 746, 874, 106, 490, 234, 362, 618,
42, 810, 938, 170, 554, 298, 426, 682, 0, 384, 192, 352,
96, 480, 176, 304, 48, 432, 240, 344, 88, 472, 152, 280,
24, 408, 216, 376, 120, 504, 172, 300, 44, 428, 236, 332,
76, 460, 140, 268, 12, 396, 204, 364, 108, 492, 188, 316,
60, 444, 252, 339, 83, 467, 147, 275, 19, 403, 211, 371,
115, 499, 163, 291, 35, 419, 227, 323, 67, 451, 131, 259,
3, 387, 195, 355, 99, 483, 179, 307, 51, 435, 243, 347,
91, 475, 155, 283, 27, 411, 219, 379, 123, 507, 171, 299,
43, 427, 235, 331, 75, 459, 139, 267, 11, 395, 203, 363,
107, 491, 187, 315, 59, 443, 251, 341, 85, 469, 149, 277,
21, 405, 213, 373, 117, 501, 165, 293, 37, 421, 229, 325,
69, 453, 133, 261, 5, 389, 197, 357, 101, 485, 181, 309,
53, 437, 245, 349, 93, 477, 157, 285, 29, 413, 221, 381,
125, 509, 175, 303, 47, 431, 239, 335, 79, 463, 143, 271,
15, 399, 207, 367, 111, 495, 191, 319, 63, 447, 255, 342,
86, 470, 150, 278, 22, 406, 214, 374, 118, 502, 166, 294,
38, 422, 230, 326, 70, 454, 134, 262, 6, 390, 198, 358,
102, 486, 182, 310, 54, 438, 246, 350, 94, 478, 158, 286,
30, 414, 222, 382, 126, 510, 170, 298, 42, 426, 234, 330,
74, 458, 138, 266, 10, 394, 202, 362, 106, 490, 186, 314,
58, 442, 250, 340, 84, 468, 148, 276, 20, 404, 212, 372,
116, 500, 164, 292, 36, 420, 228, 324, 68, 452, 132, 260,
4, 388, 196, 356, 100, 484, 180, 308, 52, 436, 244, 348,
92, 476, 156, 284, 28, 412, 220, 380, 124, 508, 174, 302,
46, 430, 238, 334, 78, 462, 142, 270, 14, 398, 206, 366,
110, 494, 190, 318, 62, 446, 254, 343, 87, 471, 151, 279,
23, 407, 215, 375, 119, 503, 167, 295, 39, 423, 231, 327,
71, 455, 135, 263, 7, 391, 199, 359, 103, 487, 183, 311,
55, 439, 247, 351, 95, 479, 159, 287, 31, 415, 223, 383,
127, 511, 169, 297, 41, 425, 233, 329, 73, 457, 137, 265,
9, 393, 201, 361, 105, 489, 185, 313, 57, 441, 249, 337,
81, 465, 145, 273, 17, 401, 209, 369, 113, 497, 161, 289,
33, 417, 225, 321, 65, 449, 129, 257, 1, 385, 193, 353,
97, 481, 177, 305, 49, 433, 241, 345, 89, 473, 153, 281,
25, 409, 217, 377, 121, 505, 173, 301, 45, 429, 237, 333,
77, 461, 141, 269, 13, 397, 205, 365, 109, 493, 189, 317,
61, 445, 253, 338, 82, 466, 146, 274, 18, 402, 210, 370,
114, 498, 162, 290, 34, 418, 226, 322, 66, 450, 130, 258,
2, 386, 194, 354, 98, 482, 178, 306, 50, 434, 242, 346,
90, 474, 154, 282, 26, 410, 218, 378, 122, 506, 168, 296,
40, 424, 232, 328, 72, 456, 136, 264, 8, 392, 200, 360,
104, 488, 184, 312, 56, 440, 248, 336, 80, 464, 144, 272,
16, 400, 208, 368, 112, 496, 160, 288, 32, 416, 224, 320,
64, 448, 128, 256,
};
#endif
#ifndef FIXED_POINT
/* FFT Twiddle Tables (Float) */
const kiss_twiddle_scalar celt_tx_tab_53[12] = {
0.309017003f, 0.309017003f, 0.809017003f, 0.809017003f, 0.95105654f, 0.95105654f,
0.587785244f, 0.587785244f, 0.866025388f, 0.866025388f, 0.5f, -0.5f,
};
const kiss_twiddle_scalar celt_tx_tab_32[9] = {
1.0f, 0.980785251f, 0.923879504f, 0.831469595f, 0.707106769f, 0.555570245f,
0.382683426f, 0.195090324f, 0.0f,
};
const kiss_twiddle_scalar celt_tx_tab_64[17] = {
1.0f, 0.99518472f, 0.980785251f, 0.956940353f, 0.923879504f, 0.881921291f,
0.831469595f, 0.773010433f, 0.707106769f, 0.634393275f, 0.555570245f, 0.471396744f,
0.382683426f, 0.290284663f, 0.195090324f, 0.0980171412f, 0.0f,
};
#if defined(CUSTOM_MODES)
const kiss_twiddle_scalar celt_tx_tab_128[33] = {
1.0f, 0.99879545f, 0.99518472f, 0.989176512f, 0.980785251f, 0.970031261f,
0.956940353f, 0.941544056f, 0.923879504f, 0.903989315f, 0.881921291f, 0.857728601f,
0.831469595f, 0.803207517f, 0.773010433f, 0.740951121f, 0.707106769f, 0.671558976f,
0.634393275f, 0.59569931f, 0.555570245f, 0.514102757f, 0.471396744f, 0.427555084f,
0.382683426f, 0.336889863f, 0.290284663f, 0.242980182f, 0.195090324f, 0.146730468f,
0.0980171412f, 0.0490676761f, 0.0f,
};
const kiss_twiddle_scalar celt_tx_tab_256[65] = {
1.0f, 0.999698818f, 0.99879545f, 0.997290432f, 0.99518472f, 0.992479563f,
0.989176512f, 0.985277653f, 0.980785251f, 0.975702107f, 0.970031261f, 0.963776052f,
0.956940353f, 0.949528158f, 0.941544056f, 0.932992816f, 0.923879504f, 0.914209783f,
0.903989315f, 0.893224299f, 0.881921291f, 0.870086968f, 0.857728601f, 0.84485358f,
0.831469595f, 0.817584813f, 0.803207517f, 0.78834641f, 0.773010433f, 0.757208824f,
0.740951121f, 0.724247098f, 0.707106769f, 0.689540565f, 0.671558976f, 0.653172851f,
0.634393275f, 0.615231574f, 0.59569931f, 0.575808167f, 0.555570245f, 0.534997642f,
0.514102757f, 0.492898196f, 0.471396744f, 0.449611336f, 0.427555084f, 0.405241311f,
0.382683426f, 0.359895051f, 0.336889863f, 0.313681751f, 0.290284663f, 0.266712755f,
0.242980182f, 0.219101235f, 0.195090324f, 0.170961887f, 0.146730468f, 0.122410677f,
0.0980171412f, 0.0735645667f, 0.0490676761f, 0.024541229f, 0.0f,
};
const kiss_twiddle_scalar celt_tx_tab_512[129] = {
1.0f, 0.999924719f, 0.999698818f, 0.999322355f, 0.99879545f, 0.998118103f,
0.997290432f, 0.996312618f, 0.99518472f, 0.993906975f, 0.992479563f, 0.990902662f,
0.989176512f, 0.987301409f, 0.985277653f, 0.983105481f, 0.980785251f, 0.97831738f,
0.975702107f, 0.972939968f, 0.970031261f, 0.966976464f, 0.963776052f, 0.960430503f,
0.956940353f, 0.953306019f, 0.949528158f, 0.945607305f, 0.941544056f, 0.937339008f,
0.932992816f, 0.928506076f, 0.923879504f, 0.919113874f, 0.914209783f, 0.909168005f,
0.903989315f, 0.898674488f, 0.893224299f, 0.887639642f, 0.881921291f, 0.876070082f,
0.870086968f, 0.863972843f, 0.857728601f, 0.851355195f, 0.84485358f, 0.838224709f,
0.831469595f, 0.824589312f, 0.817584813f, 0.81045717f, 0.803207517f, 0.795836926f,
0.78834641f, 0.780737221f, 0.773010433f, 0.765167236f, 0.757208824f, 0.749136388f,
0.740951121f, 0.732654274f, 0.724247098f, 0.715730846f, 0.707106769f, 0.698376238f,
0.689540565f, 0.680601001f, 0.671558976f, 0.662415802f, 0.653172851f, 0.643831551f,
0.634393275f, 0.624859512f, 0.615231574f, 0.605511069f, 0.59569931f, 0.585797846f,
0.575808167f, 0.565731823f, 0.555570245f, 0.545324981f, 0.534997642f, 0.524589658f,
0.514102757f, 0.50353837f, 0.492898196f, 0.482183784f, 0.471396744f, 0.460538715f,
0.449611336f, 0.438616246f, 0.427555084f, 0.416429549f, 0.405241311f, 0.393992037f,
0.382683426f, 0.371317208f, 0.359895051f, 0.348418683f, 0.336889863f, 0.32531029f,
0.313681751f, 0.302005947f, 0.290284663f, 0.27851969f, 0.266712755f, 0.254865646f,
0.242980182f, 0.231058106f, 0.219101235f, 0.207111374f, 0.195090324f, 0.183039889f,
0.170961887f, 0.15885815f, 0.146730468f, 0.134580702f, 0.122410677f, 0.110222206f,
0.0980171412f, 0.0857973099f, 0.0735645667f, 0.061320737f, 0.0490676761f, 0.0368072242f,
0.024541229f, 0.0122715384f, 0.0f,
};
#endif
#else /* FIXED_POINT */
# ifdef ENABLE_QEXT
/* FFT Twiddle Tables (Fixed32 - Q31) */
const kiss_twiddle_scalar celt_tx_tab_53[12] = {
663608942L, 663608942L, 1737350766L, 1737350766L, 2042378317L, 2042378317L,
1262259218L, 1262259218L, 1859775393L, 1859775393L, 1073741824L, -1073741824L,
};
const kiss_twiddle_scalar celt_tx_tab_32[9] = {
2147483647L, 2106220289L, 1984016128L, 1785567359L, 1518500224L, 1193078016L,
821806400L, 418953281L, 0L,
};
const kiss_twiddle_scalar celt_tx_tab_64[17] = {
2147483647L, 2137142913L, 2106220289L, 2055013760L, 1984016128L, 1893911551L,
1785567359L, 1660027265L, 1518500224L, 1362349184L, 1193078016L, 1012316799L,
821806400L, 623381567L, 418953281L, 210490208L, 0L,
};
#if defined(CUSTOM_MODES)
const kiss_twiddle_scalar celt_tx_tab_128[33] = {
2147483647L, 2144896897L, 2137142913L, 2124240385L, 2106220289L, 2083126271L,
2055013760L, 2021950464L, 1984016128L, 1941302272L, 1893911551L, 1841958145L,
1785567359L, 1724875009L, 1660027265L, 1591180416L, 1518500224L, 1442161920L,
1362349184L, 1279254527L, 1193078016L, 1104027264L, 1012316799L, 918167552L,
821806400L, 723465472L, 623381567L, 521795968L, 418953281L, 315101281L,
210490208L, 105372032L, 0L,
};
const kiss_twiddle_scalar celt_tx_tab_256[65] = {
2147483647L, 2146836865L, 2144896897L, 2141664895L, 2137142913L, 2131333633L,
2124240385L, 2115867649L, 2106220289L, 2095304320L, 2083126271L, 2069693312L,
2055013760L, 2039096193L, 2021950464L, 2003586816L, 1984016128L, 1963250560L,
1941302272L, 1918184576L, 1893911551L, 1868497536L, 1841958145L, 1814309248L,
1785567359L, 1755750017L, 1724875009L, 1692961024L, 1660027265L, 1626093568L,
1591180416L, 1555308800L, 1518500224L, 1480777088L, 1442161920L, 1402678017L,
1362349184L, 1321199745L, 1279254527L, 1236538623L, 1193078016L, 1148898688L,
1104027264L, 1058490816L, 1012316799L, 965532992L, 918167552L, 870249089L,
821806400L, 772868737L, 723465472L, 673626431L, 623381567L, 572761280L,
521795968L, 470516319L, 418953281L, 367137857L, 315101281L, 262874927L,
210490208L, 157978704L, 105372032L, 52701888L, 0L,
};
const kiss_twiddle_scalar celt_tx_tab_512[129] = {
2147483647L, 2147321983L, 2146836865L, 2146028416L, 2144896897L, 2143442305L,
2141664895L, 2139565055L, 2137142913L, 2134398976L, 2131333633L, 2127947263L,
2124240385L, 2120213631L, 2115867649L, 2111202945L, 2106220289L, 2100920576L,
2095304320L, 2089372672L, 2083126271L, 2076566144L, 2069693312L, 2062508800L,
2055013760L, 2047209087L, 2039096193L, 2030676225L, 2021950464L, 2012920192L,
2003586816L, 1993951615L, 1984016128L, 1973782015L, 1963250560L, 1952423424L,
1941302272L, 1929888768L, 1918184576L, 1906191617L, 1893911551L, 1881346176L,
1868497536L, 1855367553L, 1841958145L, 1828271360L, 1814309248L, 1800073856L,
1785567359L, 1770792064L, 1755750017L, 1740443520L, 1724875009L, 1709046785L,
1692961024L, 1676620415L, 1660027265L, 1643184127L, 1626093568L, 1608758143L,
1591180416L, 1573363073L, 1555308800L, 1537020288L, 1518500224L, 1499751551L,
1480777088L, 1461579520L, 1442161920L, 1422527103L, 1402678017L, 1382617728L,
1362349184L, 1341875584L, 1321199745L, 1300325119L, 1279254527L, 1257991295L,
1236538623L, 1214899839L, 1193078016L, 1171076480L, 1148898688L, 1126547712L,
1104027264L, 1081340416L, 1058490816L, 1035481791L, 1012316799L, 988999360L,
965532992L, 941921216L, 918167552L, 894275647L, 870249089L, 846091457L,
821806400L, 797397632L, 772868737L, 748223424L, 723465472L, 698598528L,
673626431L, 648552833L, 623381567L, 598116480L, 572761280L, 547319807L,
521795968L, 496193504L, 470516319L, 444768289L, 418953281L, 393075169L,
367137857L, 341145279L, 315101281L, 289009857L, 262874927L, 236700385L,
210490208L, 184248320L, 157978704L, 131685280L, 105372032L, 79042912L,
52701888L, 26352928L, 0L,
};
#endif
# else /* !ENABLE_QEXT */
/* FFT Twiddle Tables (Fixed16 - Q15) */
const kiss_twiddle_scalar celt_tx_tab_53[12] = {
10126, 10126, 26510, 26510, 31164, 31164, 19261, 19261,
28378, 28378, 16384, -16384,
};
const kiss_twiddle_scalar celt_tx_tab_32[9] = {
32767, 32138, 30274, 27246, 23170, 18205, 12540, 6393,
0,
};
const kiss_twiddle_scalar celt_tx_tab_64[17] = {
32767, 32610, 32138, 31357, 30274, 28899, 27246, 25330,
23170, 20788, 18205, 15447, 12540, 9512, 6393, 3212,
0,
};
#if defined(CUSTOM_MODES)
const kiss_twiddle_scalar celt_tx_tab_128[33] = {
32767, 32729, 32610, 32413, 32138, 31786, 31357, 30853,
30274, 29622, 28899, 28106, 27246, 26320, 25330, 24279,
23170, 22006, 20788, 19520, 18205, 16846, 15447, 14010,
12540, 11039, 9512, 7962, 6393, 4808, 3212, 1608,
0,
};
const kiss_twiddle_scalar celt_tx_tab_256[65] = {
32767, 32758, 32729, 32679, 32610, 32522, 32413, 32286,
32138, 31972, 31786, 31581, 31357, 31114, 30853, 30572,
30274, 29957, 29622, 29269, 28899, 28511, 28106, 27684,
27246, 26791, 26320, 25833, 25330, 24812, 24279, 23732,
23170, 22595, 22006, 21403, 20788, 20160, 19520, 18868,
18205, 17531, 16846, 16151, 15447, 14733, 14010, 13279,
12540, 11793, 11039, 10279, 9512, 8740, 7962, 7180,
6393, 5602, 4808, 4011, 3212, 2411, 1608, 804,
0,
};
const kiss_twiddle_scalar celt_tx_tab_512[129] = {
32767, 32766, 32758, 32746, 32729, 32706, 32679, 32647,
32610, 32568, 32522, 32470, 32413, 32352, 32286, 32214,
32138, 32058, 31972, 31881, 31786, 31686, 31581, 31471,
31357, 31238, 31114, 30986, 30853, 30715, 30572, 30425,
30274, 30118, 29957, 29792, 29622, 29448, 29269, 29086,
28899, 28707, 28511, 28311, 28106, 27897, 27684, 27467,
27246, 27020, 26791, 26557, 26320, 26078, 25833, 25583,
25330, 25073, 24812, 24548, 24279, 24008, 23732, 23453,
23170, 22884, 22595, 22302, 22006, 21706, 21403, 21097,
20788, 20475, 20160, 19841, 19520, 19195, 18868, 18538,
18205, 17869, 17531, 17190, 16846, 16500, 16151, 15800,
15447, 15091, 14733, 14373, 14010, 13646, 13279, 12910,
12540, 12167, 11793, 11417, 11039, 10660, 10279, 9896,
9512, 9127, 8740, 8351, 7962, 7571, 7180, 6787,
6393, 5998, 5602, 5205, 4808, 4410, 4011, 3612,
3212, 2811, 2411, 2009, 1608, 1206, 804, 402,
0,
};
#endif
# endif /* ENABLE_QEXT */
#endif /* FIXED_POINT */
#endif /* NEED_CELT_TX_TABLES */