aboutsummaryrefslogtreecommitdiff
path: root/decoder/ixheaacd_aac_rom.c
diff options
context:
space:
mode:
Diffstat (limited to 'decoder/ixheaacd_aac_rom.c')
-rw-r--r--decoder/ixheaacd_aac_rom.c790
1 files changed, 785 insertions, 5 deletions
diff --git a/decoder/ixheaacd_aac_rom.c b/decoder/ixheaacd_aac_rom.c
index 8c3d426..4a3cc19 100644
--- a/decoder/ixheaacd_aac_rom.c
+++ b/decoder/ixheaacd_aac_rom.c
@@ -395,6 +395,121 @@ const ia_aac_dec_huffman_tables_struct ixheaacd_aac_huffmann_tables = {
12, 16, 20, 24, 28, 32, 32, 32, 32, 32, 32, 32, 32, 32, -1,
},
+ // static const WORD16 sfb_96_960[41] =
+ {
+ 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4,
+ 4, 4, 8, 8, 8, 8,
+ 8, 12, 12, 12, 12, 12,
+ 16, 16, 24, 28, 36, 44,
+ 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, -1
+ },
+
+ /* 13 scfbands */
+ // static const WORD16 sfb_96_120[13] =
+ {
+ 4, 4, 4, 4, 4, 4,
+ 8, 8, 8, 16, 28, 28,
+ -1
+ },
+
+ /* 47 scfbands*/
+ // static const WORD16 sfb_64_960[47] =
+ {
+ 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4,
+ 8, 8, 8, 8, 12, 12, 12,
+ 16, 16, 16, 20, 24, 24, 28,
+ 36, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 40, 40, 40, 40,
+ 40, 40, 40, 16, -1
+ },
+
+ /* 49 scfbands */
+ // static const WORD16 sfb_48_960[50] =
+ {
+ 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 8, 8,
+ 8, 8, 8, 8, 8, 12,
+ 12, 12, 12, 16, 16, 20,
+ 20, 24, 24, 28, 28, 32,
+ 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32,
+ 32, -1
+ },
+
+ /* 14 scfbands */
+ // static const WORD16 sfb_48_120[15] =
+ {
+ 4, 4, 4, 4, 4, 8,
+ 8, 8, 12, 12, 12, 16,
+ 16, 8, -1
+ },
+
+
+ /* 47 scfbands */
+ // static const WORD16 sfb_24_960[47] =
+ {
+ 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 8,
+ 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 12, 12, 12,
+ 12, 16, 16, 16, 20, 20,
+ 24, 24, 28, 28, 32, 36,
+ 36, 40, 44, 48, 52, 52,
+ 64, 64, 64, 64, -1
+ },
+
+ /* 15 scfbands */
+ // static const WORD16 sfb_24_120[16] =
+ {
+ 4, 4, 4, 4, 4, 4,
+ 4, 8, 8, 8, 12, 12,
+ 16, 16, 12, -1
+ },
+
+ /* 43 scfbands */
+ // static const WORD16 sfb_16_960[43] =
+ {
+ 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 12,
+ 12, 12, 12, 12, 12, 12,
+ 12, 12, 16, 16, 16, 16,
+ 20, 20, 20, 24, 24, 28,
+ 28, 32, 36, 40, 40, 44,
+ 48, 52, 56, 60, 64, 64,
+ -1
+ },
+
+ /* 15 scfbands */
+ // static const WORD16 sfb_16_120[16] =
+ {
+ 4, 4, 4, 4, 4, 4,
+ 4, 4, 8, 8, 12, 12,
+ 16, 20, 12, -1
+ },
+
+ /* 40 scfbands */
+ // static const WORD16 sfb_8_960[41] =
+ {
+ 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12,
+ 12, 16, 16, 16, 16, 16,
+ 16, 16, 20, 20, 20, 20,
+ 24, 24, 24, 28, 28, 32,
+ 36, 36, 40, 44, 48, 52,
+ 56, 60, 64, 16, -1
+ },
+
+ /* 15 scfbands */
+ // static const WORD16 sfb_8_120[16] =
+ {
+ 4, 4, 4, 4, 4, 4,
+ 4, 8, 8, 8, 8, 12,
+ 16, 20, 12, -1
+ },
}; // end of ia_aac_dec_huffman_tables_struct
const ia_aac_dec_block_tables_struct ixheaacd_aac_block_tables = {
@@ -539,7 +654,7 @@ const ia_aac_dec_block_tables_struct ixheaacd_aac_block_tables = {
0, 0,
}},
- // const Word8 tns_max_bands_tbl_ld[12][4] =
+ // const WORD8 tns_max_bands_tbl_ld[12][4] =
{
/*{*/ 31, /* 96000 */
/*{*/ 31, /* 88200 */
@@ -554,7 +669,7 @@ const ia_aac_dec_block_tables_struct ixheaacd_aac_block_tables = {
/*{*/ 31, /* 11025 */
/*{*/ 31, /* 8000 */
},
- // const Word8 tns_max_bands_tbl_480[12][4] =
+ // const WORD8 tns_max_bands_tbl_480[12][4] =
{
/*{*/ 31, /* 96000 */
/*{*/ 31, /* 88200 */
@@ -568,8 +683,13 @@ const ia_aac_dec_block_tables_struct ixheaacd_aac_block_tables = {
/*{*/ 30, /* 12000 */
/*{*/ 30, /* 11025 */
/*{*/ 30, /* 8000 */
- }
-
+ },
+ // const WORD16 scale_table_960[4] =
+ {
+ /* Q14 format */
+ /* table of 2^(r/4) for r=0, 1, 2, 3 */
+ 16385, 19486, 23172, 27557
+ },
}; // end of ia_aac_dec_block_tables_struct */
const ia_aac_dec_imdct_tables_struct ixheaacd_imdct_tables = {
@@ -2260,6 +2380,666 @@ const ia_aac_dec_imdct_tables_struct ixheaacd_imdct_tables = {
-23, -23, -23, -23, -23, -23, -23, -23, -23, -22,
-22, -22, -22, -22, -22, -22, -22, -21, -21, -21,
-21, -21, -21, -20, -20, -20, -20, -20, -20, -19,
- -19, -19, -19, -18, -18, -18, -18, -18}
+ -19, -19, -19, -18, -18, -18, -18, -18},
+
+ // const WORD16 only_long_window_sine_960[960] =
+ {
+ 0x001B, 0x7FFF, 0x0050, 0x7FFF, 0x0086, 0x7FFF, 0x00BC, 0x7FFE, 0x00F1, 0x7FFE,
+ 0x0127, 0x7FFE, 0x015C, 0x7FFD, 0x0192, 0x7FFD, 0x01C8, 0x7FFC, 0x01FD, 0x7FFB,
+ 0x0233, 0x7FFA, 0x0269, 0x7FF9, 0x029E, 0x7FF8, 0x02D4, 0x7FF7, 0x0309, 0x7FF6,
+ 0x033F, 0x7FF4, 0x0375, 0x7FF3, 0x03AA, 0x7FF2, 0x03E0, 0x7FF0, 0x0415, 0x7FEE,
+ 0x044B, 0x7FED, 0x0480, 0x7FEB, 0x04B6, 0x7FE9, 0x04EC, 0x7FE7, 0x0521, 0x7FE5,
+ 0x0557, 0x7FE2, 0x058C, 0x7FE0, 0x05C2, 0x7FDE, 0x05F7, 0x7FDB, 0x062D, 0x7FD9,
+ 0x0663, 0x7FD6, 0x0698, 0x7FD3, 0x06CE, 0x7FD1, 0x0703, 0x7FCE, 0x0739, 0x7FCB,
+ 0x076E, 0x7FC8, 0x07A4, 0x7FC5, 0x07D9, 0x7FC1, 0x080F, 0x7FBE, 0x0844, 0x7FBB,
+ 0x087A, 0x7FB7, 0x08AF, 0x7FB3, 0x08E5, 0x7FB0, 0x091A, 0x7FAC, 0x0950, 0x7FA8,
+ 0x0985, 0x7FA4, 0x09BB, 0x7FA0, 0x09F0, 0x7F9C, 0x0A26, 0x7F98, 0x0A5B, 0x7F94,
+ 0x0A90, 0x7F8F, 0x0AC6, 0x7F8B, 0x0AFB, 0x7F86, 0x0B31, 0x7F82, 0x0B66, 0x7F7D,
+ 0x0B9C, 0x7F78, 0x0BD1, 0x7F73, 0x0C06, 0x7F6E, 0x0C3C, 0x7F69, 0x0C71, 0x7F64,
+ 0x0CA6, 0x7F5F, 0x0CDC, 0x7F59, 0x0D11, 0x7F54, 0x0D46, 0x7F4E, 0x0D7C, 0x7F49,
+ 0x0DB1, 0x7F43, 0x0DE6, 0x7F3D, 0x0E1C, 0x7F37, 0x0E51, 0x7F31, 0x0E86, 0x7F2B,
+ 0x0EBB, 0x7F25, 0x0EF1, 0x7F1F, 0x0F26, 0x7F19, 0x0F5B, 0x7F12, 0x0F90, 0x7F0C,
+ 0x0FC6, 0x7F05, 0x0FFB, 0x7EFF, 0x1030, 0x7EF8, 0x1065, 0x7EF1, 0x109A, 0x7EEA,
+ 0x10D0, 0x7EE3, 0x1105, 0x7EDC, 0x113A, 0x7ED5, 0x116F, 0x7ECE, 0x11A4, 0x7EC6,
+ 0x11D9, 0x7EBF, 0x120E, 0x7EB7, 0x1243, 0x7EB0, 0x1278, 0x7EA8, 0x12AD, 0x7EA0,
+ 0x12E2, 0x7E98, 0x1317, 0x7E90, 0x134C, 0x7E88, 0x1381, 0x7E80, 0x13B6, 0x7E78,
+ 0x13EB, 0x7E70, 0x1420, 0x7E67, 0x1455, 0x7E5F, 0x148A, 0x7E56, 0x14BF, 0x7E4E,
+ 0x14F4, 0x7E45, 0x1529, 0x7E3C, 0x155E, 0x7E33, 0x1593, 0x7E2A, 0x15C7, 0x7E21,
+ 0x15FC, 0x7E18, 0x1631, 0x7E0F, 0x1666, 0x7E05, 0x169B, 0x7DFC, 0x16CF, 0x7DF2,
+ 0x1704, 0x7DE9, 0x1739, 0x7DDF, 0x176E, 0x7DD5, 0x17A2, 0x7DCC, 0x17D7, 0x7DC2,
+ 0x180C, 0x7DB8, 0x1840, 0x7DAD, 0x1875, 0x7DA3, 0x18AA, 0x7D99, 0x18DE, 0x7D8F,
+ 0x1913, 0x7D84, 0x1947, 0x7D7A, 0x197C, 0x7D6F, 0x19B0, 0x7D64, 0x19E5, 0x7D59,
+ 0x1A19, 0x7D4F, 0x1A4E, 0x7D44, 0x1A82, 0x7D39, 0x1AB7, 0x7D2D, 0x1AEB, 0x7D22,
+ 0x1B20, 0x7D17, 0x1B54, 0x7D0B, 0x1B88, 0x7D00, 0x1BBD, 0x7CF4, 0x1BF1, 0x7CE9,
+ 0x1C25, 0x7CDD, 0x1C5A, 0x7CD1, 0x1C8E, 0x7CC5, 0x1CC2, 0x7CB9, 0x1CF6, 0x7CAD,
+ 0x1D2B, 0x7CA1, 0x1D5F, 0x7C95, 0x1D93, 0x7C88, 0x1DC7, 0x7C7C, 0x1DFB, 0x7C6F,
+ 0x1E2F, 0x7C63, 0x1E64, 0x7C56, 0x1E98, 0x7C49, 0x1ECC, 0x7C3C, 0x1F00, 0x7C30,
+ 0x1F34, 0x7C22, 0x1F68, 0x7C15, 0x1F9C, 0x7C08, 0x1FD0, 0x7BFB, 0x2004, 0x7BEE,
+ 0x2037, 0x7BE0, 0x206B, 0x7BD3, 0x209F, 0x7BC5, 0x20D3, 0x7BB7, 0x2107, 0x7BA9,
+ 0x213B, 0x7B9C, 0x216E, 0x7B8E, 0x21A2, 0x7B80, 0x21D6, 0x7B71, 0x220A, 0x7B63,
+ 0x223D, 0x7B55, 0x2271, 0x7B47, 0x22A4, 0x7B38, 0x22D8, 0x7B29, 0x230C, 0x7B1B,
+ 0x233F, 0x7B0C, 0x2373, 0x7AFD, 0x23A6, 0x7AEE, 0x23DA, 0x7ADF, 0x240D, 0x7AD0,
+ 0x2441, 0x7AC1, 0x2474, 0x7AB2, 0x24A7, 0x7AA3, 0x24DB, 0x7A93, 0x250E, 0x7A84,
+ 0x2541, 0x7A74, 0x2575, 0x7A65, 0x25A8, 0x7A55, 0x25DB, 0x7A45, 0x260E, 0x7A35,
+ 0x2642, 0x7A25, 0x2675, 0x7A15, 0x26A8, 0x7A05, 0x26DB, 0x79F5, 0x270E, 0x79E4,
+ 0x2741, 0x79D4, 0x2774, 0x79C4, 0x27A7, 0x79B3, 0x27DA, 0x79A2, 0x280D, 0x7992,
+ 0x2840, 0x7981, 0x2873, 0x7970, 0x28A6, 0x795F, 0x28D8, 0x794E, 0x290B, 0x793D,
+ 0x293E, 0x792B, 0x2971, 0x791A, 0x29A3, 0x7909, 0x29D6, 0x78F7, 0x2A09, 0x78E6,
+ 0x2A3B, 0x78D4, 0x2A6E, 0x78C2, 0x2AA1, 0x78B0, 0x2AD3, 0x789F, 0x2B06, 0x788D,
+ 0x2B38, 0x787B, 0x2B6B, 0x7868, 0x2B9D, 0x7856, 0x2BCF, 0x7844, 0x2C02, 0x7831,
+ 0x2C34, 0x781F, 0x2C66, 0x780C, 0x2C99, 0x77FA, 0x2CCB, 0x77E7, 0x2CFD, 0x77D4,
+ 0x2D2F, 0x77C1, 0x2D61, 0x77AE, 0x2D94, 0x779B, 0x2DC6, 0x7788, 0x2DF8, 0x7775,
+ 0x2E2A, 0x7762, 0x2E5C, 0x774E, 0x2E8E, 0x773B, 0x2EC0, 0x7727, 0x2EF1, 0x7714,
+ 0x2F23, 0x7700, 0x2F55, 0x76EC, 0x2F87, 0x76D8, 0x2FB9, 0x76C4, 0x2FEA, 0x76B0,
+ 0x301C, 0x769C, 0x304E, 0x7688, 0x307F, 0x7674, 0x30B1, 0x765F, 0x30E3, 0x764B,
+ 0x3114, 0x7636, 0x3146, 0x7622, 0x3177, 0x760D, 0x31A9, 0x75F8, 0x31DA, 0x75E4,
+ 0x320B, 0x75CF, 0x323D, 0x75BA, 0x326E, 0x75A5, 0x329F, 0x758F, 0x32D0, 0x757A,
+ 0x3302, 0x7565, 0x3333, 0x754F, 0x3364, 0x753A, 0x3395, 0x7524, 0x33C6, 0x750F,
+ 0x33F7, 0x74F9, 0x3428, 0x74E3, 0x3459, 0x74CD, 0x348A, 0x74B7, 0x34BB, 0x74A1,
+ 0x34EC, 0x748B, 0x351C, 0x7475, 0x354D, 0x745F, 0x357E, 0x7448, 0x35AF, 0x7432,
+ 0x35DF, 0x741B, 0x3610, 0x7405, 0x3640, 0x73EE, 0x3671, 0x73D7, 0x36A1, 0x73C0,
+ 0x36D2, 0x73AA, 0x3702, 0x7393, 0x3733, 0x737B, 0x3763, 0x7364, 0x3793, 0x734D,
+ 0x37C4, 0x7336, 0x37F4, 0x731E, 0x3824, 0x7307, 0x3854, 0x72EF, 0x3884, 0x72D8,
+ 0x38B5, 0x72C0, 0x38E5, 0x72A8, 0x3915, 0x7290, 0x3945, 0x7278, 0x3974, 0x7260,
+ 0x39A4, 0x7248, 0x39D4, 0x7230, 0x3A04, 0x7218, 0x3A34, 0x71FF, 0x3A64, 0x71E7,
+ 0x3A93, 0x71CF, 0x3AC3, 0x71B6, 0x3AF2, 0x719D, 0x3B22, 0x7185, 0x3B52, 0x716C,
+ 0x3B81, 0x7153, 0x3BB1, 0x713A, 0x3BE0, 0x7121, 0x3C0F, 0x7108, 0x3C3F, 0x70EF,
+ 0x3C6E, 0x70D5, 0x3C9D, 0x70BC, 0x3CCC, 0x70A2, 0x3CFB, 0x7089, 0x3D2B, 0x706F,
+ 0x3D5A, 0x7056, 0x3D89, 0x703C, 0x3DB8, 0x7022, 0x3DE7, 0x7008, 0x3E16, 0x6FEE,
+ 0x3E44, 0x6FD4, 0x3E73, 0x6FBA, 0x3EA2, 0x6FA0, 0x3ED1, 0x6F86, 0x3EFF, 0x6F6B,
+ 0x3F2E, 0x6F51, 0x3F5D, 0x6F36, 0x3F8B, 0x6F1C, 0x3FBA, 0x6F01, 0x3FE8, 0x6EE6,
+ 0x4017, 0x6ECC, 0x4045, 0x6EB1, 0x4073, 0x6E96, 0x40A2, 0x6E7B, 0x40D0, 0x6E60,
+ 0x40FE, 0x6E44, 0x412C, 0x6E29, 0x415A, 0x6E0E, 0x4189, 0x6DF2, 0x41B7, 0x6DD7,
+ 0x41E5, 0x6DBB, 0x4213, 0x6DA0, 0x4240, 0x6D84, 0x426E, 0x6D68, 0x429C, 0x6D4C,
+ 0x42CA, 0x6D30, 0x42F8, 0x6D14, 0x4325, 0x6CF8, 0x4353, 0x6CDC, 0x4380, 0x6CC0,
+ 0x43AE, 0x6CA4, 0x43DB, 0x6C87, 0x4409, 0x6C6B, 0x4436, 0x6C4E, 0x4464, 0x6C32,
+ 0x4491, 0x6C15, 0x44BE, 0x6BF8, 0x44EB, 0x6BDB, 0x4519, 0x6BBE, 0x4546, 0x6BA1,
+ 0x4573, 0x6B84, 0x45A0, 0x6B67, 0x45CD, 0x6B4A, 0x45FA, 0x6B2D, 0x4626, 0x6B0F,
+ 0x4653, 0x6AF2, 0x4680, 0x6AD5, 0x46AD, 0x6AB7, 0x46D9, 0x6A99, 0x4706, 0x6A7C,
+ 0x4733, 0x6A5E, 0x475F, 0x6A40, 0x478C, 0x6A22, 0x47B8, 0x6A04, 0x47E4, 0x69E6,
+ 0x4811, 0x69C8, 0x483D, 0x69AA, 0x4869, 0x698B, 0x4896, 0x696D, 0x48C2, 0x694F,
+ 0x48EE, 0x6930, 0x491A, 0x6911, 0x4946, 0x68F3, 0x4972, 0x68D4, 0x499E, 0x68B5,
+ 0x49C9, 0x6896, 0x49F5, 0x6877, 0x4A21, 0x6858, 0x4A4D, 0x6839, 0x4A78, 0x681A,
+ 0x4AA4, 0x67FB, 0x4ACF, 0x67DC, 0x4AFB, 0x67BC, 0x4B26, 0x679D, 0x4B52, 0x677D,
+ 0x4B7D, 0x675E, 0x4BA8, 0x673E, 0x4BD3, 0x671E, 0x4BFF, 0x66FF, 0x4C2A, 0x66DF,
+ 0x4C55, 0x66BF, 0x4C80, 0x669F, 0x4CAB, 0x667F, 0x4CD6, 0x665E, 0x4D01, 0x663E,
+ 0x4D2B, 0x661E, 0x4D56, 0x65FE, 0x4D81, 0x65DD, 0x4DAB, 0x65BD, 0x4DD6, 0x659C,
+ 0x4E01, 0x657B, 0x4E2B, 0x655B, 0x4E55, 0x653A, 0x4E80, 0x6519, 0x4EAA, 0x64F8,
+ 0x4ED4, 0x64D7, 0x4EFF, 0x64B6, 0x4F29, 0x6495, 0x4F53, 0x6474, 0x4F7D, 0x6453,
+ 0x4FA7, 0x6431, 0x4FD1, 0x6410, 0x4FFB, 0x63EE, 0x5025, 0x63CD, 0x504E, 0x63AB,
+ 0x5078, 0x638A, 0x50A2, 0x6368, 0x50CB, 0x6346, 0x50F5, 0x6324, 0x511E, 0x6302,
+ 0x5148, 0x62E0, 0x5171, 0x62BE, 0x519B, 0x629C, 0x51C4, 0x627A, 0x51ED, 0x6257,
+ 0x5216, 0x6235, 0x523F, 0x6213, 0x5268, 0x61F0, 0x5291, 0x61CE, 0x52BA, 0x61AB,
+ 0x52E3, 0x6188, 0x530C, 0x6166, 0x5335, 0x6143, 0x535E, 0x6120, 0x5386, 0x60FD,
+ 0x53AF, 0x60DA, 0x53D7, 0x60B7, 0x5400, 0x6094, 0x5428, 0x6070, 0x5451, 0x604D,
+ 0x5479, 0x602A, 0x54A1, 0x6006, 0x54C9, 0x5FE3, 0x54F2, 0x5FBF, 0x551A, 0x5F9C,
+ 0x5542, 0x5F78, 0x556A, 0x5F54, 0x5591, 0x5F31, 0x55B9, 0x5F0D, 0x55E1, 0x5EE9,
+ 0x5609, 0x5EC5, 0x5630, 0x5EA1, 0x5658, 0x5E7D, 0x5680, 0x5E58, 0x56A7, 0x5E34,
+ 0x56CF, 0x5E10, 0x56F6, 0x5DEB, 0x571D, 0x5DC7, 0x5745, 0x5DA2, 0x576C, 0x5D7E,
+ 0x5793, 0x5D59, 0x57BA, 0x5D34, 0x57E1, 0x5D10, 0x5808, 0x5CEB, 0x582F, 0x5CC6,
+ 0x5856, 0x5CA1, 0x587C, 0x5C7C, 0x58A3, 0x5C57, 0x58CA, 0x5C32, 0x58F0, 0x5C0C,
+ 0x5917, 0x5BE7, 0x593D, 0x5BC2, 0x5964, 0x5B9C, 0x598A, 0x5B77, 0x59B0, 0x5B51,
+ 0x59D7, 0x5B2C, 0x59FD, 0x5B06, 0x5A23, 0x5AE0, 0x5A49, 0x5ABB, 0x5A6F, 0x5A95
+ },
+
+ // const WORD16 only_long_window_kbd_960[960] =
+ {
+ 0x000A, 0x7FFF, 0x000F, 0x7FFF, 0x0013, 0x7FFF, 0x0016, 0x7FFF, 0x001A, 0x7FFF,
+ 0x001D, 0x7FFF, 0x0021, 0x7FFF, 0x0025, 0x7FFF, 0x0028, 0x7FFF, 0x002C, 0x7FFF,
+ 0x002F, 0x7FFF, 0x0033, 0x7FFF, 0x0037, 0x7FFF, 0x003B, 0x7FFF, 0x003F, 0x7FFF,
+ 0x0043, 0x7FFF, 0x0047, 0x7FFF, 0x004B, 0x7FFF, 0x0050, 0x7FFF, 0x0054, 0x7FFF,
+ 0x0059, 0x7FFF, 0x005D, 0x7FFF, 0x0062, 0x7FFF, 0x0067, 0x7FFF, 0x006C, 0x7FFF,
+ 0x0071, 0x7FFF, 0x0076, 0x7FFF, 0x007B, 0x7FFF, 0x0080, 0x7FFF, 0x0086, 0x7FFF,
+ 0x008C, 0x7FFF, 0x0091, 0x7FFF, 0x0097, 0x7FFF, 0x009D, 0x7FFF, 0x00A3, 0x7FFF,
+ 0x00A9, 0x7FFF, 0x00B0, 0x7FFF, 0x00B6, 0x7FFE, 0x00BD, 0x7FFE, 0x00C3, 0x7FFE,
+ 0x00CA, 0x7FFE, 0x00D1, 0x7FFE, 0x00D8, 0x7FFE, 0x00E0, 0x7FFE, 0x00E7, 0x7FFE,
+ 0x00EF, 0x7FFE, 0x00F6, 0x7FFE, 0x00FE, 0x7FFE, 0x0106, 0x7FFE, 0x010E, 0x7FFE,
+ 0x0116, 0x7FFE, 0x011F, 0x7FFE, 0x0127, 0x7FFE, 0x0130, 0x7FFE, 0x0139, 0x7FFE,
+ 0x0142, 0x7FFD, 0x014B, 0x7FFD, 0x0154, 0x7FFD, 0x015E, 0x7FFD, 0x0167, 0x7FFD,
+ 0x0171, 0x7FFD, 0x017B, 0x7FFD, 0x0185, 0x7FFD, 0x018F, 0x7FFD, 0x019A, 0x7FFC,
+ 0x01A4, 0x7FFC, 0x01AF, 0x7FFC, 0x01BA, 0x7FFC, 0x01C5, 0x7FFC, 0x01D0, 0x7FFC,
+ 0x01DC, 0x7FFC, 0x01E7, 0x7FFB, 0x01F3, 0x7FFB, 0x01FF, 0x7FFB, 0x020B, 0x7FFB,
+ 0x0218, 0x7FFB, 0x0224, 0x7FFA, 0x0231, 0x7FFA, 0x023E, 0x7FFA, 0x024B, 0x7FFA,
+ 0x0258, 0x7FFA, 0x0265, 0x7FF9, 0x0273, 0x7FF9, 0x0281, 0x7FF9, 0x028F, 0x7FF8,
+ 0x029D, 0x7FF8, 0x02AC, 0x7FF8, 0x02BA, 0x7FF8, 0x02C9, 0x7FF7, 0x02D8, 0x7FF7,
+ 0x02E7, 0x7FF7, 0x02F7, 0x7FF6, 0x0306, 0x7FF6, 0x0316, 0x7FF5, 0x0326, 0x7FF5,
+ 0x0336, 0x7FF5, 0x0347, 0x7FF4, 0x0357, 0x7FF4, 0x0368, 0x7FF3, 0x0379, 0x7FF3,
+ 0x038A, 0x7FF2, 0x039C, 0x7FF2, 0x03AE, 0x7FF1, 0x03BF, 0x7FF1, 0x03D2, 0x7FF0,
+ 0x03E4, 0x7FF0, 0x03F7, 0x7FEF, 0x0409, 0x7FEF, 0x041C, 0x7FEE, 0x0430, 0x7FED,
+ 0x0443, 0x7FED, 0x0457, 0x7FEC, 0x046B, 0x7FEB, 0x047F, 0x7FEB, 0x0493, 0x7FEA,
+ 0x04A8, 0x7FE9, 0x04BD, 0x7FE9, 0x04D2, 0x7FE8, 0x04E7, 0x7FE7, 0x04FD, 0x7FE6,
+ 0x0513, 0x7FE5, 0x0529, 0x7FE4, 0x053F, 0x7FE3, 0x0555, 0x7FE3, 0x056C, 0x7FE2,
+ 0x0583, 0x7FE1, 0x059A, 0x7FE0, 0x05B2, 0x7FDF, 0x05CA, 0x7FDD, 0x05E2, 0x7FDC,
+ 0x05FA, 0x7FDB, 0x0612, 0x7FDA, 0x062B, 0x7FD9, 0x0644, 0x7FD8, 0x065D, 0x7FD6,
+ 0x0677, 0x7FD5, 0x0690, 0x7FD4, 0x06AA, 0x7FD3, 0x06C5, 0x7FD1, 0x06DF, 0x7FD0,
+ 0x06FA, 0x7FCE, 0x0715, 0x7FCD, 0x0730, 0x7FCB, 0x074C, 0x7FCA, 0x0768, 0x7FC8,
+ 0x0784, 0x7FC6, 0x07A0, 0x7FC5, 0x07BD, 0x7FC3, 0x07D9, 0x7FC1, 0x07F6, 0x7FC0,
+ 0x0814, 0x7FBE, 0x0832, 0x7FBC, 0x084F, 0x7FBA, 0x086E, 0x7FB8, 0x088C, 0x7FB6,
+ 0x08AB, 0x7FB4, 0x08CA, 0x7FB2, 0x08E9, 0x7FB0, 0x0909, 0x7FAD, 0x0928, 0x7FAB,
+ 0x0949, 0x7FA9, 0x0969, 0x7FA6, 0x098A, 0x7FA4, 0x09AA, 0x7FA1, 0x09CC, 0x7F9F,
+ 0x09ED, 0x7F9C, 0x0A0F, 0x7F9A, 0x0A31, 0x7F97, 0x0A53, 0x7F94, 0x0A76, 0x7F91,
+ 0x0A99, 0x7F8F, 0x0ABC, 0x7F8C, 0x0ADF, 0x7F89, 0x0B03, 0x7F86, 0x0B27, 0x7F82,
+ 0x0B4B, 0x7F7F, 0x0B70, 0x7F7C, 0x0B94, 0x7F79, 0x0BBA, 0x7F75, 0x0BDF, 0x7F72,
+ 0x0C05, 0x7F6E, 0x0C2B, 0x7F6B, 0x0C51, 0x7F67, 0x0C77, 0x7F63, 0x0C9E, 0x7F5F,
+ 0x0CC5, 0x7F5B, 0x0CED, 0x7F58, 0x0D14, 0x7F53, 0x0D3C, 0x7F4F, 0x0D65, 0x7F4B,
+ 0x0D8D, 0x7F47, 0x0DB6, 0x7F42, 0x0DDF, 0x7F3E, 0x0E08, 0x7F39, 0x0E32, 0x7F35,
+ 0x0E5C, 0x7F30, 0x0E86, 0x7F2B, 0x0EB1, 0x7F26, 0x0EDC, 0x7F21, 0x0F07, 0x7F1C,
+ 0x0F32, 0x7F17, 0x0F5E, 0x7F12, 0x0F8A, 0x7F0D, 0x0FB6, 0x7F07, 0x0FE3, 0x7F02,
+ 0x1010, 0x7EFC, 0x103D, 0x7EF6, 0x106A, 0x7EF0, 0x1098, 0x7EEA, 0x10C6, 0x7EE4,
+ 0x10F4, 0x7EDE, 0x1123, 0x7ED8, 0x1152, 0x7ED2, 0x1181, 0x7ECB, 0x11B0, 0x7EC5,
+ 0x11E0, 0x7EBE, 0x1210, 0x7EB7, 0x1240, 0x7EB0, 0x1271, 0x7EA9, 0x12A2, 0x7EA2,
+ 0x12D3, 0x7E9B, 0x1304, 0x7E93, 0x1336, 0x7E8C, 0x1368, 0x7E84, 0x139A, 0x7E7C,
+ 0x13CD, 0x7E75, 0x1400, 0x7E6D, 0x1433, 0x7E64, 0x1466, 0x7E5C, 0x149A, 0x7E54,
+ 0x14CE, 0x7E4B, 0x1502, 0x7E43, 0x1537, 0x7E3A, 0x156C, 0x7E31, 0x15A1, 0x7E28,
+ 0x15D6, 0x7E1F, 0x160C, 0x7E15, 0x1642, 0x7E0C, 0x1678, 0x7E02, 0x16AE, 0x7DF8,
+ 0x16E5, 0x7DEF, 0x171C, 0x7DE4, 0x1754, 0x7DDA, 0x178B, 0x7DD0, 0x17C3, 0x7DC5,
+ 0x17FB, 0x7DBB, 0x1833, 0x7DB0, 0x186C, 0x7DA5, 0x18A5, 0x7D9A, 0x18DE, 0x7D8F,
+ 0x1918, 0x7D83, 0x1952, 0x7D78, 0x198C, 0x7D6C, 0x19C6, 0x7D60, 0x1A00, 0x7D54,
+ 0x1A3B, 0x7D48, 0x1A76, 0x7D3B, 0x1AB1, 0x7D2F, 0x1AED, 0x7D22, 0x1B29, 0x7D15,
+ 0x1B65, 0x7D08, 0x1BA1, 0x7CFA, 0x1BDE, 0x7CED, 0x1C1B, 0x7CDF, 0x1C58, 0x7CD2,
+ 0x1C95, 0x7CC4, 0x1CD3, 0x7CB5, 0x1D11, 0x7CA7, 0x1D4F, 0x7C98, 0x1D8D, 0x7C8A,
+ 0x1DCC, 0x7C7B, 0x1E0B, 0x7C6C, 0x1E4A, 0x7C5C, 0x1E89, 0x7C4D, 0x1EC9, 0x7C3D,
+ 0x1F08, 0x7C2D, 0x1F48, 0x7C1D, 0x1F89, 0x7C0D, 0x1FC9, 0x7BFD, 0x200A, 0x7BEC,
+ 0x204B, 0x7BDB, 0x208C, 0x7BCA, 0x20CE, 0x7BB9, 0x210F, 0x7BA7, 0x2151, 0x7B95,
+ 0x2193, 0x7B84, 0x21D6, 0x7B71, 0x2218, 0x7B5F, 0x225B, 0x7B4D, 0x229E, 0x7B3A,
+ 0x22E1, 0x7B27, 0x2325, 0x7B14, 0x2369, 0x7B00, 0x23AC, 0x7AED, 0x23F1, 0x7AD9,
+ 0x2435, 0x7AC5, 0x2479, 0x7AB0, 0x24BE, 0x7A9C, 0x2503, 0x7A87, 0x2548, 0x7A72,
+ 0x258D, 0x7A5D, 0x25D3, 0x7A48, 0x2619, 0x7A32, 0x265F, 0x7A1C, 0x26A5, 0x7A06,
+ 0x26EB, 0x79F0, 0x2731, 0x79D9, 0x2778, 0x79C2, 0x27BF, 0x79AB, 0x2806, 0x7994,
+ 0x284D, 0x797C, 0x2895, 0x7965, 0x28DC, 0x794C, 0x2924, 0x7934, 0x296C, 0x791C,
+ 0x29B4, 0x7903, 0x29FC, 0x78EA, 0x2A45, 0x78D1, 0x2A8E, 0x78B7, 0x2AD6, 0x789D,
+ 0x2B1F, 0x7883, 0x2B68, 0x7869, 0x2BB2, 0x784F, 0x2BFB, 0x7834, 0x2C45, 0x7819,
+ 0x2C8E, 0x77FE, 0x2CD8, 0x77E2, 0x2D22, 0x77C6, 0x2D6D, 0x77AA, 0x2DB7, 0x778E,
+ 0x2E01, 0x7771, 0x2E4C, 0x7754, 0x2E97, 0x7737, 0x2EE2, 0x771A, 0x2F2D, 0x76FC,
+ 0x2F78, 0x76DE, 0x2FC3, 0x76C0, 0x300F, 0x76A2, 0x305A, 0x7683, 0x30A6, 0x7664,
+ 0x30F2, 0x7645, 0x313D, 0x7625, 0x318A, 0x7606, 0x31D6, 0x75E5, 0x3222, 0x75C5,
+ 0x326E, 0x75A4, 0x32BB, 0x7584, 0x3307, 0x7562, 0x3354, 0x7541, 0x33A1, 0x751F,
+ 0x33EE, 0x74FD, 0x343B, 0x74DB, 0x3488, 0x74B8, 0x34D5, 0x7496, 0x3522, 0x7472,
+ 0x356F, 0x744F, 0x35BD, 0x742B, 0x360A, 0x7407, 0x3658, 0x73E3, 0x36A5, 0x73BF,
+ 0x36F3, 0x739A, 0x3741, 0x7375, 0x378F, 0x734F, 0x37DD, 0x732A, 0x382B, 0x7304,
+ 0x3879, 0x72DD, 0x38C7, 0x72B7, 0x3915, 0x7290, 0x3963, 0x7269, 0x39B1, 0x7242,
+ 0x3A00, 0x721A, 0x3A4E, 0x71F2, 0x3A9C, 0x71CA, 0x3AEB, 0x71A1, 0x3B39, 0x7178,
+ 0x3B88, 0x714F, 0x3BD7, 0x7126, 0x3C25, 0x70FC, 0x3C74, 0x70D2, 0x3CC2, 0x70A8,
+ 0x3D11, 0x707D, 0x3D60, 0x7052, 0x3DAE, 0x7027, 0x3DFD, 0x6FFC, 0x3E4C, 0x6FD0,
+ 0x3E9B, 0x6FA4, 0x3EEA, 0x6F78, 0x3F38, 0x6F4B, 0x3F87, 0x6F1E, 0x3FD6, 0x6EF1,
+ 0x4025, 0x6EC4, 0x4073, 0x6E96, 0x40C2, 0x6E68, 0x4111, 0x6E39, 0x4160, 0x6E0B,
+ 0x41AF, 0x6DDC, 0x41FD, 0x6DAD, 0x424C, 0x6D7D, 0x429B, 0x6D4D, 0x42E9, 0x6D1D,
+ 0x4338, 0x6CED, 0x4387, 0x6CBC, 0x43D5, 0x6C8B, 0x4424, 0x6C5A, 0x4472, 0x6C28,
+ 0x44C1, 0x6BF7, 0x450F, 0x6BC4, 0x455E, 0x6B92, 0x45AC, 0x6B5F, 0x45FA, 0x6B2C,
+ 0x4648, 0x6AF9, 0x4697, 0x6AC6, 0x46E5, 0x6A92, 0x4733, 0x6A5E, 0x4781, 0x6A29,
+ 0x47CF, 0x69F5, 0x481D, 0x69C0, 0x486B, 0x698A, 0x48B8, 0x6955, 0x4906, 0x691F,
+ 0x4954, 0x68E9, 0x49A1, 0x68B3, 0x49EF, 0x687C, 0x4A3C, 0x6845, 0x4A89, 0x680E,
+ 0x4AD7, 0x67D6, 0x4B24, 0x679F, 0x4B71, 0x6767, 0x4BBE, 0x672E, 0x4C0B, 0x66F6,
+ 0x4C57, 0x66BD, 0x4CA4, 0x6684, 0x4CF0, 0x664A, 0x4D3D, 0x6611, 0x4D89, 0x65D7,
+ 0x4DD5, 0x659D, 0x4E21, 0x6562, 0x4E6D, 0x6527, 0x4EB9, 0x64EC, 0x4F05, 0x64B1,
+ 0x4F51, 0x6476, 0x4F9C, 0x643A, 0x4FE8, 0x63FE, 0x5033, 0x63C1, 0x507E, 0x6385,
+ 0x50C9, 0x6348, 0x5114, 0x630B, 0x515E, 0x62CE, 0x51A9, 0x6290, 0x51F3, 0x6252,
+ 0x523E, 0x6214, 0x5288, 0x61D6, 0x52D2, 0x6197, 0x531C, 0x6158, 0x5365, 0x6119,
+ 0x53AF, 0x60DA, 0x53F8, 0x609A, 0x5441, 0x605B, 0x548A, 0x601B, 0x54D3, 0x5FDA,
+ 0x551C, 0x5F9A, 0x5564, 0x5F59, 0x55AD, 0x5F18, 0x55F5, 0x5ED7, 0x563D, 0x5E95,
+ 0x5685, 0x5E53, 0x56CD, 0x5E12, 0x5714, 0x5DCF, 0x575B, 0x5D8D, 0x57A3, 0x5D4A,
+ 0x57E9, 0x5D08, 0x5830, 0x5CC4, 0x5877, 0x5C81, 0x58BD, 0x5C3E, 0x5903, 0x5BFA,
+ 0x5949, 0x5BB6, 0x598F, 0x5B72, 0x59D5, 0x5B2E, 0x5A1A, 0x5AE9, 0x5A5F, 0x5AA4
+ },
+ // const WORD16 only_short_window_sine_120[120] =
+ {
+ 0x00D6, 0x7FFE, 0x0283, 0x7FF9, 0x0430, 0x7FED, 0x05DD, 0x7FDD, 0x0789, 0x7FC6,
+ 0x0935, 0x7FAA, 0x0AE1, 0x7F88, 0x0C8C, 0x7F61, 0x0E36, 0x7F34, 0x0FE0, 0x7F02,
+ 0x1189, 0x7ECA, 0x1332, 0x7E8C, 0x14DA, 0x7E49, 0x1680, 0x7E01, 0x1826, 0x7DB3,
+ 0x19CB, 0x7D5F, 0x1B6E, 0x7D06, 0x1D11, 0x7CA7, 0x1EB2, 0x7C43, 0x2051, 0x7BD9,
+ 0x21F0, 0x7B6A, 0x238D, 0x7AF6, 0x2528, 0x7A7C, 0x26C1, 0x79FD, 0x2859, 0x7978,
+ 0x29EF, 0x78EE, 0x2B84, 0x785F, 0x2D16, 0x77CB, 0x2EA7, 0x7731, 0x3035, 0x7692,
+ 0x31C1, 0x75EE, 0x334B, 0x7545, 0x34D3, 0x7496, 0x3659, 0x73E3, 0x37DC, 0x732A,
+ 0x395D, 0x726C, 0x3ADB, 0x71AA, 0x3C56, 0x70E2, 0x3DCF, 0x7015, 0x3F45, 0x6F44,
+ 0x40B9, 0x6E6D, 0x4229, 0x6D92, 0x4397, 0x6CB2, 0x4502, 0x6BCD, 0x466A, 0x6AE3,
+ 0x47CE, 0x69F5, 0x4930, 0x6902, 0x4A8E, 0x680B, 0x4BE9, 0x670E, 0x4D41, 0x660E,
+ 0x4E95, 0x6509, 0x4FE6, 0x63FF, 0x5133, 0x62F1, 0x527D, 0x61DF, 0x53C3, 0x60C8,
+ 0x5506, 0x5FAE, 0x5644, 0x5E8F, 0x577F, 0x5D6B, 0x58B6, 0x5C44, 0x59EA, 0x5B19
+ },
+
+ // const WORD16 only_short_window_kbd_120[120] =
+ {
+ 0x0001, 0x7FFF, 0x0004, 0x7FFF, 0x0008, 0x7FFF, 0x000E, 0x7FFF, 0x0016, 0x7FFF,
+ 0x0021, 0x7FFF, 0x0030, 0x7FFF, 0x0042, 0x7FFF, 0x0059, 0x7FFF, 0x0075, 0x7FFF,
+ 0x0097, 0x7FFF, 0x00C1, 0x7FFE, 0x00F2, 0x7FFE, 0x012D, 0x7FFE, 0x0171, 0x7FFD,
+ 0x01C1, 0x7FFC, 0x021D, 0x7FFB, 0x0286, 0x7FF9, 0x02FE, 0x7FF6, 0x0385, 0x7FF3,
+ 0x041E, 0x7FEE, 0x04C9, 0x7FE8, 0x0586, 0x7FE0, 0x0658, 0x7FD7, 0x0740, 0x7FCA,
+ 0x083E, 0x7FBB, 0x0953, 0x7FA8, 0x0A80, 0x7F91, 0x0BC7, 0x7F74, 0x0D27, 0x7F52,
+ 0x0EA0, 0x7F28, 0x1035, 0x7EF7, 0x11E3, 0x7EBD, 0x13AD, 0x7E7A, 0x1591, 0x7E2A,
+ 0x1790, 0x7DCF, 0x19A8, 0x7D66, 0x1BDA, 0x7CEE, 0x1E25, 0x7C65, 0x2087, 0x7BCB,
+ 0x2300, 0x7B1E, 0x258E, 0x7A5D, 0x2830, 0x7986, 0x2AE5, 0x7898, 0x2DA9, 0x7793,
+ 0x307D, 0x7675, 0x335D, 0x753D, 0x3647, 0x73EB, 0x393A, 0x727E, 0x3C33, 0x70F5,
+ 0x3F2F, 0x6F50, 0x422D, 0x6D90, 0x452A, 0x6BB4, 0x4823, 0x69BC, 0x4B16, 0x67A9,
+ 0x4E01, 0x657B, 0x50E2, 0x6334, 0x53B5, 0x60D4, 0x567A, 0x5E5D, 0x592F, 0x5BD0
+ },
+
+ // WORD16 re_arr_tab_32[480];
+ {
+ 0, 15, 30, 45, 60, 75, 90, 105, 120, 135,
+ 150, 165, 180, 195, 210, 225, 240, 255, 270, 285,
+ 300, 315, 330, 345, 360, 375, 390, 405, 420, 435,
+ 450, 465, 32, 47, 62, 77, 92, 107, 122, 137,
+ 152, 167, 182, 197, 212, 227, 242, 257, 272, 287,
+ 302, 317, 332, 347, 362, 377, 392, 407, 422, 437,
+ 452, 467, 2, 17, 64, 79, 94, 109, 124, 139,
+ 154, 169, 184, 199, 214, 229, 244, 259, 274, 289,
+ 304, 319, 334, 349, 364, 379, 394, 409, 424, 439,
+ 454, 469, 4, 19, 34, 49, 96, 111, 126, 141,
+ 156, 171, 186, 201, 216, 231, 246, 261, 276, 291,
+ 306, 321, 336, 351, 366, 381, 396, 411, 426, 441,
+ 456, 471, 6, 21, 36, 51, 66, 81, 128, 143,
+ 158, 173, 188, 203, 218, 233, 248, 263, 278, 293,
+ 308, 323, 338, 353, 368, 383, 398, 413, 428, 443,
+ 458, 473, 8, 23, 38, 53, 68, 83, 98, 113,
+ 160, 175, 190, 205, 220, 235, 250, 265, 280, 295,
+ 310, 325, 340, 355, 370, 385, 400, 415, 430, 445,
+ 460, 475, 10, 25, 40, 55, 70, 85, 100, 115,
+ 130, 145, 192, 207, 222, 237, 252, 267, 282, 297,
+ 312, 327, 342, 357, 372, 387, 402, 417, 432, 447,
+ 462, 477, 12, 27, 42, 57, 72, 87, 102, 117,
+ 132, 147, 162, 177, 224, 239, 254, 269, 284, 299,
+ 314, 329, 344, 359, 374, 389, 404, 419, 434, 449,
+ 464, 479, 14, 29, 44, 59, 74, 89, 104, 119,
+ 134, 149, 164, 179, 194, 209, 256, 271, 286, 301,
+ 316, 331, 346, 361, 376, 391, 406, 421, 436, 451,
+ 466, 1, 16, 31, 46, 61, 76, 91, 106, 121,
+ 136, 151, 166, 181, 196, 211, 226, 241, 288, 303,
+ 318, 333, 348, 363, 378, 393, 408, 423, 438, 453,
+ 468, 3, 18, 33, 48, 63, 78, 93, 108, 123,
+ 138, 153, 168, 183, 198, 213, 228, 243, 258, 273,
+ 320, 335, 350, 365, 380, 395, 410, 425, 440, 455,
+ 470, 5, 20, 35, 50, 65, 80, 95, 110, 125,
+ 140, 155, 170, 185, 200, 215, 230, 245, 260, 275,
+ 290, 305, 352, 367, 382, 397, 412, 427, 442, 457,
+ 472, 7, 22, 37, 52, 67, 82, 97, 112, 127,
+ 142, 157, 172, 187, 202, 217, 232, 247, 262, 277,
+ 292, 307, 322, 337, 384, 399, 414, 429, 444, 459,
+ 474, 9, 24, 39, 54, 69, 84, 99, 114, 129,
+ 144, 159, 174, 189, 204, 219, 234, 249, 264, 279,
+ 294, 309, 324, 339, 354, 369, 416, 431, 446, 461,
+ 476, 11, 26, 41, 56, 71, 86, 101, 116, 131,
+ 146, 161, 176, 191, 206, 221, 236, 251, 266, 281,
+ 296, 311, 326, 341, 356, 371, 386, 401, 448, 463,
+ 478, 13, 28, 43, 58, 73, 88, 103, 118, 133,
+ 148, 163, 178, 193, 208, 223, 238, 253, 268, 283,
+ 298, 313, 328, 343, 358, 373, 388, 403, 418, 433
+ },
+
+ // const WORD16 re_arr_tab_sml[FFT15 + 1] =
+ {
+ 0, 4, 8, 9, 13, 2, 3, 7,
+ 11, 12, 1, 5, 6, 10, 14, 0
+ },
+
+ // const WORD16 re_arr_tab_4[60] =
+ {
+ 0, 15, 30, 45, 4, 19, 34, 49, 8, 23,
+ 38, 53, 12, 27, 42, 57, 16, 31, 46, 1,
+ 20, 35, 50, 5, 24, 39, 54, 9, 28, 43,
+ 58, 13, 32, 47, 2, 17, 36, 51, 6, 21,
+ 40, 55, 10, 25, 44, 59, 14, 29, 48, 3,
+ 18, 33, 52, 7, 22, 37, 56, 11, 26, 41
+ },
+
+ // const WORD16 re_arr_tab_15_4[60] =
+ {
+ 0, 4, 8, 12, 16, 20, 24, 28, 32, 36,
+ 40, 44, 48, 52, 56, 1, 5, 9, 13, 17,
+ 21, 25, 29, 33, 37, 41, 45, 49, 53, 57,
+ 2, 6, 10, 14, 18, 22, 26, 30, 34, 38,
+ 42, 46, 50, 54, 58, 3, 7, 11, 15, 19,
+ 23, 27, 31, 35, 39, 43, 47, 51, 55, 59
+ },
+
+ // const WORD16 re_arr_tab_120[60] =
+ {
+ 0, 16, 32, 48, 4, 20, 36, 52, 8, 24,
+ 40, 56, 12, 28, 44, 45, 1, 17, 33, 49,
+ 5, 21, 37, 53, 9, 25, 41, 57, 13, 29,
+ 30, 46, 2, 18, 34, 50, 6, 22, 38, 54,
+ 10, 26, 42, 58, 14, 15, 31, 47, 3, 19,
+ 35, 51, 7, 23, 39, 55, 11, 27, 43, 59
+ },
+
+ // WORD16 re_arr_tab_5[FFT15 + 1] =
+ {
+ 0, 3, 6, 9, 12, 5, 8, 11,
+ 14, 2, 10, 13, 1, 4, 7, 0
+ },
+
+ // WORD16 re_arr_tab_3[FFT15 + 1] =
+ {
+ 0, 5, 10, 1, 6, 11, 2, 7,
+ 12, 3, 8, 13, 4, 9, 14, 0
+ },
+
+ // WORD16 re_arr_tab_sml_480[480] =
+ {
+ 0, 160, 320, 96, 256, 416, 192, 352,
+ 32, 288, 448, 128, 384, 64, 224, 225,
+ 385, 65, 321, 1, 161, 417, 97, 257,
+ 33, 193, 353, 129, 289, 449, 450, 130,
+ 290, 66, 226, 386, 162, 322, 2, 258,
+ 418, 98, 354, 34, 194, 195, 355, 35,
+ 291, 451, 131, 387, 67, 227, 3, 163,
+ 323, 99, 259, 419, 420, 100, 260, 36,
+ 196, 356, 132, 292, 452, 228, 388, 68,
+ 324, 4, 164, 165, 325, 5, 261, 421,
+ 101, 357, 37, 197, 453, 133, 293, 69,
+ 229, 389, 390, 70, 230, 6, 166, 326,
+ 102, 262, 422, 198, 358, 38, 294, 454,
+ 134, 135, 295, 455, 231, 391, 71, 327,
+ 7, 167, 423, 103, 263, 39, 199, 359,
+ 360, 40, 200, 456, 136, 296, 72, 232,
+ 392, 168, 328, 8, 264, 424, 104, 105,
+ 265, 425, 201, 361, 41, 297, 457, 137,
+ 393, 73, 233, 9, 169, 329, 330, 10,
+ 170, 426, 106, 266, 42, 202, 362, 138,
+ 298, 458, 234, 394, 74, 75, 235, 395,
+ 171, 331, 11, 267, 427, 107, 363, 43,
+ 203, 459, 139, 299, 300, 460, 140, 396,
+ 76, 236, 12, 172, 332, 108, 268, 428,
+ 204, 364, 44, 45, 205, 365, 141, 301,
+ 461, 237, 397, 77, 333, 13, 173, 429,
+ 109, 269, 270, 430, 110, 366, 46, 206,
+ 462, 142, 302, 78, 238, 398, 174, 334,
+ 14, 15, 175, 335, 111, 271, 431, 207,
+ 367, 47, 303, 463, 143, 399, 79, 239,
+ 240, 400, 80, 336, 16, 176, 432, 112,
+ 272, 48, 208, 368, 144, 304, 464, 465,
+ 145, 305, 81, 241, 401, 177, 337, 17,
+ 273, 433, 113, 369, 49, 209, 210, 370,
+ 50, 306, 466, 146, 402, 82, 242, 18,
+ 178, 338, 114, 274, 434, 435, 115, 275,
+ 51, 211, 371, 147, 307, 467, 243, 403,
+ 83, 339, 19, 179, 180, 340, 20, 276,
+ 436, 116, 372, 52, 212, 468, 148, 308,
+ 84, 244, 404, 405, 85, 245, 21, 181,
+ 341, 117, 277, 437, 213, 373, 53, 309,
+ 469, 149, 150, 310, 470, 246, 406, 86,
+ 342, 22, 182, 438, 118, 278, 54, 214,
+ 374, 375, 55, 215, 471, 151, 311, 87,
+ 247, 407, 183, 343, 23, 279, 439, 119,
+ 120, 280, 440, 216, 376, 56, 312, 472,
+ 152, 408, 88, 248, 24, 184, 344, 345,
+ 25, 185, 441, 121, 281, 57, 217, 377,
+ 153, 313, 473, 249, 409, 89, 90, 250,
+ 410, 186, 346, 26, 282, 442, 122, 378,
+ 58, 218, 474, 154, 314, 315, 475, 155,
+ 411, 91, 251, 27, 187, 347, 123, 283,
+ 443, 219, 379, 59, 60, 220, 380, 156,
+ 316, 476, 252, 412, 92, 348, 28, 188,
+ 444, 124, 284, 285, 445, 125, 381, 61,
+ 221, 477, 157, 317, 93, 253, 413, 189,
+ 349, 29, 30, 190, 350, 126, 286, 446,
+ 222, 382, 62, 318, 478, 158, 414, 94,
+ 254, 255, 415, 95, 351, 31, 191, 447,
+ 127, 287, 63, 223, 383, 159, 319, 479
+ },
+
+ // WORD32 cosine_array_1920[960] =
+ {
+ 32767, 13, 94, 32767, 32767, 121, 201, 32767,
+ 32767, 228, 308, 32767, 32766, 335, 416, 32765,
+ 32765, 442, 523, 32764, 32763, 550, 630, 32762,
+ 32761, 657, 737, 32760, 32759, 764, 844, 32757,
+ 32756, 871, 952, 32754, 32753, 978, 1059, 32751,
+ 32750, 1086, 1166, 32747, 32746, 1193, 1273, 32743,
+ 32742, 1300, 1380, 32739, 32738, 1407, 1487, 32734,
+ 32733, 1514, 1594, 32729, 32728, 1621, 1702, 32724,
+ 32722, 1728, 1809, 32718, 32717, 1835, 1916, 32712,
+ 32710, 1942, 2023, 32706, 32704, 2049, 2130, 32699,
+ 32697, 2157, 2237, 32692, 32690, 2263, 2344, 32684,
+ 32682, 2370, 2451, 32676, 32674, 2477, 2558, 32668,
+ 32666, 2584, 2664, 32659, 32657, 2691, 2771, 32651,
+ 32648, 2798, 2878, 32641, 32639, 2905, 2985, 32632,
+ 32629, 3012, 3092, 32622, 32619, 3118, 3198, 32612,
+ 32609, 3225, 3305, 32601, 32598, 3332, 3412, 32590,
+ 32587, 3439, 3518, 32579, 32576, 3545, 3625, 32567,
+ 32564, 3652, 3732, 32555, 32552, 3758, 3838, 32542,
+ 32539, 3865, 3945, 32530, 32526, 3971, 4051, 32517,
+ 32513, 4078, 4157, 32503, 32500, 4184, 4264, 32489,
+ 32486, 4290, 4370, 32475, 32472, 4397, 4476, 32461,
+ 32457, 4503, 4583, 32446, 32442, 4609, 4689, 32431,
+ 32427, 4715, 4795, 32415, 32411, 4821, 4901, 32399,
+ 32395, 4927, 5007, 32383, 32379, 5033, 5113, 32367,
+ 32362, 5139, 5219, 32350, 32345, 5245, 5325, 32333,
+ 32328, 5351, 5430, 32315, 32310, 5457, 5536, 32297,
+ 32292, 5562, 5642, 32279, 32274, 5668, 5747, 32260,
+ 32255, 5774, 5853, 32241, 32236, 5879, 5958, 32222,
+ 32217, 5985, 6064, 32202, 32197, 6090, 6169, 32182,
+ 32177, 6195, 6274, 32162, 32157, 6301, 6380, 32141,
+ 32136, 6406, 6485, 32120, 32115, 6511, 6590, 32099,
+ 32093, 6616, 6695, 32077, 32071, 6721, 6800, 32055,
+ 32049, 6826, 6905, 32032, 32027, 6931, 7009, 32010,
+ 32004, 7036, 7114, 31986, 31981, 7140, 7219, 31963,
+ 31957, 7245, 7323, 31939, 31933, 7349, 7428, 31915,
+ 31909, 7454, 7532, 31891, 31884, 7558, 7637, 31866,
+ 31859, 7663, 7741, 31841, 31834, 7767, 7845, 31815,
+ 31809, 7871, 7949, 31789, 31783, 7975, 8053, 31763,
+ 31756, 8079, 8157, 31737, 31730, 8183, 8261, 31710,
+ 31703, 8287, 8364, 31682, 31676, 8390, 8468, 31655,
+ 31648, 8494, 8572, 31627, 31620, 8597, 8675, 31599,
+ 31592, 8701, 8778, 31570, 31563, 8804, 8882, 31541,
+ 31534, 8907, 8985, 31512, 31505, 9011, 9088, 31483,
+ 31475, 9114, 9191, 31453, 31445, 9217, 9294, 31422,
+ 31415, 9319, 9397, 31392, 31384, 9422, 9499, 31361,
+ 31353, 9525, 9602, 31330, 31322, 9627, 9704, 31298,
+ 31290, 9730, 9807, 31266, 31258, 9832, 9909, 31234,
+ 31226, 9934, 10011, 31201, 31193, 10037, 10113, 31168,
+ 31160, 10139, 10215, 31135, 31127, 10241, 10317, 31102,
+ 31093, 10342, 10419, 31068, 31059, 10444, 10520, 31033,
+ 31025, 10546, 10622, 30999, 30990, 10647, 10723, 30964,
+ 30955, 10748, 10824, 30929, 30920, 10850, 10926, 30893,
+ 30884, 10951, 11027, 30857, 30848, 11052, 11128, 30821,
+ 30812, 11153, 11228, 30784, 30775, 11253, 11329, 30747,
+ 30738, 11354, 11430, 30710, 30701, 11455, 11530, 30672,
+ 30663, 11555, 11630, 30635, 30625, 11655, 11730, 30596,
+ 30587, 11756, 11831, 30558, 30548, 11856, 11930, 30519,
+ 30509, 11955, 12030, 30480, 30470, 12055, 12130, 30440,
+ 30430, 12155, 12230, 30400, 30390, 12254, 12329, 30360,
+ 30350, 12354, 12428, 30320, 30309, 12453, 12527, 30279,
+ 30269, 12552, 12626, 30238, 30227, 12651, 12725, 30196,
+ 30186, 12750, 12824, 30154, 30144, 12849, 12923, 30112,
+ 30102, 12947, 13021, 30070, 30059, 13046, 13119, 30027,
+ 30016, 13144, 13218, 29984, 29973, 13242, 13316, 29941,
+ 29930, 13340, 13414, 29897, 29886, 13438, 13511, 29853,
+ 29842, 13536, 13609, 29808, 29797, 13633, 13706, 29764,
+ 29752, 13731, 13804, 29719, 29707, 13828, 13901, 29673,
+ 29662, 13925, 13998, 29628, 29616, 14022, 14095, 29582,
+ 29570, 14119, 14192, 29535, 29524, 14216, 14288, 29489,
+ 29477, 14312, 14385, 29442, 29430, 14409, 14481, 29395,
+ 29383, 14505, 14577, 29347, 29335, 14601, 14673, 29299,
+ 29287, 14697, 14769, 29251, 29239, 14793, 14864, 29203,
+ 29190, 14888, 14960, 29154, 29142, 14984, 15055, 29105,
+ 29092, 15079, 15150, 29055, 29043, 15174, 15245, 29006,
+ 28993, 15269, 15340, 28955, 28943, 15364, 15435, 28905,
+ 28892, 15459, 15529, 28854, 28842, 15553, 15624, 28803,
+ 28791, 15647, 15718, 28752, 28739, 15741, 15812, 28701,
+ 28688, 15835, 15906, 28649, 28636, 15929, 15999, 28596,
+ 28583, 16023, 16093, 28544, 28531, 16116, 16186, 28491,
+ 28478, 16210, 16279, 28438, 28425, 16303, 16372, 28385,
+ 28371, 16396, 16465, 28331, 28317, 16488, 16558, 28277,
+ 28263, 16581, 16650, 28223, 28209, 16673, 16743, 28168,
+ 28154, 16766, 16835, 28113, 28099, 16858, 16927, 28058,
+ 28044, 16949, 17018, 28002, 27988, 17041, 17110, 27946,
+ 27932, 17133, 17201, 27890, 27876, 17224, 17292, 27834,
+ 27820, 17315, 17383, 27777, 27763, 17406, 17474, 27720,
+ 27706, 17497, 17565, 27663, 27648, 17587, 17655, 27605,
+ 27591, 17678, 17745, 27547, 27533, 17768, 17835, 27489,
+ 27474, 17858, 17925, 27430, 27416, 17948, 18015, 27372,
+ 27357, 18037, 18104, 27312, 27298, 18127, 18194, 27253,
+ 27238, 18216, 18283, 27193, 27178, 18305, 18372, 27133,
+ 27118, 18394, 18460, 27073, 27058, 18483, 18549, 27013,
+ 26997, 18571, 18637, 26952, 26936, 18659, 18725, 26891,
+ 26875, 18747, 18813, 26829, 26814, 18835, 18901, 26767,
+ 26752, 18923, 18988, 26705, 26690, 19010, 19076, 26643,
+ 26628, 19098, 19163, 26581, 26565, 19185, 19250, 26518,
+ 26502, 19271, 19336, 26455, 26439, 19358, 19423, 26391,
+ 26375, 19444, 19509, 26327, 26312, 19531, 19595, 26264,
+ 26247, 19617, 19681, 26199, 26183, 19702, 19767, 26135,
+ 26119, 19788, 19852, 26070, 26054, 19873, 19937, 26005,
+ 25988, 19959, 20022, 25939, 25923, 20043, 20107, 25874,
+ 25857, 20128, 20192, 25808, 25791, 20213, 20276, 25742,
+ 25725, 20297, 20360, 25675, 25658, 20381, 20444, 25608,
+ 25592, 20465, 20528, 25541, 25524, 20549, 20611, 25474,
+ 25457, 20632, 20694, 25406, 25389, 20715, 20777, 25339,
+ 25322, 20798, 20860, 25270, 25253, 20881, 20943, 25202,
+ 25185, 20963, 21025, 25133, 25116, 21046, 21107, 25064,
+ 25047, 21128, 21189, 24995, 24978, 21210, 21271, 24926,
+ 24908, 21291, 21352, 24856, 24838, 21373, 21434, 24786,
+ 24768, 21454, 21515, 24716, 24698, 21535, 21595, 24645,
+ 24627, 21616, 21676, 24574, 24557, 21696, 21756, 24503,
+ 24485, 21776, 21836, 24432, 24414, 21856, 21916, 24360,
+ 24342, 21936, 21996, 24288, 24270, 22016, 22075, 24216,
+ 24198, 22095, 22154, 24144, 24126, 22174, 22233, 24071,
+ 24053, 22253, 22312, 23998, 23980, 22331, 22390, 23925,
+ 23907, 22410, 22468, 23852, 23834, 22488, 22546, 23778,
+ 23760, 22566, 22624, 23704, 23686, 22643, 22701, 23630,
+ 23612, 22721, 22779, 23556, 23537, 22798, 22856, 23481,
+ 23462, 22875, 22932, 23406, 23387, 22951, 23009, 23331,
+ 23312, 23028, 23085, 23256, 23237, 23104, 23161, 23180
+ },
+
+
+ // const WORD16 w_512[2 * 510] =
+ {
+ 0, 32767, 0, 32767, 0, 32767, 402, 32766, 804, 32758,
+ 1206, 32746, 804, 32758, 1608, 32729, 2411, 32679, 1206, 32746,
+ 2411, 32679, 3612, 32568, 1608, 32729, 3212, 32610, 4808, 32413,
+ 2009, 32706, 4011, 32522, 5998, 32214, 2411, 32679, 4808, 32413,
+ 7180, 31972, 2811, 32647, 5602, 32286, 8351, 31686, 3212, 32610,
+ 6393, 32138, 9512, 31357, 3612, 32568, 7180, 31972, 10660, 30986,
+ 4011, 32522, 7962, 31786, 11793, 30572, 4410, 32470, 8740, 31581,
+ 12910, 30118, 4808, 32413, 9512, 31357, 14010, 29622, 5205, 32352,
+ 10279, 31114, 15091, 29086, 5602, 32286, 11039, 30853, 16151, 28511,
+ 5998, 32214, 11793, 30572, 17190, 27897, 6393, 32138, 12540, 30274,
+ 18205, 27246, 6787, 32058, 13279, 29957, 19195, 26557, 7180, 31972,
+ 14010, 29622, 20160, 25833, 7571, 31881, 14733, 29269, 21097, 25073,
+ 7962, 31786, 15447, 28899, 22006, 24279, 8351, 31686, 16151, 28511,
+ 22884, 23453, 8740, 31581, 16846, 28106, 23732, 22595, 9127, 31471,
+ 17531, 27684, 24548, 21706, 9512, 31357, 18205, 27246, 25330, 20788,
+ 9896, 31238, 18868, 26791, 26078, 19841, 10279, 31114, 19520, 26320,
+ 26791, 18868, 10660, 30986, 20160, 25833, 27467, 17869, 11039, 30853,
+ 20788, 25330, 28106, 16846, 11417, 30715, 21403, 24812, 28707, 15800,
+ 11793, 30572, 22006, 24279, 29269, 14733, 12167, 30425, 22595, 23732,
+ 29792, 13646, 12540, 30274, 23170, 23170, 30274, 12540, 12910, 30118,
+ 23732, 22595, 30715, 11417, 13279, 29957, 24279, 22006, 31114, 10279,
+ 13646, 29792, 24812, 21403, 31471, 9127, 14010, 29622, 25330, 20788,
+ 31786, 7962, 14373, 29448, 25833, 20160, 32058, 6787, 14733, 29269,
+ 26320, 19520, 32286, 5602, 15091, 29086, 26791, 18868, 32470, 4410,
+ 15447, 28899, 27246, 18205, 32610, 3212, 15800, 28707, 27684, 17531,
+ 32706, 2009, 16151, 28511, 28106, 16846, 32758, 804, 16500, 28311,
+ 28511, 16151, 32766, -402, 16846, 28106, 28899, 15447, 32729, -1608,
+ 17190, 27897, 29269, 14733, 32647, -2811, 17531, 27684, 29622, 14010,
+ 32522, -4011, 17869, 27467, 29957, 13279, 32352, -5205, 18205, 27246,
+ 30274, 12540, 32138, -6393, 18538, 27020, 30572, 11793, 31881, -7571,
+ 18868, 26791, 30853, 11039, 31581, -8740, 19195, 26557, 31114, 10279,
+ 31238, -9896, 19520, 26320, 31357, 9512, 30853, -11039, 19841, 26078,
+ 31581, 8740, 30425, -12167, 20160, 25833, 31786, 7962, 29957, -13279,
+ 20475, 25583, 31972, 7180, 29448, -14373, 20788, 25330, 32138, 6393,
+ 28899, -15447, 21097, 25073, 32286, 5602, 28311, -16500, 21403, 24812,
+ 32413, 4808, 27684, -17531, 21706, 24548, 32522, 4011, 27020, -18538,
+ 22006, 24279, 32610, 3212, 26320, -19520, 22302, 24008, 32679, 2411,
+ 25583, -20475, 22595, 23732, 32729, 1608, 24812, -21403, 22884, 23453,
+ 32758, 804, 24008, -22302, 23170, 23170, 32767, 0, 23170, -23170,
+ 23453, 22884, 32758, -804, 22302, -24008, 23732, 22595, 32729, -1608,
+ 21403, -24812, 24008, 22302, 32679, -2411, 20475, -25583, 24279, 22006,
+ 32610, -3212, 19520, -26320, 24548, 21706, 32522, -4011, 18538, -27020,
+ 24812, 21403, 32413, -4808, 17531, -27684, 25073, 21097, 32286, -5602,
+ 16500, -28311, 25330, 20788, 32138, -6393, 15447, -28899, 25583, 20475,
+ 31972, -7180, 14373, -29448, 25833, 20160, 31786, -7962, 13279, -29957,
+ 26078, 19841, 31581, -8740, 12167, -30425, 26320, 19520, 31357, -9512,
+ 11039, -30853, 26557, 19195, 31114, -10279, 9896, -31238, 26791, 18868,
+ 30853, -11039, 8740, -31581, 27020, 18538, 30572, -11793, 7571, -31881,
+ 27246, 18205, 30274, -12540, 6393, -32138, 27467, 17869, 29957, -13279,
+ 5205, -32352, 27684, 17531, 29622, -14010, 4011, -32522, 27897, 17190,
+ 29269, -14733, 2811, -32647, 28106, 16846, 28899, -15447, 1608, -32729,
+ 28311, 16500, 28511, -16151, 402, -32766, 28511, 16151, 28106, -16846,
+ - 804, -32758, 28707, 15800, 27684, -17531, -2009, -32706, 28899, 15447,
+ 27246, -18205, -3212, -32610, 29086, 15091, 26791, -18868, -4410, -32470,
+ 29269, 14733, 26320, -19520, -5602, -32286, 29448, 14373, 25833, -20160,
+ - 6787, -32058, 29622, 14010, 25330, -20788, -7962, -31786, 29792, 13646,
+ 24812, -21403, -9127, -31471, 29957, 13279, 24279, -22006, -10279, -31114,
+ 30118, 12910, 23732, -22595, -11417, -30715, 30274, 12540, 23170, -23170,
+ - 12540, -30274, 30425, 12167, 22595, -23732, -13646, -29792, 30572, 11793,
+ 22006, -24279, -14733, -29269, 30715, 11417, 21403, -24812, -15800, -28707,
+ 30853, 11039, 20788, -25330, -16846, -28106, 30986, 10660, 20160, -25833,
+ - 17869, -27467, 31114, 10279, 19520, -26320, -18868, -26791, 31238, 9896,
+ 18868, -26791, -19841, -26078, 31357, 9512, 18205, -27246, -20788, -25330,
+ 31471, 9127, 17531, -27684, -21706, -24548, 31581, 8740, 16846, -28106,
+ - 22595, -23732, 31686, 8351, 16151, -28511, -23453, -22884, 31786, 7962,
+ 15447, -28899, -24279, -22006, 31881, 7571, 14733, -29269, -25073, -21097,
+ 31972, 7180, 14010, -29622, -25833, -20160, 32058, 6787, 13279, -29957,
+ - 26557, -19195, 32138, 6393, 12540, -30274, -27246, -18205, 32214, 5998,
+ 11793, -30572, -27897, -17190, 32286, 5602, 11039, -30853, -28511, -16151,
+ 32352, 5205, 10279, -31114, -29086, -15091, 32413, 4808, 9512, -31357,
+ - 29622, -14010, 32470, 4410, 8740, -31581, -30118, -12910, 32522, 4011,
+ 7962, -31786, -30572, -11793, 32568, 3612, 7180, -31972, -30986, -10660,
+ 32610, 3212, 6393, -32138, -31357, -9512, 32647, 2811, 5602, -32286,
+ - 31686, -8351, 32679, 2411, 4808, -32413, -31972, -7180, 32706, 2009,
+ 4011, -32522, -32214, -5998, 32729, 1608, 3212, -32610, -32413, -4808,
+ 32746, 1206, 2411, -32679, -32568, -3612, 32758, 804, 1608, -32729,
+ - 32679, -2411, 32766, 402, 804, -32758, -32746, -1206, 0, 32767,
+ 0, 32767, 0, 32767, 1608, 32729, 3212, 32610, 4808, 32413,
+ 3212, 32610, 6393, 32138, 9512, 31357, 4808, 32413, 9512, 31357,
+ 14010, 29622, 6393, 32138, 12540, 30274, 18205, 27246, 7962, 31786,
+ 15447, 28899, 22006, 24279, 9512, 31357, 18205, 27246, 25330, 20788,
+ 11039, 30853, 20788, 25330, 28106, 16846, 12540, 30274, 23170, 23170,
+ 30274, 12540, 14010, 29622, 25330, 20788, 31786, 7962, 15447, 28899,
+ 27246, 18205, 32610, 3212, 16846, 28106, 28899, 15447, 32729, -1608,
+ 18205, 27246, 30274, 12540, 32138, -6393, 19520, 26320, 31357, 9512,
+ 30853, -11039, 20788, 25330, 32138, 6393, 28899, -15447, 22006, 24279,
+ 32610, 3212, 26320, -19520, 23170, 23170, 32767, 0, 23170, -23170,
+ 24279, 22006, 32610, -3212, 19520, -26320, 25330, 20788, 32138, -6393,
+ 15447, -28899, 26320, 19520, 31357, -9512, 11039, -30853, 27246, 18205,
+ 30274, -12540, 6393, -32138, 28106, 16846, 28899, -15447, 1608, -32729,
+ 28899, 15447, 27246, -18205, -3212, -32610, 29622, 14010, 25330, -20788,
+ - 7962, -31786, 30274, 12540, 23170, -23170, -12540, -30274, 30853, 11039,
+ 20788, -25330, -16846, -28106, 31357, 9512, 18205, -27246, -20788, -25330,
+ 31786, 7962, 15447, -28899, -24279, -22006, 32138, 6393, 12540, -30274,
+ - 27246, -18205, 32413, 4808, 9512, -31357, -29622, -14010, 32610, 3212,
+ 6393, -32138, -31357, -9512, 32729, 1608, 3212, -32610, -32413, -4808,
+ 0, 32767, 0, 32767, 0, 32767, 6393, 32138, 12540, 30274,
+ 18205, 27246, 12540, 30274, 23170, 23170, 30274, 12540, 18205, 27246,
+ 30274, 12540, 32138, -6393, 23170, 23170, 32767, 0, 23170, -23170,
+ 27246, 18205, 30274, -12540, 6393, -32138, 30274, 12540, 23170, -23170,
+ - 12540, -30274, 32138, 6393, 12540, -30274, -27246, -18205, 0, 32767,
+ 0, 32767, 0, 32767, 23170, 23170, 32767, 0, 23170, -23170,
+ },
+
+
+ // WORD16 w_32[60]=
+ {
+ 0, 32767, 0, 32767, 0, 32767,
+ 6393, 32137, 12539, 30273, 18204, 27245,
+ 12539, 30273, 23170, 23170, 30273, 12539,
+ 18204, 27245, 30273, 12539, 32137, -6392,
+ 23170, 23170, 32767, 0, 23170, -23169,
+ 27245, 18204, 30273, -12538, 6393, -32136,
+ 30273, 12539, 23170, -23169, -12538, -30272,
+ 32137, 6393, 12539, -30272, -27244, -18203,
+ 0, 32767, 0, 32767, 0, 32767,
+ 23170, 23170, 32767, 0, 23170, -23169
+ },
+
+ // const WORD16 cosine_array_240[120] =
+ {
+ 32767, 107, 751, 32759, 32754, 965, 1608, 32729,
+ 32717, 1822, 2464, 32675, 32658, 2678, 3319, 32600,
+ 32577, 3532, 4171, 32501, 32473, 4383, 5020, 32381,
+ 32348, 5232, 5866, 32239, 32200, 6077, 6708, 32074,
+ 32029, 6918, 7545, 31887, 31837, 7754, 8377, 31679,
+ 31624, 8585, 9204, 31449, 31388, 9409, 10024, 31197,
+ 31131, 10228, 10837, 30924, 30853, 11039, 11643, 30630,
+ 30553, 11843, 12441, 30315, 30232, 12639, 13230, 29979,
+ 29891, 13426, 14010, 29622, 29530, 14204, 14781, 29245,
+ 29148, 14972, 15541, 28848, 28746, 15730, 16291, 28431,
+ 28324, 16477, 17030, 27995, 27883, 17213, 17757, 27540,
+ 27423, 17937, 18472, 27066, 26944, 18648, 19174, 26573,
+ 26447, 19347, 19863, 26062, 25931, 20033, 20538, 25533,
+ 25398, 20705, 21199, 24986, 24847, 21363, 21846, 24423,
+ 24279, 22006, 22478, 23843, 23695, 22634, 23095, 23246
+ },
};