1 /****************************************************************************** 2 * * 3 * Copyright (C) 2018 The Android Open Source Project 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ***************************************************************************** 18 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19 */ 20 #include "ixheaacd_sbr_common.h" 21 #include "ixheaac_type_def.h" 22 #include "ixheaacd_defines.h" 23 #include "ixheaacd_aac_rom.h" 24 #include "ixheaacd_intrinsics.h" 25 26 // -1 is appended at the end of each table to identify 27 // number of scf bands at run time 28 // 29 const ia_aac_dec_huffman_tables_struct ixheaacd_aac_huffmann_tables = { 30 31 // static const WORD8 ixheaacd_sfb_96_1024[42] = 32 {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 33 8, 8, 8, 8, 8, 12, 12, 12, 12, 12, 16, 16, 24, 28, 34 36, 44, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, -1}, 35 36 // 12 scfbands 37 // static const WORD8 ixheaacd_sfb_96_128[13] = 38 {4, 4, 4, 4, 4, 4, 8, 8, 8, 16, 28, 36, -1}, 39 40 // 47 scfbands 41 // static const WORD8 ixheaacd_sfb_64_1024[48] = 42 {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 43 8, 8, 12, 12, 12, 16, 16, 16, 20, 24, 24, 28, 36, 40, 40, 40, 44 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, -1}, 45 46 // 12 scfbands */ 47 // static const WORD8 ixheaacd_sfb_64_128[13] = 48 // same as ixheaacd_sfb_96_128 49 50 // 49 scfbands 51 // static const WORD8 ixheaacd_sfb_48_1024[50] = 52 {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 53 12, 12, 12, 12, 16, 16, 20, 20, 24, 24, 28, 28, 32, 32, 32, 32, 32, 54 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, -1}, 55 56 // 14 scfbands 57 // static const WORD8 ixheaacd_sfb_48_128[15] = 58 {4, 4, 4, 4, 4, 8, 8, 8, 12, 12, 12, 16, 16, 16, -1}, 59 60 // 51 scfbands 61 // static const WORD8 ixheaacd_sfb_32_1024[52] = 62 {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 12, 63 12, 12, 12, 16, 16, 20, 20, 24, 24, 28, 28, 32, 32, 32, 32, 32, 32, 32, 64 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -1}, 65 66 // 47 scfbands 67 // static const WORD8 ixheaacd_sfb_24_1024[48] = 68 {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 69 8, 8, 8, 8, 8, 12, 12, 12, 12, 16, 16, 16, 20, 20, 24, 24, 70 28, 28, 32, 36, 36, 40, 44, 48, 52, 52, 64, 64, 64, 64, 64, -1}, 71 72 // 15 scfbands 73 // static const WORD8 ixheaacd_sfb_24_128[16] = 74 {4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 12, 12, 16, 16, 20, -1}, 75 76 // 43 scfbands 77 // static const WORD8 ixheaacd_sfb_16_1024[44] = 78 {8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 12, 12, 12, 12, 79 12, 12, 12, 12, 12, 16, 16, 16, 16, 20, 20, 20, 24, 24, 28, 80 28, 32, 36, 40, 40, 44, 48, 52, 56, 60, 64, 64, 64, -1}, 81 82 // 15 scfbands 83 // static const WORD8 ixheaacd_sfb_16_128[16] = 84 {4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 12, 12, 16, 20, 20, -1}, 85 86 // 40 scfbands 87 // static const WORD8 ixheaacd_sfb_8_1024[41] = 88 {12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 16, 89 16, 16, 16, 16, 16, 16, 20, 20, 20, 20, 24, 24, 24, 28, 90 28, 32, 36, 36, 40, 44, 48, 52, 56, 60, 64, 80, -1}, 91 92 // 15 scfbands 93 // static const WORD8 ixheaacd_sfb_8_128[16] = 94 {4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 12, 16, 20, 20, -1}, 95 96 // const ia_sampling_rate_info_struct str_sample_rate_info[16] = 97 {{96000}, 98 {88200}, 99 {64000}, 100 {48000}, 101 {44100}, 102 {32000}, 103 {24000}, 104 {22050}, 105 {16000}, 106 {12000}, 107 {11025}, 108 {8000}, 109 {7350}}, 110 111 // 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 112 // +------------------------------------------------+ 113 // | 1| Len | Symbol | 114 // +------------------------------------------------+ 115 // | 0| | Offset | 116 // +------------------------------------------------+ 117 // LSB (00) is set 1 when the codeword is decoded 118 // 119 // HuffmanCodeBook_1 120 // idx_hf11 121 { 122 0x20100001, 0x41e00045, 0x659000c6, 0x890001c4, 0x0e6003df, 0xaef003e8, 123 0x10d007ef, 0x115007f7, 0x119007fb, 0xd1a007fc, 0x11e00ffd, 0x11f00ffe, 124 0x12000fff, 0xc0700009, 0x052000bf, 0x08b001bf, 0x0c6003bf, 0x0fd007df, 125 0x11c00ffb, 0x20e0001a, 0x0180003f, 126 }, 127 128 // idx_hf10 129 {0x10200002, 0x21800029, 0x32900064, 0x442000e2, 0x561001e4, 130 0x087003ef, 0x68a003f2, 0x09c007f7, 0x0a0007fb, 0x0a400ffb, 131 0x0a600ffd, 0x0a700ffe, 0x0a800fff, 0x60a0000d, 0x0240005f, 132 0x03f000df, 0x05c001df, 0x077003df, 0x094007ef, 0x00e0001f}, 133 134 // idx_hf9 135 {0x00000000, 0x00200005, 0x1030000c, 0x20a00072, 0x31d001e6, 0x431003e1, 136 0x550007e2, 0x67600feb, 0x08e01fef, 0x09601ff7, 0x09e03ff7, 0x0a203ffb, 137 0x0a403ffd, 0x0a607ffd, 0x0a707ffe, 0x0a807fff, 0x00700037, 0x512000ed, 138 0x02f003df, 0x04d007df, 0x06a00fdf, 0x07e01fdf, 0x016001df}, 139 // idx_hf8 140 {0x10000000, 0x20c00014, 0x31600033, 0x42400075, 0x030000f7, 0x533000fa, 141 0x039001fb, 0x03b001fd, 0x03d003fd, 0x03e003fe, 0x03f003ff, 0x50500006, 142 0x0120002f, 0x01e0006f, 0x028000ef, 0x035001f7, 0x0070000f}, 143 144 // idx_hf7 145 {0x00000000, 0x00200005, 0x1030000c, 0x20c00074, 0x316000f3, 0x424001f5, 146 0x030003f7, 0x533003fa, 0x039007fb, 0x03b007fd, 0x03d00ffd, 0x03e00ffe, 147 0x03f00fff, 0x00700037, 0x012000ef, 0x01e001ef, 0x028003ef, 0x035007f7}, 148 149 // idx_hf6 150 {0x00700007, 0x10800008, 0x21800033, 0x32500074, 0x42d000f1, 0x041001f7, 151 0x544001fa, 0x04a003fb, 0x04c003fd, 0x04e007fd, 0x04f007fe, 0x050007ff, 152 0x0140002f, 0x0200006f, 0x02b000ef, 0x039001ef, 0x046003f7}, 153 154 // idx_hf5 155 {0x00000000, 0x0040000b, 0x0080001b, 0x10c00073, 0x218000f3, 0x324001f3, 156 0x430003f3, 0x040007f7, 0x542007f9, 0x04a00ffb, 0x04c00ffd, 0x04e01ffd, 157 0x04f01ffe, 0x05001fff, 0x014000ef, 0x020001ef, 0x02c003ef, 0x038007ef, 158 0x04600ff7}, 159 160 // idx_hf4 161 {0x00700007, 0x10900009, 0x20f00019, 0x31800070, 0x42d000f6, 0x535001f5, 162 0x041003f7, 0x643003f9, 0x04b007fb, 0x04d007fd, 0x04e007fe, 0x04f00ffe, 163 0x05000fff, 0x00d00017, 0x0170006f, 0x026000ef, 0x02f001ef, 0x039003ef, 164 0x047007f7}, 165 166 // idx_hf3 167 {0x00000000, 0x0040000b, 0x10600019, 0x20c00039, 0x314000f2, 0x423001f4, 168 0x031003f7, 0x532003f8, 0x63a007f9, 0x04200ffb, 0x74300ffc, 0x84601ffc, 169 0x94903ffc, 0x04d07ffd, 0x04e07ffe, 0x04f0fffe, 0x0500ffff, 0x00a00037, 170 0x80f00076, 0x01e001ef, 0x029003ef, 0x038007f7, 0x03e00ff7, 0x04501ffb, 171 0x04803ffb, 0x04b07ffb, 0x011000ef}, 172 173 // idx_hf2 174 {0x10000000, 0x01e0002f, 0x22000031, 0x32f00072, 0x041000f7, 0x442000f8, 175 0x04c001fb, 0x04e001fd, 0x04f001fe, 0x050001ff, 0x40100002, 0x02c0006f, 176 0x039000ef, 0x048001f7, 0x1080000c, 0x00e0001f}, 177 178 // idx_hf1 179 {0x00000000, 0x00800017, 0x0180006f, 0x02000077, 0x030001ef, 0x038001f7, 180 0x040003f7, 0x048007f7, 0x04c007fb, 0x04e007fd, 0x04f007fe, 0x050007ff}, 181 182 // inp_hf11 183 {0x000c, 0x0004, 0x0244, 0x2405, 0x0225, 0x0025, 0x0465, 0x0265, 0x0485, 184 0x0286, 0x0686, 0x06a6, 0x0446, 0x04a6, 0x0046, 0x06c6, 0x08a7, 0x02a7, 185 0x08c7, 0x04c7, 0x08e7, 0x06e7, 0x0667, 0x0067, 0x0ac7, 0x0ae7, 0x04e7, 186 0x0907, 0x02c7, 0x0b07, 0x0707, 0x0b27, 0x0928, 0x0d08, 0x0508, 0x0ce8, 187 0x0d28, 0x0728, 0x02e8, 0x0a88, 0x0868, 0x22a8, 0x2268, 0x2288, 0x0d48, 188 0x22c8, 0x0888, 0x0948, 0x0088, 0x0648, 0x0b48, 0x0ca8, 0x22e8, 0x2248, 189 0x2308, 0x0528, 0x0f28, 0x0748, 0x0d68, 0x0b68, 0x0ec8, 0x2348, 0x0f48, 190 0x0f08, 0x2328, 0x10e8, 0x0428, 0x0308, 0x0968, 0x2368, 0x0f68, 0x2388, 191 0x1308, 0x2228, 0x0d88, 0x1528, 0x0548, 0x0b88, 0x1748, 0x23a8, 0x1168, 192 0x1148, 0x0768, 0x0aa8, 0x23c8, 0x1968, 0x0f88, 0x0988, 0x0da8, 0x0fa8, 193 0x00a8, 0x1189, 0x23e9, 0x1b89, 0x0329, 0x1129, 0x1fc9, 0x0ba9, 0x1da9, 194 0x0789, 0x11a9, 0x0fc9, 0x0569, 0x11c9, 0x1369, 0x1389, 0x21e9, 0x09a9, 195 0x0dc9, 0x0cc9, 0x13a9, 0x0bc9, 0x11e9, 0x0fe9, 0x0349, 0x15a9, 0x00c9, 196 0x1589, 0x1349, 0x13c9, 0x09c9, 0x0589, 0x13e9, 0x07a9, 0x0de9, 0x15c9, 197 0x1209, 0x15e9, 0x1409, 0x17c9, 0x0369, 0x0ee9, 0x1609, 0x1009, 0x07c9, 198 0x0be9, 0x1569, 0x09e9, 0x17a9, 0x1be9, 0x0e09, 0x1c09, 0x05a9, 0x2209, 199 0x0c09, 0x1809, 0x17ea, 0x142a, 0x102a, 0x122a, 0x020a, 0x0a2a, 0x00ea, 200 0x080a, 0x182a, 0x1bca, 0x1c2a, 0x19ea, 0x05ea, 0x1c4a, 0x124a, 0x0e2a, 201 0x164a, 0x162a, 0x1e0a, 0x1a0a, 0x038a, 0x0a0a, 0x178a, 0x07ea, 0x03ca, 202 0x19ca, 0x104a, 0x082a, 0x0c2a, 0x0c4a, 0x1e4a, 0x0a4a, 0x184a, 0x1e2a, 203 0x1a2a, 0x1c6a, 0x1a4a, 0x110a, 0x186a, 0x05ca, 0x144a, 0x1e6a, 0x0e6a, 204 0x168a, 0x202a, 0x126a, 0x146a, 0x1e8a, 0x166a, 0x0c6a, 0x188a, 0x1dea, 205 0x060a, 0x0e4a, 0x03aa, 0x1caa, 0x010a, 0x1c8a, 0x106a, 0x1a6a, 0x108a, 206 0x204a, 0x19aa, 0x0e8a, 0x062a, 0x208a, 0x206a, 0x03ea, 0x148a, 0x0a6a, 207 0x1eaa, 0x12aa, 0x1cca, 0x128a, 0x0c8a, 0x084a, 0x16aa, 0x18aa, 0x1a8a, 208 0x20aa, 0x20ca, 0x12ca, 0x200a, 0x10aa, 0x132a, 0x012a, 0x14ca, 0x14aa, 209 0x1aaa, 0x1eca, 0x16ea, 0x1eea, 0x1aca, 0x0eaa, 0x10ca, 0x14eb, 0x20eb, 210 0x18cb, 0x192b, 0x040b, 0x16cb, 0x170b, 0x1d0b, 0x1ceb, 0x190b, 0x18eb, 211 0x12eb, 0x1f2b, 0x1d2b, 0x1b2b, 0x210b, 0x1f0b, 0x154b, 0x1aeb, 0x150b, 212 0x014b, 0x1b0b, 0x176b, 0x1b4b, 0x172b, 0x1d4b, 0x01ab, 0x1f4b, 0x212b, 213 0x214b, 0x194b, 0x1f6b, 0x1bab, 0x016b, 0x1d6b, 0x216b, 0x218b, 0x1b6b, 214 0x1dcb, 0x1f8b, 0x1d8b, 0x198b, 0x1fab, 0x01cc, 0x018c, 0x21ac, 0x1fec, 215 0x01ec, 0x21cc}, 216 // inp_hf10 217 {0x000c, 0x01c4, 0x01e4, 0x0364, 0x0385, 0x01a5, 0x0025, 0x0205, 0x0525, 218 0x0505, 0x03a5, 0x0545, 0x0346, 0x0046, 0x03c6, 0x06c6, 0x0226, 0x06a6, 219 0x0006, 0x06e6, 0x0566, 0x04e6, 0x0066, 0x0706, 0x03e6, 0x0866, 0x0247, 220 0x0847, 0x0887, 0x0587, 0x08a7, 0x0727, 0x0a07, 0x0407, 0x0a27, 0x0687, 221 0x09e7, 0x0087, 0x0267, 0x05a7, 0x08c7, 0x0a47, 0x0747, 0x0a68, 0x0ba8, 222 0x05c8, 0x0428, 0x08e8, 0x0d48, 0x0bc8, 0x0828, 0x0b88, 0x00a8, 0x0d28, 223 0x0288, 0x0d68, 0x0be8, 0x0768, 0x0448, 0x0a88, 0x0c08, 0x02a8, 0x05e8, 224 0x0d88, 0x0788, 0x0908, 0x0da8, 0x0928, 0x0c29, 0x0aa9, 0x0ee9, 0x09c9, 225 0x0ac9, 0x0f09, 0x0609, 0x0ec9, 0x0469, 0x00c9, 0x0dc9, 0x0f29, 0x07a9, 226 0x1089, 0x02c9, 0x0c49, 0x0de9, 0x0f49, 0x0c69, 0x10a9, 0x0949, 0x10c9, 227 0x0489, 0x1069, 0x0629, 0x0f69, 0x0ae9, 0x0d09, 0x07c9, 0x0b69, 0x1229, 228 0x0c8a, 0x124a, 0x110a, 0x02ea, 0x120a, 0x0f8a, 0x00ea, 0x0e0a, 0x10ea, 229 0x064a, 0x096a, 0x0e2a, 0x128a, 0x010a, 0x126a, 0x04aa, 0x0caa, 0x0b0a, 230 0x112a, 0x07ea, 0x030a, 0x13ca, 0x0faa, 0x13ea, 0x12aa, 0x098a, 0x140a, 231 0x12ca, 0x142a, 0x066a, 0x0b2a, 0x0eaa, 0x114a, 0x104a, 0x13aa, 0x012a, 232 0x080a, 0x0fca, 0x144a, 0x04ca, 0x0e4a, 0x0feb, 0x032b, 0x12eb, 0x146b, 233 0x0ccb, 0x09ab, 0x0b4b, 0x116b, 0x0e6b, 0x148b, 0x014b, 0x0ceb, 0x11eb, 234 0x118b, 0x130b, 0x132b, 0x016b, 0x134b, 0x100b, 0x11ab, 0x138b, 0x0e8b, 235 0x14ac, 0x11cc, 0x102c, 0x136c, 0x14ec, 0x018c, 0x14cc, 0x150c}, 236 // inp_hf9 237 {0x000f, 0x0001, 0x01a3, 0x0023, 0x01c4, 0x0366, 0x01e6, 0x0346, 0x0046, 238 0x0507, 0x0387, 0x0207, 0x04e8, 0x0068, 0x03a8, 0x0528, 0x0228, 0x06a8, 239 0x03c8, 0x0248, 0x06c9, 0x0549, 0x0089, 0x0689, 0x0849, 0x03e9, 0x0269, 240 0x0569, 0x0869, 0x09e9, 0x06e9, 0x00aa, 0x040a, 0x082a, 0x028a, 0x058a, 241 0x02aa, 0x0d2a, 0x070a, 0x088a, 0x0a0a, 0x0b8a, 0x00ca, 0x0d4a, 0x044a, 242 0x05aa, 0x042a, 0x072a, 0x0eca, 0x02ca, 0x0baa, 0x09cb, 0x08ab, 0x0a2b, 243 0x0d6b, 0x00eb, 0x0eeb, 0x05eb, 0x074b, 0x05cb, 0x010b, 0x106b, 0x0a4b, 244 0x046b, 0x08cb, 0x0d0b, 0x0b6b, 0x0bcb, 0x108b, 0x0f0b, 0x0d8b, 0x02eb, 245 0x0beb, 0x0a6b, 0x08eb, 0x078b, 0x076b, 0x060b, 0x120b, 0x092b, 0x0eab, 246 0x0dab, 0x10ac, 0x048c, 0x012c, 0x122c, 0x0f2c, 0x0a8c, 0x13ac, 0x07ac, 247 0x0dcc, 0x030c, 0x0f4c, 0x10cc, 0x090c, 0x0c0c, 0x04ac, 0x032c, 0x13cc, 248 0x124c, 0x062c, 0x094c, 0x0aac, 0x0dec, 0x126c, 0x014c, 0x0c2c, 0x13ec, 249 0x104c, 0x10ec, 0x07cc, 0x0acc, 0x04cc, 0x0f6c, 0x0f8c, 0x07ec, 0x11ec, 250 0x0aec, 0x064c, 0x096c, 0x0e0d, 0x0c6d, 0x142d, 0x066d, 0x128d, 0x0c4d, 251 0x140d, 0x12ad, 0x110d, 0x080d, 0x0c8d, 0x098d, 0x016d, 0x144d, 0x0b0d, 252 0x138d, 0x112d, 0x09ad, 0x0cad, 0x0fad, 0x018d, 0x12cd, 0x0e2d, 0x0fcd, 253 0x114d, 0x0ccd, 0x146d, 0x0b2d, 0x0e6d, 0x12ed, 0x0ced, 0x0b4d, 0x0e4e, 254 0x116e, 0x0e8e, 0x0fee, 0x100e, 0x102e, 0x11ae, 0x14ae, 0x118e, 0x130e, 255 0x148e, 0x132e, 0x14ce, 0x14ee, 0x11cf, 0x134f, 0x136f, 0x150f}, 256 257 // inp_hf8 258 {0x000a, 0x0123, 0x0224, 0x0104, 0x0144, 0x0024, 0x0244, 0x0005, 0x0205, 259 0x0045, 0x0325, 0x0165, 0x0345, 0x0265, 0x0366, 0x0426, 0x0186, 0x0446, 260 0x0286, 0x0306, 0x0066, 0x0466, 0x0386, 0x0546, 0x0527, 0x02a7, 0x01a7, 261 0x0567, 0x03a7, 0x0487, 0x0587, 0x0087, 0x04a7, 0x0407, 0x02c7, 0x0647, 262 0x0627, 0x01c7, 0x03c8, 0x0668, 0x05a8, 0x0508, 0x0688, 0x00a8, 0x04c8, 263 0x0728, 0x0748, 0x02e8, 0x06a8, 0x0768, 0x01e8, 0x05c8, 0x03e8, 0x06c9, 264 0x0789, 0x0609, 0x04e9, 0x00c9, 0x07a9, 0x07c9, 0x06e9, 0x05ea, 0x070a, 265 0x00ea, 0x07ea}, 266 267 // inp_hf7 268 {0x000c, 0x0001, 0x0103, 0x0023, 0x0124, 0x0226, 0x0146, 0x0206, 0x0046, 269 0x0327, 0x0167, 0x0247, 0x0307, 0x0067, 0x0268, 0x0348, 0x0188, 0x0428, 270 0x01a8, 0x0528, 0x0368, 0x0288, 0x0088, 0x0408, 0x0449, 0x02a9, 0x0549, 271 0x00a9, 0x0629, 0x0509, 0x01c9, 0x0469, 0x03a9, 0x0389, 0x0569, 0x02c9, 272 0x0649, 0x01e9, 0x03ca, 0x00ca, 0x060a, 0x048a, 0x072a, 0x04aa, 0x074a, 273 0x058a, 0x066a, 0x02ea, 0x076a, 0x068a, 0x05aa, 0x04ca, 0x03ea, 0x070b, 274 0x00eb, 0x06ab, 0x05cb, 0x078b, 0x04eb, 0x05eb, 0x07ab, 0x07cc, 0x06cc, 275 0x06ec, 0x07ec}, 276 277 // inp_hf6 278 {0x000b, 0x0504, 0x0624, 0x04e4, 0x0524, 0x03e4, 0x0644, 0x0404, 0x0604, 279 0x03c4, 0x0726, 0x0766, 0x02e6, 0x02a6, 0x02c6, 0x0426, 0x0746, 0x05e6, 280 0x0666, 0x04c6, 0x03a6, 0x0546, 0x0706, 0x0306, 0x0286, 0x0786, 0x01c7, 281 0x0887, 0x0847, 0x0447, 0x0187, 0x0687, 0x05c7, 0x0387, 0x0867, 0x01a7, 282 0x04a7, 0x0567, 0x08a7, 0x0168, 0x0328, 0x07a8, 0x0828, 0x06e8, 0x0268, 283 0x01e8, 0x08c8, 0x0809, 0x0149, 0x0209, 0x05a9, 0x0369, 0x09a9, 0x00a9, 284 0x0069, 0x06a9, 0x0969, 0x0469, 0x0489, 0x00c9, 0x0049, 0x07c9, 0x0249, 285 0x0089, 0x09c9, 0x0949, 0x0349, 0x0989, 0x06c9, 0x0589, 0x012a, 0x022a, 286 0x07ea, 0x092a, 0x08ea, 0x09ea, 0x00ea, 0x002a, 0x0a0b, 0x010b, 0x000b, 287 0x090b}, 288 289 // inp_hf5 290 {0x000d, 0x0501, 0x03e4, 0x0624, 0x0524, 0x04e4, 0x0605, 0x0405, 0x03c5, 291 0x0645, 0x02c7, 0x0547, 0x0747, 0x04c7, 0x02a8, 0x0768, 0x03a8, 0x0668, 292 0x02e8, 0x0728, 0x0428, 0x05e8, 0x01a8, 0x0868, 0x04a8, 0x0568, 0x0189, 293 0x0689, 0x0889, 0x0389, 0x01c9, 0x0849, 0x05c9, 0x0449, 0x0309, 0x0789, 294 0x0289, 0x0709, 0x016a, 0x082a, 0x032a, 0x06ea, 0x08aa, 0x07aa, 0x01ea, 295 0x026a, 0x048a, 0x008a, 0x09aa, 0x098a, 0x006b, 0x058b, 0x096b, 0x036b, 296 0x06ab, 0x046b, 0x00ab, 0x05ab, 0x080b, 0x014b, 0x020b, 0x034b, 0x004b, 297 0x09cb, 0x06cb, 0x07cb, 0x08cb, 0x00cb, 0x024c, 0x094c, 0x07ec, 0x002c, 298 0x00ec, 0x08ec, 0x022c, 0x09ec, 0x092c, 0x012c, 0x090d, 0x010d, 0x0a0d, 299 0x000d}, 300 301 // inp_hf4 302 {0x000c, 0x0504, 0x01a4, 0x04a4, 0x04e4, 0x03e4, 0x0364, 0x0484, 0x0004, 303 0x0084, 0x03c4, 0x0385, 0x0185, 0x0025, 0x0145, 0x0065, 0x0125, 0x0867, 304 0x0567, 0x0627, 0x0527, 0x0847, 0x0807, 0x0607, 0x0747, 0x0207, 0x01c8, 305 0x0548, 0x02c8, 0x0408, 0x05c8, 0x04c8, 0x0448, 0x07e8, 0x0728, 0x05a8, 306 0x06e8, 0x0168, 0x02a8, 0x00a8, 0x01e8, 0x0268, 0x03a8, 0x00e8, 0x0428, 307 0x06c8, 0x0048, 0x0249, 0x00c9, 0x0689, 0x0989, 0x08c9, 0x0589, 0x0649, 308 0x0889, 0x066a, 0x096a, 0x08aa, 0x032a, 0x022a, 0x092a, 0x02ea, 0x07aa, 309 0x046a, 0x09ea, 0x05ea, 0x076a, 0x082a, 0x06aa, 0x08eb, 0x09ab, 0x030b, 310 0x090b, 0x010b, 0x078b, 0x028b, 0x070b, 0x0a0b, 0x034b, 0x09cb, 0x094c, 311 0x07cc}, 312 313 // inp_hf3 314 {0x0010, 0x0001, 0x0364, 0x0024, 0x0124, 0x0064, 0x0485, 0x0085, 0x0186, 315 0x0146, 0x03c6, 0x01a6, 0x0386, 0x04e6, 0x0507, 0x03e7, 0x04a7, 0x06c8, 316 0x0048, 0x00a8, 0x07e8, 0x0608, 0x00e9, 0x0209, 0x05a9, 0x01c9, 0x0849, 317 0x00c9, 0x02a9, 0x01e9, 0x0249, 0x0169, 0x0729, 0x0629, 0x02c9, 0x0549, 318 0x0569, 0x05ca, 0x042a, 0x044a, 0x026a, 0x086a, 0x052a, 0x080a, 0x040a, 319 0x010a, 0x022a, 0x096a, 0x066a, 0x03aa, 0x06ea, 0x032a, 0x090b, 0x068b, 320 0x04cb, 0x074b, 0x058b, 0x098b, 0x030b, 0x02eb, 0x046c, 0x092c, 0x08ac, 321 0x09cc, 0x034c, 0x09ec, 0x08cc, 0x064c, 0x06ac, 0x028d, 0x078d, 0x05ed, 322 0x07ae, 0x088e, 0x082e, 0x0a0f, 0x09af, 0x08ef, 0x076f, 0x070f, 0x0950, 323 0x07d0}, 324 // inp_hf2 325 {0x0009, 0x0503, 0x0864, 0x01a5, 0x0525, 0x04a5, 0x04e5, 0x03e5, 0x0565, 326 0x0625, 0x0446, 0x02c6, 0x05c6, 0x0546, 0x0606, 0x04c6, 0x0186, 0x0746, 327 0x0806, 0x0086, 0x0486, 0x08c6, 0x0886, 0x0406, 0x0206, 0x0646, 0x0386, 328 0x01c6, 0x03c6, 0x0146, 0x0986, 0x0686, 0x0586, 0x0846, 0x05e7, 0x0827, 329 0x0267, 0x0427, 0x07a7, 0x0967, 0x08e7, 0x0327, 0x03a7, 0x09e7, 0x01e7, 330 0x0027, 0x0167, 0x06e7, 0x0927, 0x0768, 0x02a8, 0x00e8, 0x0228, 0x00a8, 331 0x0068, 0x0368, 0x08a8, 0x07e8, 0x05a8, 0x06a8, 0x02e8, 0x0128, 0x0668, 332 0x0728, 0x0468, 0x09a8, 0x0788, 0x0288, 0x0709, 0x0009, 0x0309, 0x0349, 333 0x0a09, 0x00c9, 0x07c9, 0x0249, 0x0109, 0x0909, 0x06c9, 0x0049, 0x0949, 334 0x09c9}, 335 336 // inp_hf1 337 {0x000b, 0x0501, 0x0865, 0x01a5, 0x04e5, 0x0625, 0x0525, 0x04a5, 0x0565, 338 0x03e5, 0x0747, 0x02c7, 0x04c7, 0x05c7, 0x0447, 0x0547, 0x0987, 0x0487, 339 0x0087, 0x0387, 0x0807, 0x0607, 0x0207, 0x0587, 0x08c7, 0x0407, 0x0687, 340 0x0647, 0x0147, 0x0887, 0x0187, 0x0847, 0x01c7, 0x03c7, 0x0929, 0x0269, 341 0x07a9, 0x0669, 0x05e9, 0x0469, 0x0429, 0x06e9, 0x0829, 0x05a9, 0x0329, 342 0x01e9, 0x00e9, 0x03a9, 0x0769, 0x0729, 0x02a9, 0x0029, 0x0369, 0x06a9, 343 0x08a9, 0x09a9, 0x02e9, 0x09e9, 0x00aa, 0x012a, 0x096a, 0x07ea, 0x016a, 344 0x006a, 0x022a, 0x08ea, 0x078b, 0x028b, 0x030b, 0x070b, 0x0a0b, 0x010b, 345 0x090b, 0x00cb, 0x000b, 0x094b, 0x07cb, 0x034b, 0x024b, 0x004b, 0x06cb, 346 0x09cb}, 347 348 // UWORD16 huffman_code_book_scl[122]; 349 {0x0013, 0x0781, 0x0763, 0x07a4, 0x0744, 0x07c4, 0x0725, 0x07e5, 0x0706, 350 0x0806, 0x06e6, 0x0826, 0x0847, 0x06c7, 0x0867, 0x06a8, 0x0888, 0x0688, 351 0x08a8, 0x0668, 0x08c9, 0x0649, 0x0629, 0x08e9, 0x090a, 0x060a, 0x092a, 352 0x05ea, 0x094a, 0x05ca, 0x098b, 0x096b, 0x09ab, 0x09cb, 0x05ab, 0x056b, 353 0x058c, 0x09ec, 0x054c, 0x052c, 0x0a0c, 0x050c, 0x0a2d, 0x04ed, 0x0a4d, 354 0x04cd, 0x0a6d, 0x04ae, 0x046e, 0x0aae, 0x042e, 0x048e, 0x044e, 0x0a8e, 355 0x040e, 0x0aef, 0x0b2f, 0x03cf, 0x03ef, 0x0ad0, 0x03b0, 0x0350, 0x0370, 356 0x0390, 0x0310, 0x0b10, 0x0331, 0x02d1, 0x02f1, 0x0b52, 0x02b2, 0x0272, 357 0x0072, 0x0032, 0x0052, 0x0012, 0x0c53, 0x0c73, 0x0c93, 0x0cb3, 0x0cd3, 358 0x0eb3, 0x0c33, 0x0b73, 0x0b93, 0x0bb3, 0x0bd3, 0x0bf3, 0x0c13, 0x0d13, 359 0x0df3, 0x0e13, 0x0e33, 0x0e53, 0x0e73, 0x0e93, 0x0dd3, 0x0d33, 0x0d53, 360 0x0d73, 0x0d93, 0x0db3, 0x0ed3, 0x00d3, 0x0113, 0x0133, 0x0153, 0x00b3, 361 0x0cf3, 0x0f13, 0x0ef3, 0x0093, 0x00f3, 0x01f3, 0x0213, 0x0253, 0x0293, 362 0x0233, 0x0173, 0x0193, 0x01d3, 0x01b3}, 363 364 // UWORD32 huffman_code_book_scl_index[33]; 365 {0x00000000, 0x10100004, 0x2040000c, 0x00a0003b, 0x30d0007a, 0x412000fa, 366 0x516001f9, 0x61c003f9, 0x722007f9, 0x82800ff9, 0x92d01ff8, 0xa3503ff9, 367 0xb400fff6, 0xc431fff0, 0x0687ffef, 0x0707fff7, 0x0747fffb, 0x0767fffd, 368 0x0777fffe, 0x0787ffff, 0x0030000b, 0x0060001b, 0x00f000f7, 0x014001f7, 369 0x01a003f7, 0x020007f7, 0x02600ff7, 0x02c01ff7, 0x03303ff7, 0x03907ff7, 370 0x0421ffef, 0x14a3ffe8, 0x0587ffdf}, 371 372 // const WORD16 ixheaacd_sfb_48_512[37] = 373 {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 374 8, 12, 12, 12, 12, 16, 20, 24, 28, 32, 32, 32, 32, 32, 32, 32, 52, -1}, 375 // const WORD16 ixheaacd_sfb_32_512[38] = 376 {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 377 4, 8, 8, 8, 8, 8, 12, 12, 12, 12, 16, 16, 16, 378 20, 24, 24, 28, 32, 32, 32, 32, 32, 32, 32, -1}, 379 // const WORD16 ixheaacd_sfb_24_512[32] = 380 {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 12, 12, 381 12, 16, 20, 24, 28, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -1}, 382 // const WORD16 ixheaacd_sfb_48_480[36] = 383 { 384 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 385 8, 12, 12, 12, 12, 12, 16, 16, 24, 28, 32, 32, 32, 32, 32, 32, 48, -1, 386 }, 387 // const WORD16 ixheaacd_sfb_32_480[38] = 388 { 389 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 390 8, 8, 8, 12, 12, 12, 16, 16, 20, 24, 32, 32, 32, 32, 32, 32, 32, 32, -1, 391 }, 392 // const WORD16 ixheaacd_sfb_24_480[31] = 393 { 394 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 12, 12, 395 12, 16, 20, 24, 28, 32, 32, 32, 32, 32, 32, 32, 32, 32, -1, 396 }, 397 398 // static const WORD16 sfb_96_960[41] = 399 { 400 4, 4, 4, 4, 4, 4, 401 4, 4, 4, 4, 4, 4, 402 4, 4, 8, 8, 8, 8, 403 8, 12, 12, 12, 12, 12, 404 16, 16, 24, 28, 36, 44, 405 64, 64, 64, 64, 64, 64, 406 64, 64, 64, 64, -1 407 }, 408 409 /* 13 scfbands */ 410 // static const WORD16 sfb_96_120[13] = 411 { 412 4, 4, 4, 4, 4, 4, 413 8, 8, 8, 16, 28, 28, 414 -1 415 }, 416 417 /* 47 scfbands*/ 418 // static const WORD16 sfb_64_960[47] = 419 { 420 4, 4, 4, 4, 4, 4, 4, 421 4, 4, 4, 4, 4, 4, 4, 422 8, 8, 8, 8, 12, 12, 12, 423 16, 16, 16, 20, 24, 24, 28, 424 36, 40, 40, 40, 40, 40, 40, 425 40, 40, 40, 40, 40, 40, 40, 426 40, 40, 40, 16, -1 427 }, 428 429 /* 49 scfbands */ 430 // static const WORD16 sfb_48_960[50] = 431 { 432 4, 4, 4, 4, 4, 4, 433 4, 4, 4, 4, 8, 8, 434 8, 8, 8, 8, 8, 12, 435 12, 12, 12, 16, 16, 20, 436 20, 24, 24, 28, 28, 32, 437 32, 32, 32, 32, 32, 32, 438 32, 32, 32, 32, 32, 32, 439 32, 32, 32, 32, 32, 32, 440 32, -1 441 }, 442 443 /* 14 scfbands */ 444 // static const WORD16 sfb_48_120[15] = 445 { 446 4, 4, 4, 4, 4, 8, 447 8, 8, 12, 12, 12, 16, 448 16, 8, -1 449 }, 450 451 452 /* 47 scfbands */ 453 // static const WORD16 sfb_24_960[47] = 454 { 455 4, 4, 4, 4, 4, 4, 456 4, 4, 4, 4, 4, 8, 457 8, 8, 8, 8, 8, 8, 458 8, 8, 8, 12, 12, 12, 459 12, 16, 16, 16, 20, 20, 460 24, 24, 28, 28, 32, 36, 461 36, 40, 44, 48, 52, 52, 462 64, 64, 64, 64, -1 463 }, 464 465 /* 15 scfbands */ 466 // static const WORD16 sfb_24_120[16] = 467 { 468 4, 4, 4, 4, 4, 4, 469 4, 8, 8, 8, 12, 12, 470 16, 16, 12, -1 471 }, 472 473 /* 43 scfbands */ 474 // static const WORD16 sfb_16_960[43] = 475 { 476 8, 8, 8, 8, 8, 8, 477 8, 8, 8, 8, 8, 12, 478 12, 12, 12, 12, 12, 12, 479 12, 12, 16, 16, 16, 16, 480 20, 20, 20, 24, 24, 28, 481 28, 32, 36, 40, 40, 44, 482 48, 52, 56, 60, 64, 64, 483 -1 484 }, 485 486 /* 15 scfbands */ 487 // static const WORD16 sfb_16_120[16] = 488 { 489 4, 4, 4, 4, 4, 4, 490 4, 4, 8, 8, 12, 12, 491 16, 20, 12, -1 492 }, 493 494 /* 40 scfbands */ 495 // static const WORD16 sfb_8_960[41] = 496 { 497 12, 12, 12, 12, 12, 12, 498 12, 12, 12, 12, 12, 12, 499 12, 16, 16, 16, 16, 16, 500 16, 16, 20, 20, 20, 20, 501 24, 24, 24, 28, 28, 32, 502 36, 36, 40, 44, 48, 52, 503 56, 60, 64, 16, -1 504 }, 505 506 /* 15 scfbands */ 507 // static const WORD16 sfb_8_120[16] = 508 { 509 4, 4, 4, 4, 4, 4, 510 4, 8, 8, 8, 8, 12, 511 16, 20, 12, -1 512 }, 513 }; // end of ia_aac_dec_huffman_tables_struct 514 515 const ia_aac_dec_block_tables_struct ixheaacd_aac_block_tables = { 516 517 // const WORD32 ixheaacd_pow_table_Q13[129] = 518 {0 >> 4, 131072 >> 4, 330281 >> 4, 567116 >> 4, 832256 >> 4, 519 1120650 >> 4, 1429042 >> 4, 1755122 >> 4, 2097152 >> 4, 2453767 >> 4, 520 2823861 >> 4, 3206517 >> 4, 3600960 >> 4, 4006524 >> 4, 4422631 >> 4, 521 4848770 >> 4, 5284492 >> 4, 5729392 >> 4, 6183105 >> 4, 6645302 >> 4, 522 7115683 >> 4, 7593972 >> 4, 8079916 >> 4, 8573281 >> 4, 9073850 >> 4, 523 9581422 >> 4, 10095808 >> 4, 10616832 >> 4, 11144330 >> 4, 11678147 >> 4, 524 12218136 >> 4, 12764159 >> 4, 13316085 >> 4, 13873792 >> 4, 14437162 >> 4, 525 15006082 >> 4, 15580448 >> 4, 16160157 >> 4, 16745112 >> 4, 17335222 >> 4, 526 17930398 >> 4, 18530554 >> 4, 19135610 >> 4, 19745488 >> 4, 20360112 >> 4, 527 20979411 >> 4, 21603314 >> 4, 22231755 >> 4, 22864669 >> 4, 23501994 >> 4, 528 24143669 >> 4, 24789637 >> 4, 25439841 >> 4, 26094226 >> 4, 26752740 >> 4, 529 27415332 >> 4, 28081952 >> 4, 28752552 >> 4, 29427086 >> 4, 30105507 >> 4, 530 30787772 >> 4, 31473838 >> 4, 32163664 >> 4, 32857208 >> 4, 33554432 >> 4, 531 34255297 >> 4, 34959765 >> 4, 35667801 >> 4, 36379368 >> 4, 37094431 >> 4, 532 37812958 >> 4, 38534914 >> 4, 39260268 >> 4, 39988988 >> 4, 40721043 >> 4, 533 41456403 >> 4, 42195038 >> 4, 42936921 >> 4, 43682022 >> 4, 44430314 >> 4, 534 45181770 >> 4, 45936364 >> 4, 46694070 >> 4, 47454862 >> 4, 48218716 >> 4, 535 48985607 >> 4, 49755512 >> 4, 50528406 >> 4, 51304267 >> 4, 52083073 >> 4, 536 52864802 >> 4, 53649431 >> 4, 54436939 >> 4, 55227306 >> 4, 56020511 >> 4, 537 56816534 >> 4, 57615355 >> 4, 58416954 >> 4, 59221313 >> 4, 60028412 >> 4, 538 60838233 >> 4, 61650759 >> 4, 62465970 >> 4, 63283850 >> 4, 64104381 >> 4, 539 64927547 >> 4, 65753329 >> 4, 66581713 >> 4, 67412681 >> 4, 68246218 >> 4, 540 69082308 >> 4, 69920936 >> 4, 70762086 >> 4, 71605743 >> 4, 72451892 >> 4, 541 73300519 >> 4, 74151609 >> 4, 75005149 >> 4, 75861124 >> 4, 76719520 >> 4, 542 77580324 >> 4, 78443523 >> 4, 79309103 >> 4, 80177051 >> 4, 81047354 >> 4, 543 81920000 >> 4, 82794977 >> 4, 83672271 >> 4, 84551871 >> 4}, 544 545 // const WORD16 scale_table[4] = 546 { 547 548 16384, 19484, 23171, 27555}, 549 550 // const WORD8 tns_max_bands_tbl[12][2] = 551 { 552 // Long //Short 553 {31, 9}, // 96000 554 {31, 9}, // 88200 555 {34, 10}, // 64000 556 {40, 14}, // 48000 557 {42, 14}, // 44100 558 {51, 14}, // 32000 559 {46, 14}, // 24000 560 {46, 14}, // 22050 561 {42, 14}, // 16000 562 {42, 14}, // 12000 563 {42, 14}, // 11025 564 {39, 14} // 8000 565 }, 566 567 // const WORD16 tns_coeff3_16[8] = 568 {(WORD16)-0x7e0e, (WORD16)-0x6eda, (WORD16)-0x5247, (WORD16)-0x2bc7, 569 (WORD16)0x0000, (WORD16)0x378a, (WORD16)0x6413, (WORD16)0x7cca}, 570 571 // const WORD16 tns_coeff4_16[16] = 572 {(WORD16)-0x7f74, (WORD16)-0x7b1d, (WORD16)-0x7295, (WORD16)-0x6625, 573 (WORD16)-0x563c, (WORD16)-0x4362, (WORD16)-0x2e3d, (WORD16)-0x1785, 574 (WORD16)0x0000, (WORD16)0x1a9d, (WORD16)0x3410, (WORD16)0x4b3d, 575 (WORD16)0x5f1f, (WORD16)0x6eda, (WORD16)0x79bc, (WORD16)0x7f4c}, 576 577 // const WORD32 scale_mant_tab[PNS_SCALE_MANT_TAB_SIZE] = 578 {0x08000000, 0x09837f05, 0x0b504f33, 0x0d744fcc}, 579 // const WORD32 tns_coeff3[8] = 580 { 581 -2114858540, -1859775364, -1380375817, -734482679, 0, 931758215, 582 1678970362, 2093641723, 583 }, 584 585 // const WORD32 tns_coeff4[16] = 586 { 587 -2138322869, -2065504899, -1922348549, -1713729017, -1446750457, 588 -1130504584, -775760644, -394599111, 0, 446486976, 873460283, 589 1262259191, 1595891328, 1859775364, 2042378368, 2135719561, 590 }, 591 592 // const WORD32 tns_coeff3_32[8] = 593 {(WORD32)-0x7e0e2e31, (WORD32)-0x6ed9eba0, (WORD32)-0x5246dd48, 594 (WORD32)-0x2bc750e8, (WORD32)0x00000000, (WORD32)0x3789809a, 595 (WORD32)0x64130dd3, (WORD32)0x7cca7014}, 596 597 // const WORD32 tns_coeff4_32[16] = 598 {(WORD32)-0x7f7437ac, (WORD32)-0x7b1d1a47, (WORD32)-0x7294b5f1, 599 (WORD32)-0x66256db1, (WORD32)-0x563ba8a9, (WORD32)-0x4362210d, 600 (WORD32)-0x2e3d2aba, (WORD32)-0x17851aac, (WORD32)0x00000000, 601 (WORD32)0x1a9cd9ac, (WORD32)0x340ff241, (WORD32)0x4b3c8c11, 602 (WORD32)0x5f1f5ea0, (WORD32)0x6ed9eba0, (WORD32)0x79bc384c, 603 (WORD32)0x7f4c7e52}, 604 605 // const WORD32 tns_max_bands_tbl_usac[(1<<LEN_SAMP_IDX)][2] = 606 { 607 608 { 609 31, 9, 610 }, // 96000 611 { 612 31, 9, 613 }, // 88200 614 { 615 34, 10, 616 }, // 64000 617 { 618 40, 14, 619 }, // 48000 620 { 621 42, 14, 622 }, // 44100 623 { 624 51, 14, 625 }, // 32000 626 { 627 47, 15, 628 }, // 24000 629 { 630 47, 15, 631 }, // 22050 632 { 633 43, 15, 634 }, // 16000 635 { 636 43, 15, 637 }, // 12000 638 { 639 43, 15, 640 }, // 11025 641 { 642 40, 15, 643 }, // 8000 644 { 645 40, 15, 646 }, // 7350 647 { 648 0, 0, 649 }, 650 { 651 0, 0, 652 }, 653 { 654 0, 0, 655 }}, 656 657 // const WORD8 tns_max_bands_tbl_ld[12][4] = 658 { 659 /*{*/ 31, /* 96000 */ 660 /*{*/ 31, /* 88200 */ 661 /*{*/ 31, /* 64000 */ 662 /*{*/ 31, /* 48000 */ 663 /*{*/ 32, /* 44100 */ 664 /*{*/ 37, /* 32000 */ 665 /*{*/ 31, /* 24000 */ 666 /*{*/ 31, /* 22050 */ 667 /*{*/ 31, /* 16000 */ 668 /*{*/ 31, /* 12000 */ 669 /*{*/ 31, /* 11025 */ 670 /*{*/ 31, /* 8000 */ 671 }, 672 // const WORD8 tns_max_bands_tbl_480[12][4] = 673 { 674 /*{*/ 31, /* 96000 */ 675 /*{*/ 31, /* 88200 */ 676 /*{*/ 31, /* 64000 */ 677 /*{*/ 31, /* 48000 */ 678 /*{*/ 32, /* 44100 */ 679 /*{*/ 37, /* 32000 */ 680 /*{*/ 30, /* 24000 */ 681 /*{*/ 30, /* 22050 */ 682 /*{*/ 30, /* 16000 */ 683 /*{*/ 30, /* 12000 */ 684 /*{*/ 30, /* 11025 */ 685 /*{*/ 30, /* 8000 */ 686 }, 687 // const WORD16 scale_table_960[4] = 688 { 689 /* Q14 format */ 690 /* table of 2^(r/4) for r=0, 1, 2, 3 */ 691 16385, 19486, 23172, 27557 692 }, 693 }; // end of ia_aac_dec_block_tables_struct */ 694 695 const ia_aac_dec_imdct_tables_struct ixheaacd_imdct_tables = { 696 // const WORD16 cos_array_2048[512] and const WORD16 sine_array_2048[512] = 697 698 { 699 -32767, 0, -32767, -101, -32767, -201, -32767, -302, -32766, 700 -402, -32764, -503, -32762, -603, -32760, -704, -32758, -804, 701 -32756, -905, -32753, -1005, -32749, -1106, -32746, -1206, -32742, 702 -1307, -32738, -1407, -32733, -1507, -32729, -1608, -32723, -1708, 703 -32718, -1809, -32712, -1909, -32706, -2009, -32700, -2110, -32693, 704 -2210, -32686, -2310, -32679, -2411, -32672, -2511, -32664, -2611, 705 -32656, -2711, -32647, -2811, -32638, -2912, -32629, -3012, -32620, 706 -3112, -32610, -3212, -32600, -3312, -32590, -3412, -32579, -3512, 707 -32568, -3612, -32557, -3712, -32546, -3812, -32534, -3911, -32522, 708 -4011, -32509, -4111, -32496, -4211, -32483, -4310, -32470, -4410, 709 -32456, -4510, -32442, -4609, -32428, -4709, -32413, -4808, -32398, 710 -4908, -32383, -5007, -32368, -5106, -32352, -5206, -32336, -5305, 711 -32319, -5404, -32303, -5503, -32286, -5602, -32268, -5701, -32251, 712 -5800, -32233, -5899, -32214, -5998, -32196, -6097, -32177, -6195, 713 -32158, -6294, -32138, -6393, -32119, -6491, -32099, -6590, -32078, 714 -6688, -32058, -6787, -32037, -6885, -32015, -6983, -31994, -7081, 715 -31972, -7180, -31950, -7278, -31927, -7376, -31904, -7474, -31881, 716 -7571, -31858, -7669, -31834, -7767, -31810, -7864, -31786, -7962, 717 -31761, -8059, -31737, -8157, -31711, -8254, -31686, -8351, -31660, 718 -8449, -31634, -8546, -31608, -8643, -31581, -8740, -31554, -8837, 719 -31527, -8933, -31499, -9030, -31471, -9127, -31443, -9223, -31415, 720 -9320, -31386, -9416, -31357, -9512, -31328, -9608, -31298, -9704, 721 -31268, -9800, -31238, -9896, -31207, -9992, -31177, -10088, -31146, 722 -10183, -31114, -10279, -31082, -10374, -31050, -10469, -31018, -10565, 723 -30986, -10660, -30953, -10755, -30920, -10850, -30886, -10945, -30853, 724 -11039, -30819, -11134, -30784, -11228, -30750, -11323, -30715, -11417, 725 -30680, -11511, -30644, -11605, -30608, -11699, -30572, -11793, -30536, 726 -11887, -30499, -11980, -30462, -12074, -30425, -12167, -30388, -12261, 727 -30350, -12354, -30312, -12447, -30274, -12540, -30235, -12633, -30196, 728 -12725, -30157, -12818, -30118, -12910, -30078, -13003, -30038, -13095, 729 -29997, -13187, -29957, -13279, -29916, -13371, -29875, -13463, -29833, 730 -13554, -29792, -13646, -29750, -13737, -29707, -13828, -29665, -13919, 731 -29622, -14010, -29579, -14101, -29535, -14192, -29492, -14282, -29448, 732 -14373, -29404, -14463, -29359, -14553, -29314, -14643, -29269, -14733, 733 -29224, -14823, -29178, -14912, -29132, -15002, -29086, -15091, -29040, 734 -15180, -28993, -15269, -28946, -15358, -28899, -15447, -28851, -15535, 735 -28803, -15624, -28755, -15712, -28707, -15800, -28658, -15888, -28610, 736 -15976, -28560, -16064, -28511, -16151, -28461, -16239, -28411, -16326, 737 -28361, -16413, -28311, -16500, -28260, -16587, -28209, -16673, -28158, 738 -16760, -28106, -16846, -28054, -16932, -28002, -17018, -27950, -17104, 739 -27897, -17190, -27844, -17275, -27791, -17361, -27738, -17446, -27684, 740 -17531, -27630, -17616, -27576, -17700, -27522, -17785, -27467, -17869, 741 -27412, -17953, -27357, -18037, -27301, -18121, -27246, -18205, -27190, 742 -18288, -27133, -18372, -27077, -18455, -27020, -18538, -26963, -18621, 743 -26906, -18703, -26848, -18786, -26791, -18868, -26733, -18950, -26674, 744 -19032, -26616, -19114, -26557, -19195, -26498, -19277, -26439, -19358, 745 -26379, -19439, -26320, -19520, -26260, -19601, -26199, -19681, -26139, 746 -19761, -26078, -19841, -26017, -19921, -25956, -20001, -25894, -20081, 747 -25833, -20160, -25771, -20239, -25708, -20318, -25646, -20397, -25583, 748 -20475, -25520, -20554, -25457, -20632, -25394, -20710, -25330, -20788, 749 -25266, -20865, -25202, -20943, -25138, -21020, -25073, -21097, -25008, 750 -21174, -24943, -21251, -24878, -21327, -24812, -21403, -24746, -21479, 751 -24680, -21555, -24614, -21631, -24548, -21706, -24481, -21781, -24414, 752 -21856, -24347, -21931, -24280, -22006, -24212, -22080, -24144, -22154, 753 -24076, -22228, -24008, -22302, -23939, -22375, -23870, -22449, -23801, 754 -22522, -23732, -22595, -23663, -22668, -23593, -22740, -23523, -22812, 755 -23453, -22884, -23383, -22956, -23312, -23028, -23241, -23099, -23170, 756 -23170, 757 }, 758 759 // const WORD8 dig_rev_table8_long[64] 760 {0, 8, 16, 24, 32, 40, 48, 56, 1, 9, 17, 25, 33, 41, 49, 57, 761 2, 10, 18, 26, 34, 42, 50, 58, 3, 11, 19, 27, 35, 43, 51, 59, 762 4, 12, 20, 28, 36, 44, 52, 60, 5, 13, 21, 29, 37, 45, 53, 61, 763 6, 14, 22, 30, 38, 46, 54, 62, 7, 15, 23, 31, 39, 47, 55, 63}, 764 765 // const WORD8 dig_rev_table8_short 766 {0, 1, 2, 3, 4, 5, 6, 7}, 767 768 // const WORD32 fft_twiddle[64 * 7] = 769 {0x00007fff, 0xfe6e7ffe, 0xfcdc7ff6, 0xfb4a7fea, 0xf9b87fd9, 0xf8277fc2, 770 0xf6957fa7, 0xf5057f87, 0xf3747f62, 0xf1e47f38, 0xf0557f0a, 0xeec67ed6, 771 0xed387e9d, 0xebab7e60, 0xea1e7e1e, 0xe8927dd6, 0xe7077d8a, 0xe57d7d3a, 772 0xe3f47ce4, 0xe26d7c89, 0xe0e67c2a, 0xdf617bc6, 0xdddc7b5d, 0xdc597aef, 773 0xdad87a7d, 0xd9587a06, 0xd7d9798a, 0xd65c790a, 0xd4e17885, 0xd36777fb, 774 0xd1ef776c, 0xd07976d9, 0xcf047642, 0xcd9275a6, 0xcc217505, 0xcab27460, 775 0xc94673b6, 0xc7db7308, 0xc6737255, 0xc50d719e, 0xc3a970e3, 0xc2487023, 776 0xc0e96f5f, 0xbf8c6e97, 0xbe326dca, 0xbcda6cf9, 0xbb856c24, 0xba336b4b, 777 0xb8e36a6e, 0xb796698c, 0xb64c68a7, 0xb50567bd, 0xb3c066d0, 0xb27f65de, 778 0xb14064e9, 0xb00563ef, 0xaecc62f2, 0xad9761f1, 0xac6560ec, 0xab365fe4, 779 0xaa0a5ed7, 0xa8e25dc8, 0xa7bd5cb4, 0xa69c5b9d, 0xa57e5a82, 0xa4635964, 780 0xa34c5843, 0xa238571e, 0xa12955f6, 0xa01c54ca, 0x9f14539b, 0x9e0f5269, 781 0x9d0e5134, 0x9c114ffb, 0x9b174ec0, 0x9a224d81, 0x99304c40, 0x98434afb, 782 0x975949b4, 0x9674486a, 0x9592471d, 0x94b545cd, 0x93dc447b, 0x93074326, 783 0x923641ce, 0x91694074, 0x90a13f17, 0x8fdd3db8, 0x8f1d3c57, 0x8e623af3, 784 0x8dab398d, 0x8cf83825, 0x8c4a36ba, 0x8ba0354e, 0x8afb33df, 0x8a5a326e, 785 0x89be30fc, 0x89272f87, 0x88942e11, 0x88052c99, 0x877b2b1f, 0x86f629a4, 786 0x86762827, 0x85fa26a8, 0x85832528, 0x851123a7, 0x84a32224, 0x843a209f, 787 0x83d61f1a, 0x83771d93, 0x831c1c0c, 0x82c61a83, 0x827618f9, 0x822a176e, 788 0x81e215e2, 0x81a01455, 0x816312c8, 0x812a113a, 0x80f60fab, 0x80c80e1c, 789 0x809e0c8c, 0x80790afb, 0x8059096b, 0x803e07d9, 0x80270648, 0x801604b6, 790 0x800a0324, 0x80020192, 0x80000000, 0x8002fe6e, 0x800afcdc, 0x8016fb4a, 791 0x8027f9b8, 0x803ef827, 0x8059f695, 0x8079f505, 0x809ef374, 0x80c8f1e4, 792 0x80f6f055, 0x812aeec6, 0x8163ed38, 0x81a0ebab, 0x81e2ea1e, 0x822ae892, 793 0x8276e707, 0x82c6e57d, 0x831ce3f4, 0x8377e26d, 0x83d6e0e6, 0x843adf61, 794 0x84a3dddc, 0x8511dc59, 0x8583dad8, 0x85fad958, 0x8676d7d9, 0x86f6d65c, 795 0x877bd4e1, 0x8805d367, 0x8894d1ef, 0x8927d079, 0x89becf04, 0x8a5acd92, 796 0x8afbcc21, 0x8ba0cab2, 0x8c4ac946, 0x8cf8c7db, 0x8dabc673, 0x8e62c50d, 797 0x8f1dc3a9, 0x8fddc248, 0x90a1c0e9, 0x9169bf8c, 0x9236be32, 0x9307bcda, 798 0x93dcbb85, 0x94b5ba33, 0x9592b8e3, 0x9674b796, 0x9759b64c, 0x9843b505, 799 0x9930b3c0, 0x9a22b27f, 0x9b17b140, 0x9c11b005, 0x9d0eaecc, 0x9e0fad97, 800 0x9f14ac65, 0xa01cab36, 0xa129aa0a, 0xa238a8e2, 0xa34ca7bd, 0xa463a69c, 801 0xa57ea57e, 0xa69ca463, 0xa7bda34c, 0xa8e2a238, 0xaa0aa129, 0xab36a01c, 802 0xac659f14, 0xad979e0f, 0xaecc9d0e, 0xb0059c11, 0xb1409b17, 0xb27f9a22, 803 0xb3c09930, 0xb5059843, 0xb64c9759, 0xb7969674, 0xb8e39592, 0xba3394b5, 804 0xbb8593dc, 0xbcda9307, 0xbe329236, 0xbf8c9169, 0xc0e990a1, 0xc2488fdd, 805 0xc3a98f1d, 0xc50d8e62, 0xc6738dab, 0xc7db8cf8, 0xc9468c4a, 0xcab28ba0, 806 0xcc218afb, 0xcd928a5a, 0xcf0489be, 0xd0798927, 0xd1ef8894, 0xd3678805, 807 0xd4e1877b, 0xd65c86f6, 0xd7d98676, 0xd95885fa, 0xdad88583, 0xdc598511, 808 0xdddc84a3, 0xdf61843a, 0xe0e683d6, 0xe26d8377, 0xe3f4831c, 0xe57d82c6, 809 0xe7078276, 0xe892822a, 0xea1e81e2, 0xebab81a0, 0xed388163, 0xeec6812a, 810 0xf05580f6, 0xf1e480c8, 0xf374809e, 0xf5058079, 0xf6958059, 0xf827803e, 811 0xf9b88027, 0xfb4a8016, 0xfcdc800a, 0xfe6e8002, 0x00008000, 0x01928002, 812 0x0324800a, 0x04b68016, 0x06488027, 0x07d9803e, 0x096b8059, 0x0afb8079, 813 0x0c8c809e, 0x0e1c80c8, 0x0fab80f6, 0x113a812a, 0x12c88163, 0x145581a0, 814 0x15e281e2, 0x176e822a, 0x18f98276, 0x1a8382c6, 0x1c0c831c, 0x1d938377, 815 0x1f1a83d6, 0x209f843a, 0x222484a3, 0x23a78511, 0x25288583, 0x26a885fa, 816 0x28278676, 0x29a486f6, 0x2b1f877b, 0x2c998805, 0x2e118894, 0x2f878927, 817 0x30fc89be, 0x326e8a5a, 0x33df8afb, 0x354e8ba0, 0x36ba8c4a, 0x38258cf8, 818 0x398d8dab, 0x3af38e62, 0x3c578f1d, 0x3db88fdd, 0x3f1790a1, 0x40749169, 819 0x41ce9236, 0x43269307, 0x447b93dc, 0x45cd94b5, 0x471d9592, 0x486a9674, 820 0x49b49759, 0x4afb9843, 0x4c409930, 0x4d819a22, 0x4ec09b17, 0x4ffb9c11, 821 0x51349d0e, 0x52699e0f, 0x539b9f14, 0x54caa01c, 0x55f6a129, 0x571ea238, 822 0x5843a34c, 0x5964a463, 0x5a82a57e, 0x5b9da69c, 0x5cb4a7bd, 0x5dc8a8e2, 823 0x5ed7aa0a, 0x5fe4ab36, 0x60ecac65, 0x61f1ad97, 0x62f2aecc, 0x63efb005, 824 0x64e9b140, 0x65deb27f, 0x66d0b3c0, 0x67bdb505, 0x68a7b64c, 0x698cb796, 825 0x6a6eb8e3, 0x6b4bba33, 0x6c24bb85, 0x6cf9bcda, 0x6dcabe32, 0x6e97bf8c, 826 0x6f5fc0e9, 0x7023c248, 0x70e3c3a9, 0x719ec50d, 0x7255c673, 0x7308c7db, 827 0x73b6c946, 0x7460cab2, 0x7505cc21, 0x75a6cd92, 0x7642cf04, 0x76d9d079, 828 0x776cd1ef, 0x77fbd367, 0x7885d4e1, 0x790ad65c, 0x798ad7d9, 0x7a06d958, 829 0x7a7ddad8, 0x7aefdc59, 0x7b5ddddc, 0x7bc6df61, 0x7c2ae0e6, 0x7c89e26d, 830 0x7ce4e3f4, 0x7d3ae57d, 0x7d8ae707, 0x7dd6e892, 0x7e1eea1e, 0x7e60ebab, 831 0x7e9ded38, 0x7ed6eec6, 0x7f0af055, 0x7f38f1e4, 0x7f62f374, 0x7f87f505, 832 0x7fa7f695, 0x7fc2f827, 0x7fd9f9b8, 0x7feafb4a, 0x7ff6fcdc, 0x7ffefe6e, 833 0x7fff0000, 0x7ffe0192, 0x7ff60324, 0x7fea04b6, 0x7fd90648, 0x7fc207d9, 834 0x7fa7096b, 0x7f870afb, 0x7f620c8c, 0x7f380e1c, 0x7f0a0fab, 0x7ed6113a, 835 0x7e9d12c8, 0x7e601455, 0x7e1e15e2, 0x7dd6176e, 0x7d8a18f9, 0x7d3a1a83, 836 0x7ce41c0c, 0x7c891d93, 0x7c2a1f1a, 0x7bc6209f, 0x7b5d2224, 0x7aef23a7, 837 0x7a7d2528, 0x7a0626a8, 0x798a2827, 0x790a29a4, 0x78852b1f, 0x77fb2c99, 838 0x776c2e11, 0x76d92f87, 0x764230fc, 0x75a6326e, 0x750533df, 0x7460354e, 839 0x73b636ba, 0x73083825, 0x7255398d, 0x719e3af3, 0x70e33c57, 0x70233db8, 840 0x6f5f3f17, 0x6e974074, 0x6dca41ce, 0x6cf94326, 0x6c24447b, 0x6b4b45cd, 841 0x6a6e471d, 0x698c486a, 0x68a749b4, 0x67bd4afb, 0x66d04c40, 0x65de4d81, 842 0x64e94ec0, 0x63ef4ffb, 0x62f25134, 0x61f15269}, 843 844 // const WORD16 only_long_window_sine[1024] = 845 {0x0019, 0x7fff, 0x004b, 0x7fff, 0x007e, 0x7fff, 0x00b0, 0x7fff, 0x00e2, 846 0x7fff, 0x0114, 0x7fff, 0x0147, 0x7ffe, 0x0179, 0x7ffe, 0x01ab, 0x7ffd, 847 0x01dd, 0x7ffd, 0x0210, 0x7ffc, 0x0242, 0x7ffb, 0x0274, 0x7ffa, 0x02a7, 848 0x7ff9, 0x02d9, 0x7ff8, 0x030b, 0x7ff7, 0x033d, 0x7ff6, 0x0370, 0x7ff4, 849 0x03a2, 0x7ff3, 0x03d4, 0x7ff1, 0x0406, 0x7ff0, 0x0439, 0x7fee, 0x046b, 850 0x7fec, 0x049d, 0x7feb, 0x04cf, 0x7fe9, 0x0501, 0x7fe7, 0x0534, 0x7fe5, 851 0x0566, 0x7fe3, 0x0598, 0x7fe1, 0x05ca, 0x7fde, 0x05fd, 0x7fdc, 0x062f, 852 0x7fda, 0x0661, 0x7fd7, 0x0693, 0x7fd5, 0x06c5, 0x7fd2, 0x06f8, 0x7fcf, 853 0x072a, 0x7fcd, 0x075c, 0x7fca, 0x078e, 0x7fc7, 0x07c0, 0x7fc4, 0x07f2, 854 0x7fc1, 0x0825, 0x7fbe, 0x0857, 0x7fba, 0x0889, 0x7fb7, 0x08bb, 0x7fb4, 855 0x08ed, 0x7fb0, 0x091f, 0x7fad, 0x0952, 0x7fa9, 0x0984, 0x7fa5, 0x09b6, 856 0x7fa2, 0x09e8, 0x7f9e, 0x0a1a, 0x7f9a, 0x0a4c, 0x7f96, 0x0a7e, 0x7f92, 857 0x0ab0, 0x7f8e, 0x0ae2, 0x7f89, 0x0b14, 0x7f85, 0x0b47, 0x7f81, 0x0b79, 858 0x7f7c, 0x0bab, 0x7f78, 0x0bdd, 0x7f73, 0x0c0f, 0x7f6e, 0x0c41, 0x7f6a, 859 0x0c73, 0x7f65, 0x0ca5, 0x7f60, 0x0cd7, 0x7f5b, 0x0d09, 0x7f56, 0x0d3b, 860 0x7f50, 0x0d6d, 0x7f4b, 0x0d9f, 0x7f46, 0x0dd1, 0x7f41, 0x0e03, 0x7f3b, 861 0x0e35, 0x7f36, 0x0e67, 0x7f30, 0x0e99, 0x7f2a, 0x0ecb, 0x7f24, 0x0efc, 862 0x7f1f, 0x0f2e, 0x7f19, 0x0f60, 0x7f13, 0x0f92, 0x7f0d, 0x0fc4, 0x7f06, 863 0x0ff6, 0x7f00, 0x1028, 0x7efa, 0x105a, 0x7ef4, 0x108c, 0x7eed, 0x10bd, 864 0x7ee7, 0x10ef, 0x7ee0, 0x1121, 0x7ed9, 0x1153, 0x7ed3, 0x1185, 0x7ecc, 865 0x11b6, 0x7ec5, 0x11e8, 0x7ebe, 0x121a, 0x7eb7, 0x124c, 0x7eb0, 0x127d, 866 0x7ea8, 0x12af, 0x7ea1, 0x12e1, 0x7e9a, 0x1313, 0x7e92, 0x1344, 0x7e8b, 867 0x1376, 0x7e83, 0x13a8, 0x7e7b, 0x13d9, 0x7e74, 0x140b, 0x7e6c, 0x143d, 868 0x7e64, 0x146e, 0x7e5c, 0x14a0, 0x7e54, 0x14d1, 0x7e4c, 0x1503, 0x7e43, 869 0x1535, 0x7e3b, 0x1566, 0x7e33, 0x1598, 0x7e2a, 0x15c9, 0x7e22, 0x15fb, 870 0x7e19, 0x162c, 0x7e11, 0x165e, 0x7e08, 0x168f, 0x7dff, 0x16c1, 0x7df6, 871 0x16f2, 0x7ded, 0x1724, 0x7de4, 0x1755, 0x7ddb, 0x1787, 0x7dd2, 0x17b8, 872 0x7dc9, 0x17e9, 0x7dbf, 0x181b, 0x7db6, 0x184c, 0x7dac, 0x187d, 0x7da3, 873 0x18af, 0x7d99, 0x18e0, 0x7d8f, 0x1911, 0x7d85, 0x1943, 0x7d7c, 0x1974, 874 0x7d72, 0x19a5, 0x7d68, 0x19d6, 0x7d5d, 0x1a08, 0x7d53, 0x1a39, 0x7d49, 875 0x1a6a, 0x7d3f, 0x1a9b, 0x7d34, 0x1acc, 0x7d2a, 0x1afe, 0x7d1f, 0x1b2f, 876 0x7d15, 0x1b60, 0x7d0a, 0x1b91, 0x7cff, 0x1bc2, 0x7cf4, 0x1bf3, 0x7ce9, 877 0x1c24, 0x7cde, 0x1c55, 0x7cd3, 0x1c86, 0x7cc8, 0x1cb7, 0x7cbd, 0x1ce8, 878 0x7cb1, 0x1d19, 0x7ca6, 0x1d4a, 0x7c9b, 0x1d7b, 0x7c8f, 0x1dac, 0x7c83, 879 0x1ddd, 0x7c78, 0x1e0e, 0x7c6c, 0x1e3e, 0x7c60, 0x1e6f, 0x7c54, 0x1ea0, 880 0x7c48, 0x1ed1, 0x7c3c, 0x1f02, 0x7c30, 0x1f32, 0x7c24, 0x1f63, 0x7c18, 881 0x1f94, 0x7c0b, 0x1fc5, 0x7bff, 0x1ff5, 0x7bf2, 0x2026, 0x7be6, 0x2057, 882 0x7bd9, 0x2087, 0x7bcc, 0x20b8, 0x7bbf, 0x20e8, 0x7bb3, 0x2119, 0x7ba6, 883 0x2149, 0x7b99, 0x217a, 0x7b8b, 0x21aa, 0x7b7e, 0x21db, 0x7b71, 0x220b, 884 0x7b64, 0x223c, 0x7b56, 0x226c, 0x7b49, 0x229d, 0x7b3b, 0x22cd, 0x7b2e, 885 0x22fd, 0x7b20, 0x232e, 0x7b12, 0x235e, 0x7b04, 0x238e, 0x7af6, 0x23bf, 886 0x7ae8, 0x23ef, 0x7ada, 0x241f, 0x7acc, 0x244f, 0x7abe, 0x2480, 0x7ab0, 887 0x24b0, 0x7aa1, 0x24e0, 0x7a93, 0x2510, 0x7a84, 0x2540, 0x7a76, 0x2570, 888 0x7a67, 0x25a0, 0x7a58, 0x25d0, 0x7a49, 0x2600, 0x7a3b, 0x2630, 0x7a2c, 889 0x2660, 0x7a1d, 0x2690, 0x7a0e, 0x26c0, 0x79fe, 0x26f0, 0x79ef, 0x2720, 890 0x79e0, 0x2750, 0x79d0, 0x2780, 0x79c1, 0x27af, 0x79b1, 0x27df, 0x79a2, 891 0x280f, 0x7992, 0x283f, 0x7982, 0x286e, 0x7972, 0x289e, 0x7962, 0x28ce, 892 0x7952, 0x28fd, 0x7942, 0x292d, 0x7932, 0x295c, 0x7922, 0x298c, 0x7912, 893 0x29bc, 0x7901, 0x29eb, 0x78f1, 0x2a1b, 0x78e1, 0x2a4a, 0x78d0, 0x2a79, 894 0x78bf, 0x2aa9, 0x78af, 0x2ad8, 0x789e, 0x2b08, 0x788d, 0x2b37, 0x787c, 895 0x2b66, 0x786b, 0x2b95, 0x785a, 0x2bc5, 0x7849, 0x2bf4, 0x7838, 0x2c23, 896 0x7826, 0x2c52, 0x7815, 0x2c81, 0x7803, 0x2cb1, 0x77f2, 0x2ce0, 0x77e0, 897 0x2d0f, 0x77cf, 0x2d3e, 0x77bd, 0x2d6d, 0x77ab, 0x2d9c, 0x7799, 0x2dcb, 898 0x7787, 0x2dfa, 0x7775, 0x2e29, 0x7763, 0x2e57, 0x7751, 0x2e86, 0x773f, 899 0x2eb5, 0x772d, 0x2ee4, 0x771a, 0x2f13, 0x7708, 0x2f41, 0x76f5, 0x2f70, 900 0x76e3, 0x2f9f, 0x76d0, 0x2fcd, 0x76bd, 0x2ffc, 0x76aa, 0x302b, 0x7698, 901 0x3059, 0x7685, 0x3088, 0x7672, 0x30b6, 0x765e, 0x30e5, 0x764b, 0x3113, 902 0x7638, 0x3141, 0x7625, 0x3170, 0x7611, 0x319e, 0x75fe, 0x31cc, 0x75ea, 903 0x31fb, 0x75d7, 0x3229, 0x75c3, 0x3257, 0x75af, 0x3285, 0x759c, 0x32b4, 904 0x7588, 0x32e2, 0x7574, 0x3310, 0x7560, 0x333e, 0x754c, 0x336c, 0x7538, 905 0x339a, 0x7523, 0x33c8, 0x750f, 0x33f6, 0x74fb, 0x3424, 0x74e6, 0x3452, 906 0x74d2, 0x3480, 0x74bd, 0x34ad, 0x74a8, 0x34db, 0x7494, 0x3509, 0x747f, 907 0x3537, 0x746a, 0x3564, 0x7455, 0x3592, 0x7440, 0x35c0, 0x742b, 0x35ed, 908 0x7416, 0x361b, 0x7401, 0x3648, 0x73eb, 0x3676, 0x73d6, 0x36a3, 0x73c1, 909 0x36d1, 0x73ab, 0x36fe, 0x7396, 0x372c, 0x7380, 0x3759, 0x736a, 0x3786, 910 0x7354, 0x37b4, 0x733f, 0x37e1, 0x7329, 0x380e, 0x7313, 0x383b, 0x72fd, 911 0x3868, 0x72e7, 0x3895, 0x72d0, 0x38c2, 0x72ba, 0x38f0, 0x72a4, 0x391d, 912 0x728d, 0x3949, 0x7277, 0x3976, 0x7260, 0x39a3, 0x724a, 0x39d0, 0x7233, 913 0x39fd, 0x721c, 0x3a2a, 0x7206, 0x3a57, 0x71ef, 0x3a83, 0x71d8, 0x3ab0, 914 0x71c1, 0x3add, 0x71aa, 0x3b09, 0x7193, 0x3b36, 0x717b, 0x3b62, 0x7164, 915 0x3b8f, 0x714d, 0x3bbb, 0x7135, 0x3be8, 0x711e, 0x3c14, 0x7106, 0x3c41, 916 0x70ef, 0x3c6d, 0x70d7, 0x3c99, 0x70bf, 0x3cc5, 0x70a7, 0x3cf2, 0x708f, 917 0x3d1e, 0x7077, 0x3d4a, 0x705f, 0x3d76, 0x7047, 0x3da2, 0x702f, 0x3dce, 918 0x7017, 0x3dfa, 0x6fff, 0x3e26, 0x6fe6, 0x3e52, 0x6fce, 0x3e7e, 0x6fb5, 919 0x3eaa, 0x6f9d, 0x3ed6, 0x6f84, 0x3f01, 0x6f6b, 0x3f2d, 0x6f53, 0x3f59, 920 0x6f3a, 0x3f84, 0x6f21, 0x3fb0, 0x6f08, 0x3fdc, 0x6eef, 0x4007, 0x6ed6, 921 0x4033, 0x6ebd, 0x405e, 0x6ea3, 0x408a, 0x6e8a, 0x40b5, 0x6e71, 0x40e0, 922 0x6e57, 0x410c, 0x6e3e, 0x4137, 0x6e24, 0x4162, 0x6e0a, 0x418d, 0x6df1, 923 0x41b9, 0x6dd7, 0x41e4, 0x6dbd, 0x420f, 0x6da3, 0x423a, 0x6d89, 0x4265, 924 0x6d6f, 0x4290, 0x6d55, 0x42bb, 0x6d3b, 0x42e6, 0x6d21, 0x4310, 0x6d06, 925 0x433b, 0x6cec, 0x4366, 0x6cd2, 0x4391, 0x6cb7, 0x43bb, 0x6c9c, 0x43e6, 926 0x6c82, 0x4411, 0x6c67, 0x443b, 0x6c4c, 0x4466, 0x6c32, 0x4490, 0x6c17, 927 0x44ba, 0x6bfc, 0x44e5, 0x6be1, 0x450f, 0x6bc6, 0x4539, 0x6baa, 0x4564, 928 0x6b8f, 0x458e, 0x6b74, 0x45b8, 0x6b59, 0x45e2, 0x6b3d, 0x460c, 0x6b22, 929 0x4636, 0x6b06, 0x4660, 0x6aeb, 0x468a, 0x6acf, 0x46b4, 0x6ab3, 0x46de, 930 0x6a97, 0x4708, 0x6a7c, 0x4732, 0x6a60, 0x475c, 0x6a44, 0x4785, 0x6a28, 931 0x47af, 0x6a0b, 0x47d9, 0x69ef, 0x4802, 0x69d3, 0x482c, 0x69b7, 0x4855, 932 0x699a, 0x487f, 0x697e, 0x48a8, 0x6961, 0x48d1, 0x6945, 0x48fb, 0x6928, 933 0x4924, 0x690c, 0x494d, 0x68ef, 0x4976, 0x68d2, 0x49a0, 0x68b5, 0x49c9, 934 0x6898, 0x49f2, 0x687b, 0x4a1b, 0x685e, 0x4a44, 0x6841, 0x4a6d, 0x6824, 935 0x4a95, 0x6806, 0x4abe, 0x67e9, 0x4ae7, 0x67cc, 0x4b10, 0x67ae, 0x4b38, 936 0x6791, 0x4b61, 0x6773, 0x4b8a, 0x6756, 0x4bb2, 0x6738, 0x4bdb, 0x671a, 937 0x4c03, 0x66fc, 0x4c2c, 0x66de, 0x4c54, 0x66c1, 0x4c7c, 0x66a3, 0x4ca5, 938 0x6684, 0x4ccd, 0x6666, 0x4cf5, 0x6648, 0x4d1d, 0x662a, 0x4d45, 0x660c, 939 0x4d6d, 0x65ed, 0x4d95, 0x65cf, 0x4dbd, 0x65b0, 0x4de5, 0x6592, 0x4e0d, 940 0x6573, 0x4e35, 0x6554, 0x4e5d, 0x6536, 0x4e84, 0x6517, 0x4eac, 0x64f8, 941 0x4ed4, 0x64d9, 0x4efb, 0x64ba, 0x4f23, 0x649b, 0x4f4a, 0x647c, 0x4f72, 942 0x645d, 0x4f99, 0x643e, 0x4fc0, 0x641e, 0x4fe8, 0x63ff, 0x500f, 0x63df, 943 0x5036, 0x63c0, 0x505d, 0x63a0, 0x5084, 0x6381, 0x50ac, 0x6361, 0x50d3, 944 0x6342, 0x50f9, 0x6322, 0x5120, 0x6302, 0x5147, 0x62e2, 0x516e, 0x62c2, 945 0x5195, 0x62a2, 0x51bb, 0x6282, 0x51e2, 0x6262, 0x5209, 0x6242, 0x522f, 946 0x6221, 0x5256, 0x6201, 0x527c, 0x61e1, 0x52a3, 0x61c0, 0x52c9, 0x61a0, 947 0x52ef, 0x617f, 0x5316, 0x615f, 0x533c, 0x613e, 0x5362, 0x611d, 0x5388, 948 0x60fd, 0x53ae, 0x60dc, 0x53d4, 0x60bb, 0x53fa, 0x609a, 0x5420, 0x6079, 949 0x5446, 0x6058, 0x546c, 0x6037, 0x5491, 0x6016, 0x54b7, 0x5ff4, 0x54dd, 950 0x5fd3, 0x5502, 0x5fb2, 0x5528, 0x5f90, 0x554e, 0x5f6f, 0x5573, 0x5f4d, 951 0x5598, 0x5f2c, 0x55be, 0x5f0a, 0x55e3, 0x5ee8, 0x5608, 0x5ec7, 0x562d, 952 0x5ea5, 0x5653, 0x5e83, 0x5678, 0x5e61, 0x569d, 0x5e3f, 0x56c2, 0x5e1d, 953 0x56e7, 0x5dfb, 0x570c, 0x5dd9, 0x5730, 0x5db7, 0x5755, 0x5d94, 0x577a, 954 0x5d72, 0x579f, 0x5d50, 0x57c3, 0x5d2d, 0x57e8, 0x5d0b, 0x580c, 0x5ce8, 955 0x5831, 0x5cc5, 0x5855, 0x5ca3, 0x5879, 0x5c80, 0x589e, 0x5c5d, 0x58c2, 956 0x5c3a, 0x58e6, 0x5c18, 0x590a, 0x5bf5, 0x592e, 0x5bd2, 0x5952, 0x5baf, 957 0x5976, 0x5b8c, 0x599a, 0x5b68, 0x59be, 0x5b45, 0x59e2, 0x5b22, 0x5a06, 958 0x5aff, 0x5a29, 0x5adb, 0x5a4d, 0x5ab8, 0x5a71, 0x5a94}, 959 960 // const WORD16 only_long_window_kbd[1024] = 961 {0x000a, 0x7fff, 0x000e, 0x7fff, 0x0012, 0x7fff, 0x0015, 0x7fff, 0x0019, 962 0x7fff, 0x001c, 0x7fff, 0x0020, 0x7fff, 0x0023, 0x7fff, 0x0026, 0x7fff, 963 0x002a, 0x7fff, 0x002d, 0x7fff, 0x0030, 0x7fff, 0x0034, 0x7fff, 0x0038, 964 0x7fff, 0x003b, 0x7fff, 0x003f, 0x7fff, 0x0043, 0x7fff, 0x0047, 0x7fff, 965 0x004b, 0x7fff, 0x004f, 0x7fff, 0x0053, 0x7fff, 0x0057, 0x7fff, 0x005b, 966 0x7fff, 0x0060, 0x7fff, 0x0064, 0x7fff, 0x0069, 0x7fff, 0x006d, 0x7fff, 967 0x0072, 0x7fff, 0x0077, 0x7fff, 0x007c, 0x7fff, 0x0081, 0x7fff, 0x0086, 968 0x7fff, 0x008b, 0x7fff, 0x0091, 0x7fff, 0x0096, 0x7fff, 0x009c, 0x7fff, 969 0x00a1, 0x7fff, 0x00a7, 0x7fff, 0x00ad, 0x7fff, 0x00b3, 0x7fff, 0x00b9, 970 0x7fff, 0x00bf, 0x7fff, 0x00c6, 0x7fff, 0x00cc, 0x7fff, 0x00d3, 0x7fff, 971 0x00da, 0x7fff, 0x00e0, 0x7fff, 0x00e7, 0x7fff, 0x00ee, 0x7fff, 0x00f5, 972 0x7fff, 0x00fd, 0x7fff, 0x0104, 0x7fff, 0x010c, 0x7fff, 0x0113, 0x7fff, 973 0x011b, 0x7fff, 0x0123, 0x7fff, 0x012b, 0x7fff, 0x0133, 0x7fff, 0x013c, 974 0x7ffe, 0x0144, 0x7ffe, 0x014d, 0x7ffe, 0x0156, 0x7ffe, 0x015f, 0x7ffe, 975 0x0168, 0x7ffe, 0x0171, 0x7ffe, 0x017a, 0x7ffe, 0x0183, 0x7ffe, 0x018d, 976 0x7ffe, 0x0197, 0x7ffd, 0x01a1, 0x7ffd, 0x01ab, 0x7ffd, 0x01b5, 0x7ffd, 977 0x01bf, 0x7ffd, 0x01ca, 0x7ffd, 0x01d4, 0x7ffd, 0x01df, 0x7ffc, 0x01ea, 978 0x7ffc, 0x01f5, 0x7ffc, 0x0200, 0x7ffc, 0x020c, 0x7ffc, 0x0217, 0x7ffc, 979 0x0223, 0x7ffb, 0x022f, 0x7ffb, 0x023b, 0x7ffb, 0x0247, 0x7ffb, 0x0253, 980 0x7ffb, 0x0260, 0x7ffa, 0x026d, 0x7ffa, 0x027a, 0x7ffa, 0x0287, 0x7ffa, 981 0x0294, 0x7ff9, 0x02a1, 0x7ff9, 0x02af, 0x7ff9, 0x02bc, 0x7ff9, 0x02ca, 982 0x7ff8, 0x02d8, 0x7ff8, 0x02e7, 0x7ff8, 0x02f5, 0x7ff7, 0x0304, 0x7ff7, 983 0x0312, 0x7ff7, 0x0321, 0x7ff6, 0x0331, 0x7ff6, 0x0340, 0x7ff5, 0x034f, 984 0x7ff5, 0x035f, 0x7ff5, 0x036f, 0x7ff4, 0x037f, 0x7ff4, 0x038f, 0x7ff3, 985 0x03a0, 0x7ff3, 0x03b0, 0x7ff2, 0x03c1, 0x7ff2, 0x03d2, 0x7ff1, 0x03e3, 986 0x7ff1, 0x03f5, 0x7ff0, 0x0406, 0x7ff0, 0x0418, 0x7fef, 0x042a, 0x7fef, 987 0x043c, 0x7fee, 0x044f, 0x7fed, 0x0461, 0x7fed, 0x0474, 0x7fec, 0x0487, 988 0x7feb, 0x049a, 0x7feb, 0x04ae, 0x7fea, 0x04c1, 0x7fe9, 0x04d5, 0x7fe9, 989 0x04e9, 0x7fe8, 0x04fd, 0x7fe7, 0x0512, 0x7fe6, 0x0527, 0x7fe5, 0x053b, 990 0x7fe5, 0x0550, 0x7fe4, 0x0566, 0x7fe3, 0x057b, 0x7fe2, 0x0591, 0x7fe1, 991 0x05a7, 0x7fe0, 0x05bd, 0x7fdf, 0x05d3, 0x7fde, 0x05ea, 0x7fdd, 0x0601, 992 0x7fdc, 0x0618, 0x7fdb, 0x062f, 0x7fda, 0x0646, 0x7fd9, 0x065e, 0x7fd7, 993 0x0676, 0x7fd6, 0x068e, 0x7fd5, 0x06a6, 0x7fd4, 0x06bf, 0x7fd2, 0x06d8, 994 0x7fd1, 0x06f1, 0x7fd0, 0x070a, 0x7fce, 0x0723, 0x7fcd, 0x073d, 0x7fcc, 995 0x0757, 0x7fca, 0x0771, 0x7fc9, 0x078c, 0x7fc7, 0x07a6, 0x7fc5, 0x07c1, 996 0x7fc4, 0x07dc, 0x7fc2, 0x07f7, 0x7fc0, 0x0813, 0x7fbf, 0x082f, 0x7fbd, 997 0x084b, 0x7fbb, 0x0867, 0x7fb9, 0x0884, 0x7fb7, 0x08a0, 0x7fb6, 0x08bd, 998 0x7fb4, 0x08da, 0x7fb2, 0x08f8, 0x7faf, 0x0916, 0x7fad, 0x0934, 0x7fab, 999 0x0952, 0x7fa9, 0x0970, 0x7fa7, 0x098f, 0x7fa5, 0x09ae, 0x7fa2, 0x09cd, 1000 0x7fa0, 0x09ec, 0x7f9d, 0x0a0c, 0x7f9b, 0x0a2c, 0x7f98, 0x0a4c, 0x7f96, 1001 0x0a6c, 0x7f93, 0x0a8d, 0x7f91, 0x0aae, 0x7f8e, 0x0acf, 0x7f8b, 0x0af0, 1002 0x7f88, 0x0b12, 0x7f85, 0x0b33, 0x7f82, 0x0b55, 0x7f7f, 0x0b78, 0x7f7c, 1003 0x0b9a, 0x7f79, 0x0bbd, 0x7f76, 0x0be0, 0x7f73, 0x0c04, 0x7f6f, 0x0c27, 1004 0x7f6c, 0x0c4b, 0x7f69, 0x0c6f, 0x7f65, 0x0c93, 0x7f61, 0x0cb8, 0x7f5e, 1005 0x0cdd, 0x7f5a, 0x0d02, 0x7f56, 0x0d27, 0x7f53, 0x0d4d, 0x7f4f, 0x0d73, 1006 0x7f4b, 0x0d99, 0x7f47, 0x0dbf, 0x7f43, 0x0de6, 0x7f3e, 0x0e0c, 0x7f3a, 1007 0x0e34, 0x7f36, 0x0e5b, 0x7f31, 0x0e83, 0x7f2d, 0x0eaa, 0x7f28, 0x0ed3, 1008 0x7f24, 0x0efb, 0x7f1f, 0x0f23, 0x7f1a, 0x0f4c, 0x7f15, 0x0f75, 0x7f10, 1009 0x0f9f, 0x7f0b, 0x0fc8, 0x7f06, 0x0ff2, 0x7f01, 0x101c, 0x7efb, 0x1047, 1010 0x7ef6, 0x1071, 0x7ef0, 0x109c, 0x7eeb, 0x10c8, 0x7ee5, 0x10f3, 0x7edf, 1011 0x111f, 0x7eda, 0x114a, 0x7ed4, 0x1177, 0x7ece, 0x11a3, 0x7ec7, 0x11d0, 1012 0x7ec1, 0x11fd, 0x7ebb, 0x122a, 0x7eb4, 0x1257, 0x7eae, 0x1285, 0x7ea7, 1013 0x12b3, 0x7ea0, 0x12e1, 0x7e9a, 0x130f, 0x7e93, 0x133e, 0x7e8c, 0x136d, 1014 0x7e84, 0x139c, 0x7e7d, 0x13cc, 0x7e76, 0x13fb, 0x7e6e, 0x142b, 0x7e67, 1015 0x145b, 0x7e5f, 0x148c, 0x7e57, 0x14bc, 0x7e4f, 0x14ed, 0x7e47, 0x151e, 1016 0x7e3f, 0x1550, 0x7e37, 0x1581, 0x7e2e, 0x15b3, 0x7e26, 0x15e5, 0x7e1d, 1017 0x1618, 0x7e14, 0x164a, 0x7e0b, 0x167d, 0x7e02, 0x16b0, 0x7df9, 0x16e4, 1018 0x7df0, 0x1717, 0x7de6, 0x174b, 0x7ddd, 0x177f, 0x7dd3, 0x17b3, 0x7dc9, 1019 0x17e8, 0x7dbf, 0x181d, 0x7db5, 0x1852, 0x7dab, 0x1887, 0x7da1, 0x18bc, 1020 0x7d96, 0x18f2, 0x7d8c, 0x1928, 0x7d81, 0x195e, 0x7d76, 0x1995, 0x7d6b, 1021 0x19cb, 0x7d60, 0x1a02, 0x7d54, 0x1a39, 0x7d49, 0x1a71, 0x7d3d, 0x1aa8, 1022 0x7d31, 0x1ae0, 0x7d26, 0x1b18, 0x7d19, 0x1b50, 0x7d0d, 0x1b89, 0x7d01, 1023 0x1bc2, 0x7cf4, 0x1bfb, 0x7ce8, 0x1c34, 0x7cdb, 0x1c6d, 0x7cce, 0x1ca7, 1024 0x7cc1, 0x1ce1, 0x7cb3, 0x1d1b, 0x7ca6, 0x1d55, 0x7c98, 0x1d8f, 0x7c8a, 1025 0x1dca, 0x7c7c, 0x1e05, 0x7c6e, 0x1e40, 0x7c60, 0x1e7b, 0x7c51, 0x1eb7, 1026 0x7c43, 0x1ef3, 0x7c34, 0x1f2f, 0x7c25, 0x1f6b, 0x7c16, 0x1fa7, 0x7c06, 1027 0x1fe4, 0x7bf7, 0x2021, 0x7be7, 0x205e, 0x7bd7, 0x209b, 0x7bc7, 0x20d8, 1028 0x7bb7, 0x2116, 0x7ba6, 0x2154, 0x7b96, 0x2192, 0x7b85, 0x21d0, 0x7b74, 1029 0x220e, 0x7b63, 0x224d, 0x7b52, 0x228c, 0x7b40, 0x22cb, 0x7b2e, 0x230a, 1030 0x7b1c, 0x2349, 0x7b0a, 0x2389, 0x7af8, 0x23c8, 0x7ae6, 0x2408, 0x7ad3, 1031 0x2448, 0x7ac0, 0x2489, 0x7aad, 0x24c9, 0x7a9a, 0x250a, 0x7a86, 0x254b, 1032 0x7a73, 0x258c, 0x7a5f, 0x25cd, 0x7a4b, 0x260e, 0x7a36, 0x2650, 0x7a22, 1033 0x2691, 0x7a0d, 0x26d3, 0x79f8, 0x2715, 0x79e3, 0x2757, 0x79ce, 0x279a, 1034 0x79b8, 0x27dc, 0x79a3, 0x281f, 0x798d, 0x2862, 0x7977, 0x28a5, 0x7960, 1035 0x28e8, 0x794a, 0x292b, 0x7933, 0x296f, 0x791c, 0x29b2, 0x7905, 0x29f6, 1036 0x78ed, 0x2a3a, 0x78d6, 0x2a7e, 0x78be, 0x2ac2, 0x78a6, 0x2b07, 0x788d, 1037 0x2b4b, 0x7875, 0x2b90, 0x785c, 0x2bd4, 0x7843, 0x2c19, 0x782a, 0x2c5e, 1038 0x7810, 0x2ca4, 0x77f7, 0x2ce9, 0x77dd, 0x2d2e, 0x77c3, 0x2d74, 0x77a8, 1039 0x2dba, 0x778e, 0x2dff, 0x7773, 0x2e45, 0x7758, 0x2e8b, 0x773d, 0x2ed2, 1040 0x7721, 0x2f18, 0x7706, 0x2f5e, 0x76ea, 0x2fa5, 0x76cd, 0x2fec, 0x76b1, 1041 0x3032, 0x7694, 0x3079, 0x7677, 0x30c0, 0x765a, 0x3107, 0x763d, 0x314e, 1042 0x761f, 0x3196, 0x7601, 0x31dd, 0x75e3, 0x3225, 0x75c5, 0x326c, 0x75a6, 1043 0x32b4, 0x7588, 0x32fc, 0x7569, 0x3344, 0x7549, 0x338c, 0x752a, 0x33d4, 1044 0x750a, 0x341c, 0x74ea, 0x3464, 0x74ca, 0x34ac, 0x74a9, 0x34f5, 0x7488, 1045 0x353d, 0x7467, 0x3585, 0x7446, 0x35ce, 0x7424, 0x3617, 0x7403, 0x365f, 1046 0x73e1, 0x36a8, 0x73be, 0x36f1, 0x739c, 0x373a, 0x7379, 0x3783, 0x7356, 1047 0x37cc, 0x7333, 0x3815, 0x730f, 0x385e, 0x72ec, 0x38a7, 0x72c8, 0x38f1, 1048 0x72a3, 0x393a, 0x727f, 0x3983, 0x725a, 0x39cd, 0x7235, 0x3a16, 0x7210, 1049 0x3a60, 0x71ea, 0x3aa9, 0x71c4, 0x3af3, 0x719e, 0x3b3c, 0x7178, 0x3b86, 1050 0x7151, 0x3bd0, 0x712b, 0x3c19, 0x7104, 0x3c63, 0x70dc, 0x3cad, 0x70b5, 1051 0x3cf7, 0x708d, 0x3d40, 0x7065, 0x3d8a, 0x703c, 0x3dd4, 0x7014, 0x3e1e, 1052 0x6feb, 0x3e68, 0x6fc2, 0x3eb1, 0x6f98, 0x3efb, 0x6f6f, 0x3f45, 0x6f45, 1053 0x3f8f, 0x6f1b, 0x3fd9, 0x6ef0, 0x4023, 0x6ec6, 0x406d, 0x6e9b, 0x40b6, 1054 0x6e70, 0x4100, 0x6e44, 0x414a, 0x6e19, 0x4194, 0x6ded, 0x41de, 0x6dc1, 1055 0x4228, 0x6d94, 0x4271, 0x6d68, 0x42bb, 0x6d3b, 0x4305, 0x6d0d, 0x434f, 1056 0x6ce0, 0x4398, 0x6cb2, 0x43e2, 0x6c84, 0x442c, 0x6c56, 0x4475, 0x6c28, 1057 0x44bf, 0x6bf9, 0x4508, 0x6bca, 0x4552, 0x6b9b, 0x459b, 0x6b6b, 0x45e5, 1058 0x6b3c, 0x462e, 0x6b0c, 0x4678, 0x6adb, 0x46c1, 0x6aab, 0x470a, 0x6a7a, 1059 0x4753, 0x6a49, 0x479c, 0x6a18, 0x47e5, 0x69e7, 0x482e, 0x69b5, 0x4877, 1060 0x6983, 0x48c0, 0x6951, 0x4909, 0x691e, 0x4952, 0x68ec, 0x499b, 0x68b9, 1061 0x49e3, 0x6885, 0x4a2c, 0x6852, 0x4a74, 0x681e, 0x4abd, 0x67ea, 0x4b05, 1062 0x67b6, 0x4b4d, 0x6782, 0x4b95, 0x674d, 0x4bde, 0x6718, 0x4c26, 0x66e3, 1063 0x4c6d, 0x66ae, 0x4cb5, 0x6678, 0x4cfd, 0x6642, 0x4d45, 0x660c, 0x4d8c, 1064 0x65d6, 0x4dd4, 0x659f, 0x4e1b, 0x6568, 0x4e62, 0x6531, 0x4ea9, 0x64fa, 1065 0x4ef0, 0x64c3, 0x4f37, 0x648b, 0x4f7e, 0x6453, 0x4fc5, 0x641b, 0x500b, 1066 0x63e2, 0x5052, 0x63aa, 0x5098, 0x6371, 0x50df, 0x6338, 0x5125, 0x62fe, 1067 0x516b, 0x62c5, 0x51b1, 0x628b, 0x51f6, 0x6251, 0x523c, 0x6217, 0x5281, 1068 0x61dc, 0x52c7, 0x61a2, 0x530c, 0x6167, 0x5351, 0x612c, 0x5396, 0x60f1, 1069 0x53db, 0x60b5, 0x5420, 0x6079, 0x5464, 0x603d, 0x54a9, 0x6001, 0x54ed, 1070 0x5fc5, 0x5531, 0x5f88, 0x5575, 0x5f4b, 0x55b9, 0x5f0e, 0x55fc, 0x5ed1, 1071 0x5640, 0x5e94, 0x5683, 0x5e56, 0x56c7, 0x5e18, 0x570a, 0x5dda, 0x574d, 1072 0x5d9c, 0x578f, 0x5d5e, 0x57d2, 0x5d1f, 0x5814, 0x5ce0, 0x5856, 0x5ca1, 1073 0x5899, 0x5c62, 0x58da, 0x5c23, 0x591c, 0x5be3, 0x595e, 0x5ba4, 0x599f, 1074 0x5b64, 0x59e0, 0x5b24, 0x5a21, 0x5ae3, 0x5a62, 0x5aa3}, 1075 1076 // const WORD16 only_short_window_sine[128] = 1077 {0x00c9, 0x7fff, 0x025b, 0x7ffa, 0x03ed, 0x7ff1, 0x057f, 0x7fe2, 0x0711, 1078 0x7fce, 0x08a2, 0x7fb5, 0x0a33, 0x7f98, 0x0bc4, 0x7f75, 0x0d54, 0x7f4e, 1079 0x0ee4, 0x7f22, 0x1073, 0x7ef0, 0x1201, 0x7eba, 0x138f, 0x7e7f, 0x151c, 1080 0x7e3f, 0x16a8, 0x7dfb, 0x1833, 0x7db1, 0x19be, 0x7d63, 0x1b47, 0x7d0f, 1081 0x1cd0, 0x7cb7, 0x1e57, 0x7c5a, 0x1fdd, 0x7bf9, 0x2162, 0x7b92, 0x22e5, 1082 0x7b27, 0x2467, 0x7ab7, 0x25e8, 0x7a42, 0x2768, 0x79c9, 0x28e5, 0x794a, 1083 0x2a62, 0x78c8, 0x2bdc, 0x7840, 0x2d55, 0x77b4, 0x2ecc, 0x7723, 0x3042, 1084 0x768e, 0x31b5, 0x75f4, 0x3327, 0x7556, 0x3497, 0x74b3, 0x3604, 0x740b, 1085 0x3770, 0x735f, 0x38d9, 0x72af, 0x3a40, 0x71fa, 0x3ba5, 0x7141, 0x3d08, 1086 0x7083, 0x3e68, 0x6fc2, 0x3fc6, 0x6efb, 0x4121, 0x6e31, 0x427a, 0x6d62, 1087 0x43d1, 0x6c8f, 0x4524, 0x6bb8, 0x4675, 0x6add, 0x47c4, 0x69fd, 0x490f, 1088 0x691a, 0x4a58, 0x6832, 0x4b9e, 0x6747, 0x4ce1, 0x6657, 0x4e21, 0x6564, 1089 0x4f5e, 0x646c, 0x5098, 0x6371, 0x51cf, 0x6272, 0x5303, 0x616f, 0x5433, 1090 0x6068, 0x5560, 0x5f5e, 0x568a, 0x5e50, 0x57b1, 0x5d3e, 0x58d4, 0x5c29, 1091 0x59f4, 0x5b10}, 1092 1093 // const WORD16 only_short_window_kbd[128] = 1094 {0x0001, 0x7fff, 0x0004, 0x7fff, 0x0008, 0x7fff, 0x000d, 0x7fff, 0x0014, 1095 0x7fff, 0x001d, 0x7fff, 0x0029, 0x7fff, 0x0039, 0x7fff, 0x004c, 0x7fff, 1096 0x0063, 0x7fff, 0x0080, 0x7fff, 0x00a2, 0x7fff, 0x00cb, 0x7fff, 0x00fb, 1097 0x7fff, 0x0133, 0x7fff, 0x0174, 0x7ffe, 0x01be, 0x7ffd, 0x0214, 0x7ffc, 1098 0x0275, 0x7ffa, 0x02e3, 0x7ff8, 0x035e, 0x7ff5, 0x03e8, 0x7ff1, 0x0481, 1099 0x7fec, 0x052b, 0x7fe5, 0x05e7, 0x7fdd, 0x06b4, 0x7fd3, 0x0795, 0x7fc6, 1100 0x088a, 0x7fb7, 0x0993, 0x7fa4, 0x0ab2, 0x7f8d, 0x0be7, 0x7f72, 0x0d32, 1101 0x7f51, 0x0e95, 0x7f2b, 0x100e, 0x7efd, 0x119f, 0x7ec8, 0x1347, 0x7e8a, 1102 0x1507, 0x7e43, 0x16de, 0x7df1, 0x18cc, 0x7d93, 0x1ad0, 0x7d29, 0x1ceb, 1103 0x7cb1, 0x1f1b, 0x7c2a, 0x215f, 0x7b93, 0x23b7, 0x7aeb, 0x2621, 0x7a30, 1104 0x289c, 0x7963, 0x2b27, 0x7882, 0x2dc0, 0x778b, 0x3066, 0x767f, 0x3318, 1105 0x755c, 0x35d2, 0x7422, 0x3895, 0x72d1, 0x3b5d, 0x7167, 0x3e29, 0x6fe5, 1106 0x40f6, 0x6e4a, 0x43c4, 0x6c97, 0x4690, 0x6acc, 0x4957, 0x68e8, 0x4c18, 1107 0x66ed, 0x4ed2, 0x64da, 0x5182, 0x62b2, 0x5426, 0x6074, 0x56bd, 0x5e22, 1108 0x5945, 0x5bbc}, 1109 1110 // const WORD16 cos_array_2048p[512] and const WORD16 sine_array_2048p[512] 1111 // = 1112 { 1113 32767, 0, 32767, 101, 32767, 201, 32767, 302, 32766, 402, 1114 32764, 503, 32762, 603, 32760, 704, 32758, 804, 32756, 905, 1115 32753, 1005, 32749, 1106, 32746, 1206, 32742, 1307, 32738, 1407, 1116 32733, 1507, 32729, 1608, 32723, 1708, 32718, 1809, 32712, 1909, 1117 32706, 2009, 32700, 2110, 32693, 2210, 32686, 2310, 32679, 2411, 1118 32672, 2511, 32664, 2611, 32656, 2711, 32647, 2811, 32638, 2912, 1119 32629, 3012, 32620, 3112, 32610, 3212, 32600, 3312, 32590, 3412, 1120 32579, 3512, 32568, 3612, 32557, 3712, 32546, 3812, 32534, 3911, 1121 32522, 4011, 32509, 4111, 32496, 4211, 32483, 4310, 32470, 4410, 1122 32456, 4510, 32442, 4609, 32428, 4709, 32413, 4808, 32398, 4908, 1123 32383, 5007, 32368, 5106, 32352, 5206, 32336, 5305, 32319, 5404, 1124 32303, 5503, 32286, 5602, 32268, 5701, 32251, 5800, 32233, 5899, 1125 32214, 5998, 32196, 6097, 32177, 6195, 32158, 6294, 32138, 6393, 1126 32119, 6491, 32099, 6590, 32078, 6688, 32058, 6787, 32037, 6885, 1127 32015, 6983, 31994, 7081, 31972, 7180, 31950, 7278, 31927, 7376, 1128 31904, 7474, 31881, 7571, 31858, 7669, 31834, 7767, 31810, 7864, 1129 31786, 7962, 31761, 8059, 31737, 8157, 31711, 8254, 31686, 8351, 1130 31660, 8449, 31634, 8546, 31608, 8643, 31581, 8740, 31554, 8837, 1131 31527, 8933, 31499, 9030, 31471, 9127, 31443, 9223, 31415, 9320, 1132 31386, 9416, 31357, 9512, 31328, 9608, 31298, 9704, 31268, 9800, 1133 31238, 9896, 31207, 9992, 31177, 10088, 31146, 10183, 31114, 10279, 1134 31082, 10374, 31050, 10469, 31018, 10565, 30986, 10660, 30953, 10755, 1135 30920, 10850, 30886, 10945, 30853, 11039, 30819, 11134, 30784, 11228, 1136 30750, 11323, 30715, 11417, 30680, 11511, 30644, 11605, 30608, 11699, 1137 30572, 11793, 30536, 11887, 30499, 11980, 30462, 12074, 30425, 12167, 1138 30388, 12261, 30350, 12354, 30312, 12447, 30274, 12540, 30235, 12633, 1139 30196, 12725, 30157, 12818, 30118, 12910, 30078, 13003, 30038, 13095, 1140 29997, 13187, 29957, 13279, 29916, 13371, 29875, 13463, 29833, 13554, 1141 29792, 13646, 29750, 13737, 29707, 13828, 29665, 13919, 29622, 14010, 1142 29579, 14101, 29535, 14192, 29492, 14282, 29448, 14373, 29404, 14463, 1143 29359, 14553, 29314, 14643, 29269, 14733, 29224, 14823, 29178, 14912, 1144 29132, 15002, 29086, 15091, 29040, 15180, 28993, 15269, 28946, 15358, 1145 28899, 15447, 28851, 15535, 28803, 15624, 28755, 15712, 28707, 15800, 1146 28658, 15888, 28610, 15976, 28560, 16064, 28511, 16151, 28461, 16239, 1147 28411, 16326, 28361, 16413, 28311, 16500, 28260, 16587, 28209, 16673, 1148 28158, 16760, 28106, 16846, 28054, 16932, 28002, 17018, 27950, 17104, 1149 27897, 17190, 27844, 17275, 27791, 17361, 27738, 17446, 27684, 17531, 1150 27630, 17616, 27576, 17700, 27522, 17785, 27467, 17869, 27412, 17953, 1151 27357, 18037, 27301, 18121, 27246, 18205, 27190, 18288, 27133, 18372, 1152 27077, 18455, 27020, 18538, 26963, 18621, 26906, 18703, 26848, 18786, 1153 26791, 18868, 26733, 18950, 26674, 19032, 26616, 19114, 26557, 19195, 1154 26498, 19277, 26439, 19358, 26379, 19439, 26320, 19520, 26260, 19601, 1155 26199, 19681, 26139, 19761, 26078, 19841, 26017, 19921, 25956, 20001, 1156 25894, 20081, 25833, 20160, 25771, 20239, 25708, 20318, 25646, 20397, 1157 25583, 20475, 25520, 20554, 25457, 20632, 25394, 20710, 25330, 20788, 1158 25266, 20865, 25202, 20943, 25138, 21020, 25073, 21097, 25008, 21174, 1159 24943, 21251, 24878, 21327, 24812, 21403, 24746, 21479, 24680, 21555, 1160 24614, 21631, 24548, 21706, 24481, 21781, 24414, 21856, 24347, 21931, 1161 24280, 22006, 24212, 22080, 24144, 22154, 24076, 22228, 24008, 22302, 1162 23939, 22375, 23870, 22449, 23801, 22522, 23732, 22595, 23663, 22668, 1163 23593, 22740, 23523, 22812, 23453, 22884, 23383, 22956, 23312, 23028, 1164 23241, 23099, 23170, 23170, 1165 }, 1166 1167 // WORD32 w1024[768] 1168 { 1169 1170 0x00007fff, 0xff377fff, 0xfe6e7ffe, 0xfda57ffa, 0xfcdc7ff6, 0xfc137ff1, 1171 0xfb4a7fea, 0xfa817fe2, 0xf9b87fd9, 0xf8ef7fce, 0xf8277fc2, 0xf75e7fb5, 1172 0xf6957fa7, 0xf5cd7f98, 0xf5057f87, 0xf43c7f75, 0xf3747f62, 0xf2ac7f4e, 1173 0xf1e47f38, 0xf11c7f22, 0xf0557f0a, 0xef8d7ef0, 0xeec67ed6, 0xedff7eba, 1174 0xed387e9d, 0xec717e7f, 0xebab7e60, 0xeae47e3f, 0xea1e7e1e, 0xe9587dfb, 1175 0xe8927dd6, 0xe7cd7db1, 0xe7077d8a, 0xe6427d63, 0xe57d7d3a, 0xe4b97d0f, 1176 0xe3f47ce4, 0xe3307cb7, 0xe26d7c89, 0xe1a97c5a, 0xe0e67c2a, 0xe0237bf9, 1177 0xdf617bc6, 0xde9e7b92, 0xdddc7b5d, 0xdd1b7b27, 0xdc597aef, 0xdb997ab7, 1178 0xdad87a7d, 0xda187a42, 0xd9587a06, 0xd89879c9, 0xd7d9798a, 0xd71b794a, 1179 0xd65c790a, 0xd59e78c8, 0xd4e17885, 0xd4247840, 0xd36777fb, 0xd2ab77b4, 1180 0xd1ef776c, 0xd1347723, 0xd07976d9, 0xcfbe768e, 0xcf047642, 0xce4b75f4, 1181 0xcd9275a6, 0xccd97556, 0xcc217505, 0xcb6974b3, 0xcab27460, 0xc9fc740b, 1182 0xc94673b6, 0xc890735f, 0xc7db7308, 0xc72772af, 0xc6737255, 0xc5c071fa, 1183 0xc50d719e, 0xc45b7141, 0xc3a970e3, 0xc2f87083, 0xc2487023, 0xc1986fc2, 1184 0xc0e96f5f, 0xc03a6efb, 0xbf8c6e97, 0xbedf6e31, 0xbe326dca, 0xbd866d62, 1185 0xbcda6cf9, 0xbc2f6c8f, 0xbb856c24, 0xbadc6bb8, 0xba336b4b, 0xb98b6add, 1186 0xb8e36a6e, 0xb83c69fd, 0xb796698c, 0xb6f1691a, 0xb64c68a7, 0xb5a86832, 1187 0xb50567bd, 0xb4626747, 0xb3c066d0, 0xb31f6657, 0xb27f65de, 0xb1df6564, 1188 0xb14064e9, 0xb0a2646c, 0xb00563ef, 0xaf686371, 0xaecc62f2, 0xae316272, 1189 0xad9761f1, 0xacfd616f, 0xac6560ec, 0xabcd6068, 0xab365fe4, 0xaaa05f5e, 1190 0xaa0a5ed7, 0xa9765e50, 0xa8e25dc8, 0xa84f5d3e, 0xa7bd5cb4, 0xa72c5c29, 1191 0xa69c5b9d, 0xa60c5b10, 0xa57e5a82, 0xa4f059f4, 0xa4635964, 0xa3d758d4, 1192 0xa34c5843, 0xa2c257b1, 0xa238571e, 0xa1b0568a, 0xa12955f6, 0xa0a25560, 1193 0xa01c54ca, 0x9f985433, 0x9f14539b, 0x9e915303, 0x9e0f5269, 0x9d8e51cf, 1194 0x9d0e5134, 0x9c8f5098, 0x9c114ffb, 0x9b944f5e, 0x9b174ec0, 0x9a9c4e21, 1195 0x9a224d81, 0x99a94ce1, 0x99304c40, 0x98b94b9e, 0x98434afb, 0x97ce4a58, 1196 0x975949b4, 0x96e6490f, 0x9674486a, 0x960347c4, 0x9592471d, 0x95234675, 1197 0x94b545cd, 0x94484524, 0x93dc447b, 0x937143d1, 0x93074326, 0x929e427a, 1198 0x923641ce, 0x91cf4121, 0x91694074, 0x91053fc6, 0x90a13f17, 0x903e3e68, 1199 0x8fdd3db8, 0x8f7d3d08, 0x8f1d3c57, 0x8ebf3ba5, 0x8e623af3, 0x8e063a40, 1200 0x8dab398d, 0x8d5138d9, 0x8cf83825, 0x8ca13770, 0x8c4a36ba, 0x8bf53604, 1201 0x8ba0354e, 0x8b4d3497, 0x8afb33df, 0x8aaa3327, 0x8a5a326e, 0x8a0c31b5, 1202 0x89be30fc, 0x89723042, 0x89272f87, 0x88dd2ecc, 0x88942e11, 0x884c2d55, 1203 0x88052c99, 0x87c02bdc, 0x877b2b1f, 0x87382a62, 0x86f629a4, 0x86b628e5, 1204 0x86762827, 0x86372768, 0x85fa26a8, 0x85be25e8, 0x85832528, 0x85492467, 1205 0x851123a7, 0x84d922e5, 0x84a32224, 0x846e2162, 0x843a209f, 0x84071fdd, 1206 0x83d61f1a, 0x83a61e57, 0x83771d93, 0x83491cd0, 0x831c1c0c, 0x82f11b47, 1207 0x82c61a83, 0x829d19be, 0x827618f9, 0x824f1833, 0x822a176e, 0x820516a8, 1208 0x81e215e2, 0x81c1151c, 0x81a01455, 0x8181138f, 0x816312c8, 0x81461201, 1209 0x812a113a, 0x81101073, 0x80f60fab, 0x80de0ee4, 0x80c80e1c, 0x80b20d54, 1210 0x809e0c8c, 0x808b0bc4, 0x80790afb, 0x80680a33, 0x8059096b, 0x804b08a2, 1211 0x803e07d9, 0x80320711, 0x80270648, 0x801e057f, 0x801604b6, 0x800f03ed, 1212 0x800a0324, 0x8006025b, 0x80020192, 0x800100c9, 0x80000000, 0x8001ff37, 1213 0x8002fe6e, 0x8006fda5, 0x800afcdc, 0x800ffc13, 0x8016fb4a, 0x801efa81, 1214 0x8027f9b8, 0x8032f8ef, 0x803ef827, 0x804bf75e, 0x8059f695, 0x8068f5cd, 1215 0x8079f505, 0x808bf43c, 0x809ef374, 0x80b2f2ac, 0x80c8f1e4, 0x80def11c, 1216 0x80f6f055, 0x8110ef8d, 0x812aeec6, 0x8146edff, 0x8163ed38, 0x8181ec71, 1217 0x81a0ebab, 0x81c1eae4, 0x81e2ea1e, 0x8205e958, 0x822ae892, 0x824fe7cd, 1218 0x8276e707, 0x829de642, 0x82c6e57d, 0x82f1e4b9, 0x831ce3f4, 0x8349e330, 1219 0x8377e26d, 0x83a6e1a9, 0x83d6e0e6, 0x8407e023, 0x843adf61, 0x846ede9e, 1220 0x84a3dddc, 0x84d9dd1b, 0x8511dc59, 0x8549db99, 0x8583dad8, 0x85beda18, 1221 0x85fad958, 0x8637d898, 0x8676d7d9, 0x86b6d71b, 0x86f6d65c, 0x8738d59e, 1222 0x877bd4e1, 0x87c0d424, 0x8805d367, 0x884cd2ab, 0x8894d1ef, 0x88ddd134, 1223 0x8927d079, 0x8972cfbe, 0x89becf04, 0x8a0cce4b, 0x8a5acd92, 0x8aaaccd9, 1224 0x8afbcc21, 0x8b4dcb69, 0x8ba0cab2, 0x8bf5c9fc, 0x8c4ac946, 0x8ca1c890, 1225 0x8cf8c7db, 0x8d51c727, 0x8dabc673, 0x8e06c5c0, 0x8e62c50d, 0x8ebfc45b, 1226 0x8f1dc3a9, 0x8f7dc2f8, 0x8fddc248, 0x903ec198, 0x90a1c0e9, 0x9105c03a, 1227 0x9169bf8c, 0x91cfbedf, 0x9236be32, 0x929ebd86, 0x9307bcda, 0x9371bc2f, 1228 0x93dcbb85, 0x9448badc, 0x94b5ba33, 0x9523b98b, 0x9592b8e3, 0x9603b83c, 1229 0x9674b796, 0x96e6b6f1, 0x9759b64c, 0x97ceb5a8, 0x9843b505, 0x98b9b462, 1230 0x9930b3c0, 0x99a9b31f, 0x9a22b27f, 0x9a9cb1df, 0x9b17b140, 0x9b94b0a2, 1231 0x9c11b005, 0x9c8faf68, 0x9d0eaecc, 0x9d8eae31, 0x9e0fad97, 0x9e91acfd, 1232 0x9f14ac65, 0x9f98abcd, 0xa01cab36, 0xa0a2aaa0, 0xa129aa0a, 0xa1b0a976, 1233 0xa238a8e2, 0xa2c2a84f, 0xa34ca7bd, 0xa3d7a72c, 0xa463a69c, 0xa4f0a60c, 1234 0xa57ea57e, 0xa60ca4f0, 0xa69ca463, 0xa72ca3d7, 0xa7bda34c, 0xa84fa2c2, 1235 0xa8e2a238, 0xa976a1b0, 0xaa0aa129, 0xaaa0a0a2, 0xab36a01c, 0xabcd9f98, 1236 0xac659f14, 0xacfd9e91, 0xad979e0f, 0xae319d8e, 0xaecc9d0e, 0xaf689c8f, 1237 0xb0059c11, 0xb0a29b94, 0xb1409b17, 0xb1df9a9c, 0xb27f9a22, 0xb31f99a9, 1238 0xb3c09930, 0xb46298b9, 0xb5059843, 0xb5a897ce, 0xb64c9759, 0xb6f196e6, 1239 0xb7969674, 0xb83c9603, 0xb8e39592, 0xb98b9523, 0xba3394b5, 0xbadc9448, 1240 0xbb8593dc, 0xbc2f9371, 0xbcda9307, 0xbd86929e, 0xbe329236, 0xbedf91cf, 1241 0xbf8c9169, 0xc03a9105, 0xc0e990a1, 0xc198903e, 0xc2488fdd, 0xc2f88f7d, 1242 0xc3a98f1d, 0xc45b8ebf, 0xc50d8e62, 0xc5c08e06, 0xc6738dab, 0xc7278d51, 1243 0xc7db8cf8, 0xc8908ca1, 0xc9468c4a, 0xc9fc8bf5, 0xcab28ba0, 0xcb698b4d, 1244 0xcc218afb, 0xccd98aaa, 0xcd928a5a, 0xce4b8a0c, 0xcf0489be, 0xcfbe8972, 1245 0xd0798927, 0xd13488dd, 0xd1ef8894, 0xd2ab884c, 0xd3678805, 0xd42487c0, 1246 0xd4e1877b, 0xd59e8738, 0xd65c86f6, 0xd71b86b6, 0xd7d98676, 0xd8988637, 1247 0xd95885fa, 0xda1885be, 0xdad88583, 0xdb998549, 0xdc598511, 0xdd1b84d9, 1248 0xdddc84a3, 0xde9e846e, 0xdf61843a, 0xe0238407, 0xe0e683d6, 0xe1a983a6, 1249 0xe26d8377, 0xe3308349, 0xe3f4831c, 0xe4b982f1, 0xe57d82c6, 0xe642829d, 1250 0xe7078276, 0xe7cd824f, 0xe892822a, 0xe9588205, 0xea1e81e2, 0xeae481c1, 1251 0xebab81a0, 0xec718181, 0xed388163, 0xedff8146, 0xeec6812a, 0xef8d8110, 1252 0xf05580f6, 0xf11c80de, 0xf1e480c8, 0xf2ac80b2, 0xf374809e, 0xf43c808b, 1253 0xf5058079, 0xf5cd8068, 0xf6958059, 0xf75e804b, 0xf827803e, 0xf8ef8032, 1254 0xf9b88027, 0xfa81801e, 0xfb4a8016, 0xfc13800f, 0xfcdc800a, 0xfda58006, 1255 0xfe6e8002, 0xff378001, 0x00008000, 0x00c98001, 0x01928002, 0x025b8006, 1256 0x0324800a, 0x03ed800f, 0x04b68016, 0x057f801e, 0x06488027, 0x07118032, 1257 0x07d9803e, 0x08a2804b, 0x096b8059, 0x0a338068, 0x0afb8079, 0x0bc4808b, 1258 0x0c8c809e, 0x0d5480b2, 0x0e1c80c8, 0x0ee480de, 0x0fab80f6, 0x10738110, 1259 0x113a812a, 0x12018146, 0x12c88163, 0x138f8181, 0x145581a0, 0x151c81c1, 1260 0x15e281e2, 0x16a88205, 0x176e822a, 0x1833824f, 0x18f98276, 0x19be829d, 1261 0x1a8382c6, 0x1b4782f1, 0x1c0c831c, 0x1cd08349, 0x1d938377, 0x1e5783a6, 1262 0x1f1a83d6, 0x1fdd8407, 0x209f843a, 0x2162846e, 0x222484a3, 0x22e584d9, 1263 0x23a78511, 0x24678549, 0x25288583, 0x25e885be, 0x26a885fa, 0x27688637, 1264 0x28278676, 0x28e586b6, 0x29a486f6, 0x2a628738, 0x2b1f877b, 0x2bdc87c0, 1265 0x2c998805, 0x2d55884c, 0x2e118894, 0x2ecc88dd, 0x2f878927, 0x30428972, 1266 0x30fc89be, 0x31b58a0c, 0x326e8a5a, 0x33278aaa, 0x33df8afb, 0x34978b4d, 1267 0x354e8ba0, 0x36048bf5, 0x36ba8c4a, 0x37708ca1, 0x38258cf8, 0x38d98d51, 1268 0x398d8dab, 0x3a408e06, 0x3af38e62, 0x3ba58ebf, 0x3c578f1d, 0x3d088f7d, 1269 0x3db88fdd, 0x3e68903e, 0x3f1790a1, 0x3fc69105, 0x40749169, 0x412191cf, 1270 0x41ce9236, 0x427a929e, 0x43269307, 0x43d19371, 0x447b93dc, 0x45249448, 1271 0x45cd94b5, 0x46759523, 0x471d9592, 0x47c49603, 0x486a9674, 0x490f96e6, 1272 0x49b49759, 0x4a5897ce, 0x4afb9843, 0x4b9e98b9, 0x4c409930, 0x4ce199a9, 1273 0x4d819a22, 0x4e219a9c, 0x4ec09b17, 0x4f5e9b94, 0x4ffb9c11, 0x50989c8f, 1274 0x51349d0e, 0x51cf9d8e, 0x52699e0f, 0x53039e91, 0x539b9f14, 0x54339f98, 1275 0x54caa01c, 0x5560a0a2, 0x55f6a129, 0x568aa1b0, 0x571ea238, 0x57b1a2c2, 1276 0x5843a34c, 0x58d4a3d7, 0x5964a463, 0x59f4a4f0, 0x5a82a57e, 0x5b10a60c, 1277 0x5b9da69c, 0x5c29a72c, 0x5cb4a7bd, 0x5d3ea84f, 0x5dc8a8e2, 0x5e50a976, 1278 0x5ed7aa0a, 0x5f5eaaa0, 0x5fe4ab36, 0x6068abcd, 0x60ecac65, 0x616facfd, 1279 0x61f1ad97, 0x6272ae31, 0x62f2aecc, 0x6371af68, 0x63efb005, 0x646cb0a2, 1280 0x64e9b140, 0x6564b1df, 0x65deb27f, 0x6657b31f, 0x66d0b3c0, 0x6747b462, 1281 0x67bdb505, 0x6832b5a8, 0x68a7b64c, 0x691ab6f1, 0x698cb796, 0x69fdb83c, 1282 0x6a6eb8e3, 0x6addb98b, 0x6b4bba33, 0x6bb8badc, 0x6c24bb85, 0x6c8fbc2f, 1283 0x6cf9bcda, 0x6d62bd86, 0x6dcabe32, 0x6e31bedf, 0x6e97bf8c, 0x6efbc03a, 1284 0x6f5fc0e9, 0x6fc2c198, 0x7023c248, 0x7083c2f8, 0x70e3c3a9, 0x7141c45b, 1285 0x719ec50d, 0x71fac5c0, 0x7255c673, 0x72afc727, 0x7308c7db, 0x735fc890, 1286 0x73b6c946, 0x740bc9fc, 0x7460cab2, 0x74b3cb69, 0x7505cc21, 0x7556ccd9, 1287 0x75a6cd92, 0x75f4ce4b, 0x7642cf04, 0x768ecfbe, 0x76d9d079, 0x7723d134, 1288 0x776cd1ef, 0x77b4d2ab, 0x77fbd367, 0x7840d424, 0x7885d4e1, 0x78c8d59e, 1289 0x790ad65c, 0x794ad71b, 0x798ad7d9, 0x79c9d898, 0x7a06d958, 0x7a42da18, 1290 0x7a7ddad8, 0x7ab7db99, 0x7aefdc59, 0x7b27dd1b, 0x7b5ddddc, 0x7b92de9e, 1291 0x7bc6df61, 0x7bf9e023, 0x7c2ae0e6, 0x7c5ae1a9, 0x7c89e26d, 0x7cb7e330, 1292 0x7ce4e3f4, 0x7d0fe4b9, 0x7d3ae57d, 0x7d63e642, 0x7d8ae707, 0x7db1e7cd, 1293 0x7dd6e892, 0x7dfbe958, 0x7e1eea1e, 0x7e3feae4, 0x7e60ebab, 0x7e7fec71, 1294 0x7e9ded38, 0x7ebaedff, 0x7ed6eec6, 0x7ef0ef8d, 0x7f0af055, 0x7f22f11c, 1295 0x7f38f1e4, 0x7f4ef2ac, 0x7f62f374, 0x7f75f43c, 0x7f87f505, 0x7f98f5cd, 1296 0x7fa7f695, 0x7fb5f75e, 0x7fc2f827, 0x7fcef8ef, 0x7fd9f9b8, 0x7fe2fa81, 1297 0x7feafb4a, 0x7ff1fc13, 0x7ff6fcdc, 0x7ffafda5, 0x7ffefe6e, 0x7fffff37, 1298 1299 }, 1300 1301 // WORD8 bit_rev_1024[256]= 1302 {0x00, 0x40, 0x80, 0xc0, 0x10, 0x50, 0x90, 0xd0, 0x20, 0x60, 0xa0, 0xe0, 1303 0x30, 0x70, 0xb0, 0xf0, 0x04, 0x44, 0x84, 0xc4, 0x14, 0x54, 0x94, 0xd4, 1304 0x24, 0x64, 0xa4, 0xe4, 0x34, 0x74, 0xb4, 0xf4, 0x08, 0x48, 0x88, 0xc8, 1305 0x18, 0x58, 0x98, 0xd8, 0x28, 0x68, 0xa8, 0xe8, 0x38, 0x78, 0xb8, 0xf8, 1306 0x0c, 0x4c, 0x8c, 0xcc, 0x1c, 0x5c, 0x9c, 0xdc, 0x2c, 0x6c, 0xac, 0xec, 1307 0x3c, 0x7c, 0xbc, 0xfc, 0x01, 0x41, 0x81, 0xc1, 0x11, 0x51, 0x91, 0xd1, 1308 0x21, 0x61, 0xa1, 0xe1, 0x31, 0x71, 0xb1, 0xf1, 0x05, 0x45, 0x85, 0xc5, 1309 0x15, 0x55, 0x95, 0xd5, 0x25, 0x65, 0xa5, 0xe5, 0x35, 0x75, 0xb5, 0xf5, 1310 0x09, 0x49, 0x89, 0xc9, 0x19, 0x59, 0x99, 0xd9, 0x29, 0x69, 0xa9, 0xe9, 1311 0x39, 0x79, 0xb9, 0xf9, 0x0d, 0x4d, 0x8d, 0xcd, 0x1d, 0x5d, 0x9d, 0xdd, 1312 0x2d, 0x6d, 0xad, 0xed, 0x3d, 0x7d, 0xbd, 0xfd, 0x02, 0x42, 0x82, 0xc2, 1313 0x12, 0x52, 0x92, 0xd2, 0x22, 0x62, 0xa2, 0xe2, 0x32, 0x72, 0xb2, 0xf2, 1314 0x06, 0x46, 0x86, 0xc6, 0x16, 0x56, 0x96, 0xd6, 0x26, 0x66, 0xa6, 0xe6, 1315 0x36, 0x76, 0xb6, 0xf6, 0x0a, 0x4a, 0x8a, 0xca, 0x1a, 0x5a, 0x9a, 0xda, 1316 0x2a, 0x6a, 0xaa, 0xea, 0x3a, 0x7a, 0xba, 0xfa, 0x0e, 0x4e, 0x8e, 0xce, 1317 0x1e, 0x5e, 0x9e, 0xde, 0x2e, 0x6e, 0xae, 0xee, 0x3e, 0x7e, 0xbe, 0xfe, 1318 0x03, 0x43, 0x83, 0xc3, 0x13, 0x53, 0x93, 0xd3, 0x23, 0x63, 0xa3, 0xe3, 1319 0x33, 0x73, 0xb3, 0xf3, 0x07, 0x47, 0x87, 0xc7, 0x17, 0x57, 0x97, 0xd7, 1320 0x27, 0x67, 0xa7, 0xe7, 0x37, 0x77, 0xb7, 0xf7, 0x0b, 0x4b, 0x8b, 0xcb, 1321 0x1b, 0x5b, 0x9b, 0xdb, 0x2b, 0x6b, 0xab, 0xeb, 0x3b, 0x7b, 0xbb, 0xfb, 1322 0x0f, 0x4f, 0x8f, 0xcf, 0x1f, 0x5f, 0x9f, 0xdf, 0x2f, 0x6f, 0xaf, 0xef, 1323 0x3f, 0x7f, 0xbf, 0xff}, 1324 1325 // WORD8 bit_rev_512[64]= 1326 {0x00, 0x10, 0x20, 0x30, 0x04, 0x14, 0x24, 0x34, 0x08, 0x18, 0x28, 1327 0x38, 0x0c, 0x1c, 0x2c, 0x3c, 0x01, 0x11, 0x21, 0x31, 0x05, 0x15, 1328 0x25, 0x35, 0x09, 0x19, 0x29, 0x39, 0x0d, 0x1d, 0x2d, 0x3d, 0x02, 1329 0x12, 0x22, 0x32, 0x06, 0x16, 0x26, 0x36, 0x0a, 0x1a, 0x2a, 0x3a, 1330 0x0e, 0x1e, 0x2e, 0x3e, 0x03, 0x13, 0x23, 0x33, 0x07, 0x17, 0x27, 1331 0x37, 0x0b, 0x1b, 0x2b, 0x3b, 0x0f, 0x1f, 0x2f, 0x3f}, 1332 1333 // WORD8 bit_rev_128[16]= 1334 {0x00, 0x04, 0x08, 0x0c, 0x01, 0x05, 0x09, 0x0d, 0x02, 0x06, 0x0a, 0x0e, 1335 0x03, 0x07, 0x0b, 0x0f}, 1336 1337 // WORD8 bit_rev_32[4]= 1338 { 1339 0x00, 0x01, 0x02, 0x03, 1340 }, 1341 // const WORD32 w_256[504] = 1342 { 1343 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 1344 0x03242abf, 0x7ff62182, 0x0647d97c, 0x7fd8878e, 0x096a9049, 0x7fa736b4, 1345 0x0647d97c, 0x7fd8878e, 0x0c8bd35e, 0x7f62368f, 0x12c8106f, 0x7e9d55fc, 1346 0x096a9049, 0x7fa736b4, 0x12c8106f, 0x7e9d55fc, 0x1c0b826b, 0x7ce3ceb2, 1347 0x0c8bd35e, 0x7f62368f, 0x18f8b83c, 0x7d8a5f40, 0x25280c5e, 0x7a7d055b, 1348 0x0fab272b, 0x7f0991c4, 0x1f19f97b, 0x7c29fbee, 0x2e110a62, 0x776c4edb, 1349 0x12c8106f, 0x7e9d55fc, 0x25280c5e, 0x7a7d055b, 0x36ba2014, 0x73b5ebd1, 1350 0x15e21445, 0x7e1d93ea, 0x2b1f34eb, 0x78848414, 0x3f1749b8, 0x6f5f02b2, 1351 0x18f8b83c, 0x7d8a5f40, 0x30fbc54d, 0x7641af3d, 0x471cece7, 0x6a6d98a4, 1352 0x1c0b826b, 0x7ce3ceb2, 0x36ba2014, 0x73b5ebd1, 0x4ebfe8a5, 0x64e88926, 1353 0x1f19f97b, 0x7c29fbee, 0x3c56ba70, 0x70e2cbc6, 0x55f5a4d2, 0x5ed77c8a, 1354 0x2223a4c5, 0x7b5d039e, 0x41ce1e65, 0x6dca0d14, 0x5cb420e0, 0x5842dd54, 1355 0x25280c5e, 0x7a7d055b, 0x471cece7, 0x6a6d98a4, 0x62f201ac, 0x5133cc94, 1356 0x2826b928, 0x798a23b1, 0x4c3fdff4, 0x66cf8120, 0x68a69e81, 0x49b41533, 1357 0x2b1f34eb, 0x78848414, 0x5133cc94, 0x62f201ac, 0x6dca0d15, 0x41ce1e64, 1358 0x2e110a62, 0x776c4edb, 0x55f5a4d2, 0x5ed77c8a, 0x72552c85, 0x398cdd32, 1359 0x30fbc54d, 0x7641af3d, 0x5a82799a, 0x5a82799a, 0x7641af3d, 0x30fbc54d, 1360 0x33def287, 0x7504d345, 0x5ed77c8a, 0x55f5a4d2, 0x798a23b1, 0x2826b928, 1361 0x36ba2014, 0x73b5ebd1, 0x62f201ac, 0x5133cc94, 0x7c29fbee, 0x1f19f97b, 1362 0x398cdd33, 0x72552c85, 0x66cf8120, 0x4c3fdff3, 0x7e1d93ea, 0x15e21444, 1363 0x3c56ba70, 0x70e2cbc6, 0x6a6d98a4, 0x471cece6, 0x7f62368f, 0x0c8bd35e, 1364 0x3f1749b8, 0x6f5f02b2, 0x6dca0d15, 0x41ce1e64, 0x7ff62182, 0x03242abf, 1365 0x41ce1e65, 0x6dca0d14, 0x70e2cbc6, 0x3c56ba70, 0x7fd8878e, 0xf9b82684, 1366 0x447acd51, 0x6c242960, 0x73b5ebd1, 0x36ba2013, 0x7f0991c3, 0xf054d8d5, 1367 0x471cece7, 0x6a6d98a4, 0x7641af3d, 0x30fbc54d, 0x7d8a5f40, 0xe70747c4, 1368 0x49b41534, 0x68a69e81, 0x78848414, 0x2b1f34eb, 0x7b5d039d, 0xdddc5b3b, 1369 0x4c3fdff4, 0x66cf8120, 0x7a7d055b, 0x25280c5d, 0x78848414, 0xd4e0cb15, 1370 0x4ebfe8a5, 0x64e88926, 0x7c29fbee, 0x1f19f97b, 0x7504d345, 0xcc210d79, 1371 0x5133cc94, 0x62f201ac, 0x7d8a5f40, 0x18f8b83c, 0x70e2cbc6, 0xc3a94590, 1372 0x539b2af0, 0x60ec3830, 0x7e9d55fc, 0x12c8106e, 0x6c242960, 0xbb8532b0, 1373 0x55f5a4d2, 0x5ed77c8a, 0x7f62368f, 0x0c8bd35e, 0x66cf811f, 0xb3c0200d, 1374 0x5842dd55, 0x5cb420e0, 0x7fd8878e, 0x0647d97c, 0x60ec3830, 0xac64d511, 1375 0x5a82799a, 0x5a82799a, 0x7fffffff, 0x00000000, 0x5a82799a, 0xa57d8667, 1376 0x5cb420e0, 0x5842dd54, 0x7fd8878e, 0xf9b82684, 0x539b2aef, 0x9f13c7d1, 1377 0x5ed77c8a, 0x55f5a4d2, 0x7f62368f, 0xf3742ca2, 0x4c3fdff3, 0x99307ee1, 1378 0x60ec3830, 0x539b2aef, 0x7e9d55fc, 0xed37ef92, 0x447acd50, 0x93dbd6a0, 1379 0x62f201ac, 0x5133cc94, 0x7d8a5f40, 0xe70747c4, 0x3c56ba6f, 0x8f1d343b, 1380 0x64e88926, 0x4ebfe8a4, 0x7c29fbee, 0xe0e60685, 0x33def287, 0x8afb2cbb, 1381 0x66cf8120, 0x4c3fdff3, 0x7a7d055b, 0xdad7f3a3, 0x2b1f34eb, 0x877b7bed, 1382 0x68a69e81, 0x49b41533, 0x78848414, 0xd4e0cb15, 0x2223a4c5, 0x84a2fc63, 1383 0x6a6d98a4, 0x471cece6, 0x7641af3d, 0xcf043ab3, 0x18f8b83c, 0x8275a0c1, 1384 0x6c242960, 0x447acd50, 0x73b5ebd1, 0xc945dfed, 0x0fab272a, 0x80f66e3d, 1385 0x6dca0d15, 0x41ce1e64, 0x70e2cbc6, 0xc3a94590, 0x0647d97b, 0x80277873, 1386 0x6f5f02b2, 0x3f1749b8, 0x6dca0d14, 0xbe31e19c, 0xfcdbd541, 0x8009de7f, 1387 0x70e2cbc6, 0x3c56ba70, 0x6a6d98a4, 0xb8e3131a, 0xf3742ca2, 0x809dc972, 1388 0x72552c85, 0x398cdd32, 0x66cf811f, 0xb3c0200d, 0xea1debbc, 0x81e26c17, 1389 0x73b5ebd1, 0x36ba2013, 0x62f201ac, 0xaecc336c, 0xe0e60685, 0x83d60413, 1390 0x7504d345, 0x33def287, 0x5ed77c89, 0xaa0a5b2e, 0xd7d946d8, 0x8675dc50, 1391 0x7641af3d, 0x30fbc54d, 0x5a82799a, 0xa57d8667, 0xcf043ab3, 0x89be50c5, 1392 0x776c4edb, 0x2e110a62, 0x55f5a4d2, 0xa1288377, 0xc67322ce, 0x8daad37d, 1393 0x78848414, 0x2b1f34eb, 0x5133cc94, 0x9d0dfe54, 0xbe31e19c, 0x9235f2ed, 1394 0x798a23b1, 0x2826b928, 0x4c3fdff3, 0x99307ee1, 0xb64beacd, 0x97596181, 1395 0x7a7d055b, 0x25280c5d, 0x471cece6, 0x9592675c, 0xaecc336c, 0x9d0dfe55, 1396 0x7b5d039e, 0x2223a4c5, 0x41ce1e64, 0x9235f2ec, 0xa7bd22ac, 0xa34bdf22, 1397 0x7c29fbee, 0x1f19f97b, 0x3c56ba6f, 0x8f1d343b, 0xa1288377, 0xaa0a5b30, 1398 0x7ce3ceb2, 0x1c0b826a, 0x36ba2013, 0x8c4a1430, 0x9b1776da, 0xb140175d, 1399 0x7d8a5f40, 0x18f8b83c, 0x30fbc54d, 0x89be50c4, 0x9592675c, 0xb8e3131b, 1400 0x7e1d93ea, 0x15e21444, 0x2b1f34eb, 0x877b7bed, 0x90a0fd4f, 0xc0e8b64a, 1401 0x7e9d55fc, 0x12c8106e, 0x25280c5d, 0x8582faa6, 0x8c4a1430, 0xc945dfee, 1402 0x7f0991c4, 0x0fab272b, 0x1f19f97a, 0x83d60413, 0x8893b125, 0xd1eef5a0, 1403 0x7f62368f, 0x0c8bd35e, 0x18f8b83c, 0x8275a0c1, 0x8582faa6, 0xdad7f3a5, 1404 0x7fa736b4, 0x096a9049, 0x12c8106e, 0x8162aa05, 0x831c314f, 0xe3f47d98, 1405 0x7fd8878e, 0x0647d97c, 0x0c8bd35d, 0x809dc972, 0x8162aa05, 0xed37ef94, 1406 0x7ff62182, 0x03242abf, 0x0647d97b, 0x80277873, 0x8058c94d, 0xf6956fb9, 1407 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 1408 0x0c8bd35e, 0x7f62368f, 0x18f8b83c, 0x7d8a5f40, 0x25280c5e, 0x7a7d055b, 1409 0x18f8b83c, 0x7d8a5f40, 0x30fbc54d, 0x7641af3d, 0x471cece7, 0x6a6d98a4, 1410 0x25280c5e, 0x7a7d055b, 0x471cece7, 0x6a6d98a4, 0x62f201ac, 0x5133cc94, 1411 0x30fbc54d, 0x7641af3d, 0x5a82799a, 0x5a82799a, 0x7641af3d, 0x30fbc54d, 1412 0x3c56ba70, 0x70e2cbc6, 0x6a6d98a4, 0x471cece6, 0x7f62368f, 0x0c8bd35e, 1413 0x471cece7, 0x6a6d98a4, 0x7641af3d, 0x30fbc54d, 0x7d8a5f40, 0xe70747c4, 1414 0x5133cc94, 0x62f201ac, 0x7d8a5f40, 0x18f8b83c, 0x70e2cbc6, 0xc3a94590, 1415 0x5a82799a, 0x5a82799a, 0x7fffffff, 0x00000000, 0x5a82799a, 0xa57d8667, 1416 0x62f201ac, 0x5133cc94, 0x7d8a5f40, 0xe70747c4, 0x3c56ba6f, 0x8f1d343b, 1417 0x6a6d98a4, 0x471cece6, 0x7641af3d, 0xcf043ab3, 0x18f8b83c, 0x8275a0c1, 1418 0x70e2cbc6, 0x3c56ba70, 0x6a6d98a4, 0xb8e3131a, 0xf3742ca2, 0x809dc972, 1419 0x7641af3d, 0x30fbc54d, 0x5a82799a, 0xa57d8667, 0xcf043ab3, 0x89be50c5, 1420 0x7a7d055b, 0x25280c5d, 0x471cece6, 0x9592675c, 0xaecc336c, 0x9d0dfe55, 1421 0x7d8a5f40, 0x18f8b83c, 0x30fbc54d, 0x89be50c4, 0x9592675c, 0xb8e3131b, 1422 0x7f62368f, 0x0c8bd35e, 0x18f8b83c, 0x8275a0c1, 0x8582faa6, 0xdad7f3a5, 1423 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 1424 0x30fbc54d, 0x7641af3d, 0x5a82799a, 0x5a82799a, 0x7641af3d, 0x30fbc54d, 1425 0x5a82799a, 0x5a82799a, 0x7fffffff, 0x00000000, 0x5a82799a, 0xa57d8667, 1426 0x7641af3d, 0x30fbc54d, 0x5a82799a, 0xa57d8667, 0xcf043ab3, 0x89be50c5, 1427 }, 1428 1429 // WORD32 low_overlap_win[512]; 1430 { 1431 0, 0, 0, 0, 0, 0, 1432 0, 0, 0, 0, 0, 0, 1433 0, 0, 0, 0, 0, 0, 1434 0, 0, 0, 0, 0, 0, 1435 0, 0, 0, 0, 0, 0, 1436 0, 0, 0, 0, 0, 0, 1437 0, 0, 0, 0, 0, 0, 1438 0, 0, 0, 0, 0, 0, 1439 0, 0, 0, 0, 0, 0, 1440 0, 0, 0, 0, 0, 0, 1441 0, 0, 0, 0, 0, 0, 1442 0, 0, 0, 0, 0, 0, 1443 0, 0, 0, 0, 0, 0, 1444 0, 0, 0, 0, 0, 0, 1445 0, 0, 0, 0, 0, 0, 1446 0, 0, 0, 0, 0, 0, 1447 0, 0, 0, 0, 0, 0, 1448 0, 0, 0, 0, 0, 0, 1449 0, 0, 0, 0, 0, 0, 1450 0, 0, 0, 0, 0, 0, 1451 0, 0, 0, 0, 0, 0, 1452 0, 0, 0, 0, 0, 0, 1453 0, 0, 0, 0, 0, 0, 1454 0, 0, 0, 0, 0, 0, 1455 0, 0, 0, 0, 0, 0, 1456 0, 0, 0, 0, 0, 0, 1457 0, 0, 0, 0, 0, 0, 1458 0, 0, 0, 0, 0, 0, 1459 0, 0, 0, 0, 0, 0, 1460 0, 0, 0, 0, 0, 0, 1461 0, 0, 0, 0, 0, 0, 1462 0, 0, 0, 0, 0, 0, 1463 6588355, 19764075, 32936819, 46104602, 59265442, 72417357, 1464 85558366, 98686490, 111799753, 124896178, 137973795, 151030634, 1465 164064728, 177074114, 190056834, 203010932, 215934457, 228825463, 1466 241682009, 254502159, 267283981, 280025551, 292724951, 305380267, 1467 317989594, 330551034, 343062693, 355522688, 367929143, 380280189, 1468 392573967, 404808624, 416982318, 429093217, 441139495, 453119340, 1469 465030947, 476872521, 488642280, 500338452, 511959274, 523502998, 1470 534967883, 546352205, 557654248, 568872310, 580004702, 591049747, 1471 602005783, 612871159, 623644238, 634323399, 644907034, 655393547, 1472 665781361, 676068911, 686254647, 696337035, 706314558, 716185713, 1473 725949012, 735602987, 745146182, 754577161, 763894503, 773096806, 1474 782182683, 791150766, 799999705, 808728167, 817334837, 825818420, 1475 834177638, 842411231, 850517961, 858496605, 866345963, 874064853, 1476 881652112, 889106597, 896427186, 903612776, 910662286, 917574653, 1477 924348836, 930983817, 937478594, 943832191, 950043650, 956112036, 1478 962036435, 967815955, 973449725, 978936897, 984276645, 989468165, 1479 994510674, 999403414, 1004145647, 1008736660, 1013175760, 1017462280, 1480 1021595574, 1025575020, 1029400017, 1033069991, 1036584388, 1039942680, 1481 1043144359, 1046188946, 1049075979, 1051805026, 1054375675, 1056787539, 1482 1059040255, 1061133483, 1063066908, 1064840239, 1066453209, 1067905576, 1483 1069197119, 1070327646, 1071296985, 1072104991, 1072751541, 1073236539, 1484 1073559912, 1073721611, 1073741823, 1073741823, 1073741823, 1073741823, 1485 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1486 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1487 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1488 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1489 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1490 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1491 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1492 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1493 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1494 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1495 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1496 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1497 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1498 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1499 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1500 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1501 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1502 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1503 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1504 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1505 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1506 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1507 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1508 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1509 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1510 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1511 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1512 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1513 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1514 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1515 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1516 1073741823, 1073741823, 1517 }, 1518 // WORD32 window_sine_512[512]; 1519 {1647098, 4941280, 8235415, 11529473, 14823423, 18117232, 1520 21410872, 24704309, 27997515, 31290456, 34583103, 37875425, 1521 41167390, 44458968, 47750127, 51040837, 54331066, 57620784, 1522 60909960, 64198562, 67486560, 70773923, 74060620, 77346619, 1523 80631891, 83916404, 87200127, 90483029, 93765079, 97046247, 1524 100326501, 103605811, 106884146, 110161475, 113437767, 116712991, 1525 119987117, 123260113, 126531950, 129802595, 133072018, 136340189, 1526 139607077, 142872650, 146136879, 149399733, 152661180, 155921190, 1527 159179733, 162436777, 165692293, 168946249, 172198614, 175449359, 1528 178698453, 181945864, 185191563, 188435519, 191677702, 194918080, 1529 198156623, 201393302, 204628084, 207860941, 211091841, 214320755, 1530 217547651, 220772499, 223995270, 227215932, 230434456, 233650810, 1531 236864966, 240076892, 243286558, 246493934, 249698990, 252901696, 1532 256102022, 259299937, 262495411, 265688415, 268878918, 272066890, 1533 275252301, 278435122, 281615322, 284792871, 287967740, 291139898, 1534 294309315, 297475963, 300639811, 303800829, 306958987, 310114256, 1535 313266607, 316416009, 319562432, 322705848, 325846226, 328983537, 1536 332117752, 335248841, 338376774, 341501522, 344623056, 347741346, 1537 350856364, 353968078, 357076461, 360181484, 363283116, 366381328, 1538 369476092, 372567379, 375655158, 378739402, 381820081, 384897167, 1539 387970629, 391040440, 394106570, 397168990, 400227673, 403282588, 1540 406333707, 409381002, 412424443, 415464003, 418499652, 421531362, 1541 424559105, 427582851, 430602573, 433618242, 436629829, 439637307, 1542 442640646, 445639819, 448634798, 451625554, 454612059, 457594286, 1543 460572205, 463545789, 466515010, 469479840, 472440251, 475396215, 1544 478347705, 481294692, 484237149, 487175049, 490108362, 493037063, 1545 495961123, 498880515, 501795211, 504705185, 507610407, 510510852, 1546 513406492, 516297299, 519183247, 522064308, 524940455, 527811662, 1547 530677900, 533539143, 536395365, 539246537, 542092635, 544933629, 1548 547769495, 550600205, 553425732, 556246050, 559061133, 561870953, 1549 564675486, 567474703, 570268578, 573057087, 575840201, 578617895, 1550 581390144, 584156920, 586918197, 589673950, 592424154, 595168781, 1551 597907806, 600641203, 603368947, 606091011, 608807371, 611518001, 1552 614222874, 616921967, 619615253, 622302706, 624984303, 627660016, 1553 630329822, 632993695, 635651611, 638303543, 640949467, 643589358, 1554 646223192, 648850943, 651472587, 654088098, 656697454, 659300628, 1555 661897597, 664488336, 667072820, 669651025, 672222928, 674788503, 1556 677347727, 679900576, 682447025, 684987050, 687520628, 690047735, 1557 692568347, 695082441, 697589992, 700090976, 702585372, 705073154, 1558 707554300, 710028786, 712496590, 714957686, 717412054, 719859669, 1559 722300508, 724734549, 727161768, 729582143, 731995650, 734402268, 1560 736801974, 739194744, 741580557, 743959390, 746331220, 748696026, 1561 751053784, 753404474, 755748072, 758084557, 760413906, 762736098, 1562 765051111, 767358923, 769659512, 771952857, 774238936, 776517727, 1563 778789210, 781053362, 783310163, 785559591, 787801625, 790036244, 1564 792263427, 794483152, 796695400, 798900149, 801097378, 803287068, 1565 805469196, 807643743, 809810688, 811970011, 814121691, 816265708, 1566 818402043, 820530674, 822651582, 824764747, 826870150, 828967769, 1567 831057585, 833139580, 835213733, 837280024, 839338434, 841388945, 1568 843431535, 845466188, 847492882, 849511599, 851522321, 853525027, 1569 855519700, 857506321, 859484870, 861455329, 863417680, 865371905, 1570 867317984, 869255899, 871185633, 873107167, 875020482, 876925562, 1571 878822388, 880710942, 882591207, 884463164, 886326796, 888182086, 1572 890029016, 891867568, 893697726, 895519472, 897332790, 899137661, 1573 900934069, 902721997, 904501429, 906272346, 908034734, 909788575, 1574 911533853, 913270551, 914998653, 916718143, 918429004, 920131220, 1575 921824776, 923509655, 925185842, 926853321, 928512076, 930162091, 1576 931803351, 933435841, 935059545, 936674448, 938280534, 939877789, 1577 941466198, 943045745, 944616416, 946178195, 947731069, 949275023, 1578 950810041, 952336110, 953853216, 955361343, 956860478, 958350607, 1579 959831716, 961303790, 962766816, 964220780, 965665668, 967101468, 1580 968528164, 969945745, 971354195, 972753503, 974143656, 975524639, 1581 976896440, 978259046, 979612445, 980956623, 982291568, 983617267, 1582 984933708, 986240878, 987538766, 988827358, 990106643, 991376609, 1583 992637244, 993888536, 995130473, 996363043, 997586235, 998800037, 1584 1000004439, 1001199428, 1002384993, 1003561124, 1004727808, 1005885036, 1585 1007032796, 1008171077, 1009299869, 1010419161, 1011528943, 1012629204, 1586 1013719933, 1014801121, 1015872757, 1016934832, 1017987335, 1019030256, 1587 1020063585, 1021087314, 1022101431, 1023105928, 1024100795, 1025086023, 1588 1026061603, 1027027525, 1027983780, 1028930359, 1029867253, 1030794455, 1589 1031711953, 1032619741, 1033517810, 1034406151, 1035284755, 1036153615, 1590 1037012722, 1037862069, 1038701647, 1039531448, 1040351464, 1041161689, 1591 1041962114, 1042752731, 1043533533, 1044304514, 1045065665, 1045816979, 1592 1046558450, 1047290070, 1048011833, 1048723731, 1049425759, 1050117909, 1593 1050800175, 1051472550, 1052135028, 1052787603, 1053430269, 1054063020, 1594 1054685850, 1055298752, 1055901722, 1056494753, 1057077839, 1057650977, 1595 1058214159, 1058767381, 1059310637, 1059843923, 1060367233, 1060880562, 1596 1061383906, 1061877260, 1062360620, 1062833979, 1063297335, 1063750683, 1597 1064194019, 1064627337, 1065050636, 1065463909, 1065867154, 1066260366, 1598 1066643543, 1067016680, 1067379774, 1067732821, 1068075818, 1068408762, 1599 1068731650, 1069044478, 1069347245, 1069639946, 1069922579, 1070195142, 1600 1070457631, 1070710046, 1070952382, 1071184638, 1071406811, 1071618900, 1601 1071820903, 1072012817, 1072194641, 1072366373, 1072528012, 1072679556, 1602 1072821003, 1072952352, 1073073602, 1073184752, 1073285801, 1073376748, 1603 1073457591, 1073528331, 1073588967, 1073639497, 1073679922, 1073710241, 1604 1073730454, 1073740560}, 1605 // WORD32 cosine_array_1024[512]; 1606 { 1607 2147483008, 2147432448, 1647099, 14823777, 2147301120, 2147088896, 1608 27999896, 41174960, 2146795776, 2146421888, 54348476, 67519944, 1609 2145967232, 2145431680, 80688872, 93854760, 2144815488, 2144118400, 1610 107017112, 120175440, 2143340672, 2142482304, 133329240, 146478032, 1611 2141543168, 2140523392, 159621296, 172758544, 2139423104, 2138242176, 1612 185889296, 199013056, 2136980864, 2135639040, 212129312, 225237600, 1613 2134216832, 2132714240, 238337392, 251428208, 2131131264, 2129468160, 1614 264509568, 277580960, 2127724928, 2125901568, 290641920, 303691904, 1615 2123998080, 2122014720, 316730496, 329757120, 2119951360, 2117808256, 1616 342771360, 355772672, 2115585408, 2113282944, 368760608, 381734656, 1617 2110900864, 2108439296, 394694336, 407639136, 2105898368, 2103278208, 1618 420568608, 433482240, 2100578816, 2097800320, 446379552, 459260064, 1619 2094942848, 2092006528, 472123296, 484968736, 2088991488, 2085897728, 1620 497795904, 510604352, 2082725376, 2079474688, 523393568, 536163072, 1621 2076145792, 2072738560, 548912384, 561641024, 2069253376, 2065690368, 1622 574348544, 587034432, 2062049536, 2058331008, 599698240, 612339456, 1623 2054535040, 2050661632, 624957632, 637552256, 2046711040, 2042683520, 1624 650122880, 662668992, 2038578944, 2034397696, 675190208, 687685952, 1625 2030139904, 2025805568, 700155840, 712599360, 2021394944, 2016908288, 1626 725016064, 737405504, 2012345728, 2007707392, 749767104, 762100544, 1627 2002993408, 1998204032, 774405248, 786680768, 1993339392, 1988399744, 1628 798926720, 811142592, 1983385216, 1978296064, 823327936, 835482240, 1629 1973132416, 1967894528, 847605120, 859696064, 1962582400, 1957196544, 1630 871754688, 883780416, 1951736832, 1946203776, 895772928, 907731712, 1631 1940597376, 1934918016, 919656256, 931546240, 1929165696, 1923340800, 1632 943401152, 955220544, 1917443456, 1911473920, 967003968, 978750976, 1633 1905432448, 1899319168, 990461120, 1002134016, 1893134464, 1886878464, 1634 1013769152, 1025366080, 1880551424, 1874153600, 1036924480, 1048443776, 1635 1867685120, 1861146496, 1059923648, 1071363584, 1854537600, 1847859072, 1636 1082763264, 1094122112, 1841110784, 1834293376, 1105439744, 1116715776, 1637 1827406720, 1820451328, 1127949696, 1139141248, 1813427456, 1806335232, 1638 1150289920, 1161395200, 1799175040, 1791947136, 1172456832, 1183474304, 1639 1784651776, 1777289216, 1194447232, 1205375104, 1769859712, 1762363520, 1640 1216257664, 1227094400, 1754801024, 1747172480, 1237884928, 1248628992, 1641 1739478144, 1731718400, 1259325824, 1269975424, 1723893376, 1716003456, 1642 1280577152, 1291130624, 1708048896, 1700030080, 1301635584, 1312091392, 1643 1691947136, 1683800704, 1322497920, 1332854656, 1675590656, 1667317632, 1644 1343161088, 1353417088, 1658981888, 1650583680, 1363622016, 1373775744, 1645 1642123264, 1633601024, 1383877632, 1393927424, 1625017216, 1616372352, 1646 1403924864, 1413869312, 1607666560, 1598900352, 1423760512, 1433598208, 1647 1590073856, 1581187456, 1443381888, 1453111296, 1572241536, 1563236480, 1648 1462785920, 1472405376, 1554172544, 1545050112, 1481969536, 1491477888, 1649 1535869440, 1526631040, 1500930048, 1510325760, 1517335040, 1507982080, 1650 1519664512, 1528946048, 1498572160, 1489105920, 1538170112, 1547336192, 1651 1479583616, 1470005632, 1556444032, 1565493376, 1460372352, 1450683904, 1652 1574483712, 1583414656, 1440941056, 1431143808, 1592286080, 1601097600, 1653 1421292672, 1411388032, 1609848832, 1618539392, 1401430400, 1391419904, 1654 1627169024, 1635737344, 1381356928, 1371242112, 1644244224, 1652689152, 1655 1361075584, 1350857728, 1661071744, 1669391872, 1340589184, 1330270080, 1656 1677649152, 1685843328, 1319900928, 1309481984, 1693973888, 1702040832, 1657 1299013760, 1288496768, 1710043648, 1717981952, 1277931136, 1267317376, 1658 1725855744, 1733664512, 1256656000, 1245947264, 1741408000, 1749085824, 1659 1235191680, 1224389504, 1756697984, 1764243840, 1213541248, 1202647296, 1660 1771723392, 1779136128, 1191708032, 1180723968, 1786481920, 1793760512, 1661 1169695488, 1158622848, 1800971520, 1808114816, 1147506688, 1136347264, 1662 1815189888, 1822196736, 1125145088, 1113900544, 1829134848, 1836004224, 1663 1102614144, 1091286144, 1842804480, 1849535232, 1079917056, 1068507264, 1664 1856196480, 1862787712, 1057057344, 1045567552, 1869308928, 1875759744, 1665 1034038400, 1022470400, 1882139904, 1888449152, 1010863808, 999219200, 1666 1894687360, 1900854272, 987536960, 975817536, 1906949632, 1912973056, 1667 964061376, 952268928, 1918924544, 1924803840, 940440640, 928576960, 1668 1930610688, 1936344704, 916678272, 904745088, 1942005888, 1947593984, 1669 892777856, 880777024, 1953108736, 1958549888, 868742976, 856676288, 1670 1963917440, 1969211008, 844577280, 832446528, 1974430336, 1979575424, 1671 820284416, 808091392, 1984645888, 1989641728, 795867968, 783614592, 1672 1994562688, 1999408512, 771331712, 759019776, 2004178944, 2008874112, 1673 746679232, 734310592, 2013493504, 2018037120, 721914368, 709490880, 1674 2022504832, 2026896256, 697040768, 684564352, 2031211520, 2035450240, 1675 672062144, 659534720, 2039612288, 2043697664, 646982400, 634405696, 1676 2047705984, 2051637248, 621805184, 609181184, 2055491328, 2059267840, 1677 596534336, 583864960, 2062967040, 2066588416, 571173632, 558460736, 1678 2070132096, 2073597696, 545726912, 532972480, 2076985344, 2080294784, 1679 520197984, 507403936, 2083525888, 2086678528, 494590752, 481758976, 1680 2089752576, 2092748032, 468909024, 456041440, 2095664640, 2098502400, 1681 443156704, 430255264, 2101261056, 2103940736, 417337632, 404404288, 1682 2106541056, 2109062144, 391455712, 378492384, 2111503872, 2113865984, 1683 365514816, 352523488, 2116148608, 2118351488, 339518912, 326501504, 1684 2120474752, 2122518016, 313471840, 300430368, 2124481408, 2126364928, 1685 287377600, 274313984, 2128168320, 2129891456, 261240048, 248156272, 1686 2131534592, 2133097344, 235063168, 221961200, 2134579840, 2135982080, 1687 208850896, 195732704, 2137303808, 2138545024, 182607152, 169474736, 1688 2139705728, 2140785920, 156335920, 143191232, 2141785472, 2142704384, 1689 130041152, 116886168, 2143542656, 2144300288, 103726792, 90563504, 1690 2144977152, 2145573120, 77396808, 64227204, 2146088448, 2146523008, 1691 51055176, 37881228, 2146876672, 2147149568, 24705852, 11529547, 1692 2147341568, 2147452672, 1693 }, 1694 // const WORD32 low_overlap_win_480[480] 1695 {0, 0, 0, 0, 0, 0, 1696 0, 0, 0, 0, 0, 0, 1697 0, 0, 0, 0, 0, 0, 1698 0, 0, 0, 0, 0, 0, 1699 0, 0, 0, 0, 0, 0, 1700 0, 0, 0, 0, 0, 0, 1701 0, 0, 0, 0, 0, 0, 1702 0, 0, 0, 0, 0, 0, 1703 0, 0, 0, 0, 0, 0, 1704 0, 0, 0, 0, 0, 0, 1705 0, 0, 0, 0, 0, 0, 1706 0, 0, 0, 0, 0, 0, 1707 0, 0, 0, 0, 0, 0, 1708 0, 0, 0, 0, 0, 0, 1709 0, 0, 0, 0, 0, 0, 1710 0, 0, 0, 0, 0, 0, 1711 0, 0, 0, 0, 0, 0, 1712 0, 0, 0, 0, 0, 0, 1713 0, 0, 0, 0, 0, 0, 1714 0, 0, 0, 0, 0, 0, 1715 0, 0, 0, 0, 0, 0, 1716 0, 0, 0, 0, 0, 0, 1717 0, 0, 0, 0, 0, 0, 1718 0, 0, 0, 0, 0, 0, 1719 0, 0, 0, 0, 0, 0, 1720 0, 0, 0, 0, 0, 0, 1721 0, 0, 0, 0, 0, 0, 1722 0, 0, 0, 0, 0, 0, 1723 0, 0, 0, 0, 0, 0, 1724 0, 0, 0, 0, 0, 0, 1725 7027573, 21081516, 35131847, 49176158, 63212044, 77237098, 1726 91248918, 105245103, 119223254, 133180978, 147115881, 161025577, 1727 174907682, 188759818, 202579610, 216364692, 230112700, 243821280, 1728 257488083, 271110766, 284686996, 298214446, 311690798, 325113744, 1729 338480984, 351790226, 365039191, 378225608, 391347219, 404401774, 1730 417387037, 430300783, 443140798, 455904885, 468590854, 481196532, 1731 493719760, 506158392, 518510295, 530773355, 542945470, 555024554, 1732 567008537, 578895366, 590683004, 602369432, 613952647, 625430664, 1733 636801517, 648063257, 659213956, 670251701, 681174602, 691980787, 1734 702668405, 713235624, 723680634, 734001645, 744196888, 754264618, 1735 764203108, 774010655, 783685580, 793226225, 802630954, 811898156, 1736 821026244, 830013654, 838858844, 847560301, 856116533, 864526073, 1737 872787481, 880899342, 888860265, 896668886, 904323868, 911823899, 1738 919167693, 926353993, 933381566, 940249210, 946955747, 953500027, 1739 959880930, 966097363, 972148260, 978032584, 983749328, 989297511, 1740 994676183, 999884422, 1004921336, 1009786063, 1014477767, 1018995646, 1741 1023338926, 1027506861, 1031498739, 1035313874, 1038951614, 1042411335, 1742 1045692444, 1048794379, 1051716608, 1054458631, 1057019978, 1059400211, 1743 1061598920, 1063615730, 1065450295, 1067102300, 1068571463, 1069857532, 1744 1070960286, 1071879537, 1072615126, 1073166929, 1073534850, 1073718826, 1745 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1746 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1747 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1748 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1749 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1750 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1751 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1752 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1753 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1754 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1755 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1756 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1757 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1758 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1759 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1760 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1761 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1762 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1763 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1764 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1765 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1766 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1767 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1768 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1769 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1770 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1771 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1772 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1773 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1774 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823}, 1775 // WORD32 window_sine_480[480]; 1776 {1756905, 5270696, 8784431, 12298072, 15811582, 19324922, 1777 22838055, 26350943, 29863549, 33375836, 36887765, 40399299, 1778 43910400, 47421031, 50931154, 54440732, 57949727, 61458101, 1779 64965817, 68472837, 71979124, 75484640, 78989348, 82493210, 1780 85996188, 89498246, 92999345, 96499448, 99998518, 103496516, 1781 106993407, 110489151, 113983713, 117477053, 120969136, 124459923, 1782 127949377, 131437461, 134924138, 138409369, 141893118, 145375348, 1783 148856021, 152335099, 155812547, 159288325, 162762398, 166234728, 1784 169705277, 173174009, 176640887, 180105873, 183568930, 187030021, 1785 190489109, 193946157, 197401129, 200853986, 204304692, 207753211, 1786 211199504, 214643536, 218085269, 221524666, 224961691, 228396307, 1787 231828477, 235258165, 238685333, 242109944, 245531963, 248951353, 1788 252368076, 255782097, 259193379, 262601885, 266007578, 269410423, 1789 272810383, 276207421, 279601501, 282992587, 286380642, 289765631, 1790 293147516, 296526261, 299901832, 303274190, 306643301, 310009128, 1791 313371635, 316730785, 320086544, 323438875, 326787743, 330133110, 1792 333474943, 336813204, 340147858, 343478869, 346806202, 350129821, 1793 353449690, 356765774, 360078037, 363386445, 366690960, 369991549, 1794 373288175, 376580804, 379869400, 383153928, 386434352, 389710639, 1795 392982751, 396250655, 399514316, 402773698, 406028767, 409279487, 1796 412525825, 415767744, 419005212, 422238191, 425466650, 428690551, 1797 431909862, 435124547, 438334573, 441539904, 444740507, 447936347, 1798 451127389, 454313601, 457494947, 460671394, 463842908, 467009454, 1799 470170999, 473327508, 476478949, 479625287, 482766489, 485902520, 1800 489033348, 492158939, 495279259, 498394275, 501503954, 504608262, 1801 507707166, 510800633, 513888630, 516971123, 520048080, 523119468, 1802 526185253, 529245403, 532299886, 535348668, 538391717, 541429001, 1803 544460486, 547486140, 550505931, 553519827, 556527795, 559529802, 1804 562525818, 565515810, 568499745, 571477593, 574449320, 577414895, 1805 580374287, 583327463, 586274392, 589215043, 592149384, 595077383, 1806 597999010, 600914232, 603823019, 606725340, 609621163, 612510457, 1807 615393193, 618269337, 621138861, 624001732, 626857921, 629707397, 1808 632550130, 635386088, 638215242, 641037560, 643853014, 646661573, 1809 649463207, 652257885, 655045578, 657826256, 660599890, 663366449, 1810 666125903, 668878224, 671623382, 674361348, 677092091, 679815584, 1811 682531796, 685240699, 687942263, 690636460, 693323261, 696002637, 1812 698674559, 701338999, 703995929, 706645319, 709287141, 711921368, 1813 714547970, 717166920, 719778190, 722381752, 724977578, 727565639, 1814 730145909, 732718360, 735282964, 737839694, 740388522, 742929421, 1815 745462364, 747987323, 750504272, 753013184, 755514032, 758006789, 1816 760491428, 762967923, 765436247, 767896374, 770348277, 772791930, 1817 775227308, 777654383, 780073131, 782483524, 784885538, 787279146, 1818 789664323, 792041044, 794409282, 796769013, 799120211, 801462851, 1819 803796908, 806122357, 808439173, 810747332, 813046807, 815337576, 1820 817619614, 819892895, 822157396, 824413092, 826659959, 828897974, 1821 831127111, 833347348, 835558661, 837761025, 839954418, 842138815, 1822 844314194, 846480531, 848637802, 850785986, 852925058, 855054996, 1823 857175777, 859287379, 861389778, 863482952, 865566879, 867641537, 1824 869706903, 871762955, 873809671, 875847029, 877875008, 879893585, 1825 881902740, 883902450, 885892694, 887873451, 889844699, 891806418, 1826 893758587, 895701184, 897634188, 899557580, 901471339, 903375443, 1827 905269873, 907154608, 909029628, 910894913, 912750443, 914596199, 1828 916432160, 918258306, 920074619, 921881079, 923677666, 925464361, 1829 927241145, 929007999, 930764904, 932511841, 934248792, 935975738, 1830 937692661, 939399541, 941096361, 942783103, 944459749, 946126280, 1831 947782678, 949428927, 951065008, 952690904, 954306597, 955912071, 1832 957507308, 959092290, 960667001, 962231424, 963785543, 965329340, 1833 966862800, 968385905, 969898639, 971400986, 972892931, 974374457, 1834 975845548, 977306188, 978756362, 980196055, 981625250, 983043933, 1835 984452089, 985849701, 987236756, 988613239, 989979134, 991334427, 1836 992679104, 994013151, 995336552, 996649294, 997951362, 999242743, 1837 1000523424, 1001793389, 1003052626, 1004301121, 1005538861, 1006765832, 1838 1007982022, 1009187417, 1010382005, 1011565772, 1012738706, 1013900794, 1839 1015052024, 1016192384, 1017321862, 1018440444, 1019548120, 1020644877, 1840 1021730705, 1022805590, 1023869522, 1024922488, 1025964479, 1026995483, 1841 1028015488, 1029024484, 1030022460, 1031009406, 1031985310, 1032950162, 1842 1033903952, 1034846670, 1035778306, 1036698849, 1037608290, 1038506619, 1843 1039393827, 1040269903, 1041134839, 1041988625, 1042831253, 1043662712, 1844 1044482995, 1045292092, 1046089995, 1046876695, 1047652184, 1048416454, 1845 1049169495, 1049911301, 1050641864, 1051361174, 1052069226, 1052766010, 1846 1053451521, 1054125750, 1054788690, 1055440334, 1056080675, 1056709706, 1847 1057327421, 1057933812, 1058528874, 1059112600, 1059684984, 1060246020, 1848 1060795701, 1061334021, 1061860976, 1062376559, 1062880765, 1063373588, 1849 1063855024, 1064325066, 1064783710, 1065230952, 1065666785, 1066091206, 1850 1066504210, 1066905793, 1067295950, 1067674677, 1068041971, 1068397826, 1851 1068742240, 1069075208, 1069396727, 1069706794, 1070005405, 1070292558, 1852 1070568248, 1070832474, 1071085231, 1071326518, 1071556333, 1071774671, 1853 1071981532, 1072176913, 1072360812, 1072533226, 1072694155, 1072843595, 1854 1072981547, 1073108008, 1073222976, 1073326452, 1073418433, 1073498918, 1855 1073567907, 1073625399, 1073671393, 1073705890, 1073728887, 1073740386}, 1856 // UWORD8 re_arr_tab_16[240]; 1857 { 1858 1859 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195, 210, 1860 225, 16, 31, 46, 61, 76, 91, 106, 121, 136, 151, 166, 181, 196, 211, 1861 226, 1, 32, 47, 62, 77, 92, 107, 122, 137, 152, 167, 182, 197, 212, 1862 227, 2, 17, 48, 63, 78, 93, 108, 123, 138, 153, 168, 183, 198, 213, 1863 228, 3, 18, 33, 64, 79, 94, 109, 124, 139, 154, 169, 184, 199, 214, 1864 229, 4, 19, 34, 49, 80, 95, 110, 125, 140, 155, 170, 185, 200, 215, 1865 230, 5, 20, 35, 50, 65, 96, 111, 126, 141, 156, 171, 186, 201, 216, 1866 231, 6, 21, 36, 51, 66, 81, 112, 127, 142, 157, 172, 187, 202, 217, 1867 232, 7, 22, 37, 52, 67, 82, 97, 128, 143, 158, 173, 188, 203, 218, 1868 233, 8, 23, 38, 53, 68, 83, 98, 113, 144, 159, 174, 189, 204, 219, 1869 234, 9, 24, 39, 54, 69, 84, 99, 114, 129, 160, 175, 190, 205, 220, 1870 235, 10, 25, 40, 55, 70, 85, 100, 115, 130, 145, 176, 191, 206, 221, 1871 236, 11, 26, 41, 56, 71, 86, 101, 116, 131, 146, 161, 192, 207, 222, 1872 237, 12, 27, 42, 57, 72, 87, 102, 117, 132, 147, 162, 177, 208, 223, 1873 238, 13, 28, 43, 58, 73, 88, 103, 118, 133, 148, 163, 178, 193, 224, 1874 239, 14, 29, 44, 59, 74, 89, 104, 119, 134, 149, 164, 179, 194, 209}, 1875 // UWORD8 re_arr_tab_sml_240[MDCT_LEN >> 1] = 1876 {0, 160, 80, 96, 16, 176, 192, 112, 32, 48, 208, 128, 144, 64, 224, 1877 225, 145, 65, 81, 1, 161, 177, 97, 17, 33, 193, 113, 129, 49, 209, 1878 210, 130, 50, 66, 226, 146, 162, 82, 2, 18, 178, 98, 114, 34, 194, 1879 195, 115, 35, 51, 211, 131, 147, 67, 227, 3, 163, 83, 99, 19, 179, 1880 180, 100, 20, 36, 196, 116, 132, 52, 212, 228, 148, 68, 84, 4, 164, 1881 165, 85, 5, 21, 181, 101, 117, 37, 197, 213, 133, 53, 69, 229, 149, 1882 150, 70, 230, 6, 166, 86, 102, 22, 182, 198, 118, 38, 54, 214, 134, 1883 135, 55, 215, 231, 151, 71, 87, 7, 167, 183, 103, 23, 39, 199, 119, 1884 120, 40, 200, 216, 136, 56, 72, 232, 152, 168, 88, 8, 24, 184, 104, 1885 105, 25, 185, 201, 121, 41, 57, 217, 137, 153, 73, 233, 9, 169, 89, 1886 90, 10, 170, 186, 106, 26, 42, 202, 122, 138, 58, 218, 234, 154, 74, 1887 75, 235, 155, 171, 91, 11, 27, 187, 107, 123, 43, 203, 219, 139, 59, 1888 60, 220, 140, 156, 76, 236, 12, 172, 92, 108, 28, 188, 204, 124, 44, 1889 45, 205, 125, 141, 61, 221, 237, 157, 77, 93, 13, 173, 189, 109, 29, 1890 30, 190, 110, 126, 46, 206, 222, 142, 62, 78, 238, 158, 174, 94, 14, 1891 15, 175, 95, 111, 31, 191, 207, 127, 47, 63, 223, 143, 159, 79, 239}, 1892 1893 // WORD32 cosine_array_960[480] = 1894 { 1895 2147482880, 2147425408, 1756906, 15812012, 2147275904, 2147034496, 1896 29866440, 43919588, 2146701056, 2146275712, 57970856, 72019640, 1897 2145758336, 2145149056, 86065336, 100107352, 2144447872, 2143654912, 1898 114145072, 128177912, 2142770048, 2141793536, 142205248, 156226512, 1899 2140725120, 2139565056, 170241056, 184248336, 2138313344, 2136969984, 1900 198247712, 212238592, 2135535104, 2134008832, 226220384, 240192480, 1901 2132391040, 2130681984, 254154288, 268105216, 2128881536, 2126990080, 1902 282044640, 295972000, 2125007360, 2122933632, 309886688, 323788096, 1903 2120769024, 2118513536, 337675616, 351548704, 2116167296, 2113730432, 1904 365406720, 379249056, 2111202944, 2108585088, 393075168, 406884448, 1905 2105876864, 2103078528, 420676288, 434450112, 2100189952, 2097211520, 1906 448205344, 461941344, 2094143232, 2090985216, 475657568, 489353408, 1907 2087737600, 2084400640, 503028320, 516681664, 2080974336, 2077458944, 1908 530312864, 543921344, 2073854464, 2070161280, 557506560, 571067840, 1909 2066379264, 2062508800, 584604672, 598116480, 2058550016, 2054503040, 1910 611602688, 625062656, 2050368000, 2046145152, 638495872, 651901696, 1911 2041834752, 2037436800, 665279680, 678629120, 2032951552, 2028379264, 1912 691949440, 705240192, 2023720064, 2018974208, 718500672, 731730432, 1913 2014141824, 2009223168, 744928832, 758095296, 2004218368, 1999127808, 1914 771229312, 784330240, 1993951616, 1988690048, 797397632, 810430848, 1915 1983343232, 1977911424, 823429312, 836392576, 1972394880, 1966793856, 1916 849319936, 862210944, 1961108608, 1955339392, 875065024, 887881600, 1917 1949486464, 1943549824, 900660160, 913400192, 1937530112, 1931427328, 1918 926100992, 938762176, 1925241856, 1918973824, 951383168, 963963392, 1919 1912623616, 1906191616, 976502272, 988999360, 1899677824, 1893082624, 1920 1001454080, 1013865920, 1886406400, 1879649408, 1026234304, 1038558720, 1921 1872811776, 1865894016, 1050838720, 1063073600, 1858896256, 1851819008, 1922 1075262976, 1087406336, 1844662272, 1837426560, 1099503104, 1111552768, 1923 1830112256, 1822719360, 1123554816, 1135508736, 1815248512, 1807699840, 1924 1147414016, 1159270016, 1800073856, 1792370688, 1171076480, 1182832768, 1925 1784590720, 1776734336, 1194538496, 1206192896, 1768801792, 1760793472, 1926 1217795712, 1229346304, 1752709760, 1744551040, 1240844288, 1252289024, 1927 1736317440, 1728009600, 1263680256, 1275017216, 1719627648, 1711172096, 1928 1286299648, 1297526912, 1702643200, 1694041344, 1308698624, 1319814272, 1929 1685367040, 1676620416, 1330873472, 1341875584, 1667801984, 1658912128, 1930 1352820224, 1363706880, 1649951232, 1640919680, 1374535168, 1385304576, 1931 1631817728, 1622646016, 1396014592, 1406664832, 1613404672, 1604094336, 1932 1417254784, 1427784064, 1594715136, 1585267712, 1438252160, 1448658688, 1933 1575752448, 1566169600, 1459003136, 1469285120, 1556519680, 1546803072, 1934 1479504128, 1489659776, 1537020160, 1527171456, 1499751552, 1509779200, 1935 1517257344, 1507278336, 1519742080, 1529639936, 1497234560, 1487126784, 1936 1539472128, 1549238528, 1476955264, 1466720512, 1558938496, 1568571648, 1937 1456422784, 1446062848, 1578137728, 1587636096, 1435640832, 1425157376, 1938 1597066496, 1606428416, 1414612992, 1404007808, 1615721600, 1624945536, 1939 1393342592, 1382617728, 1634099840, 1643184256, 1371833472, 1360990592, 1940 1652198144, 1661141376, 1350089344, 1339130368, 1670013440, 1678813824, 1941 1328113920, 1317040640, 1687542400, 1696198656, 1305910912, 1294725248, 1942 1704782336, 1713292928, 1283484032, 1272188032, 1721730176, 1730093568, 1943 1260837376, 1249432832, 1738382848, 1746597760, 1237974656, 1226463488, 1944 1754737792, 1762802688, 1214899712, 1203283968, 1770792064, 1778705536, 1945 1191616768, 1179898368, 1786542976, 1794303744, 1168129536, 1156310656, 1946 1801987584, 1809594368, 1144442112, 1132524672, 1817123584, 1824574976, 1947 1120558720, 1108544640, 1831948160, 1839243008, 1096483200, 1084374784, 1948 1846458880, 1853595776, 1072219904, 1060019072, 1860653312, 1867630976, 1949 1047772800, 1035481728, 1874528768, 1881346176, 1023146240, 1010766912, 1950 1888083072, 1894739072, 998344320, 985878976, 1901313920, 1907807232, 1951 973371392, 960822080, 1914219008, 1920548608, 948231616, 935600576, 1952 1926796032, 1932960896, 922929408, 910218752, 1939042944, 1945041920, 1953 897469056, 884680960, 1950957568, 1956789632, 871854912, 858991552, 1954 1962537856, 1968202112, 846091392, 833155008, 1973782016, 1979277312, 1955 820182912, 807175680, 1984687872, 1990013440, 794133888, 781058048, 1956 1995253760, 2000408576, 767948800, 754806592, 2005477632, 2010460928, 1957 741632064, 728425792, 2015357952, 2020168832, 715188352, 701920192, 1958 2024893056, 2029530496, 688622016, 675294336, 2034081024, 2038544512, 1959 661937728, 648552768, 2042920576, 2047209216, 635140032, 621700032, 1960 2051410048, 2055523072, 608233472, 594740864, 2059548032, 2063484800, 1961 581222720, 567679680, 2067333120, 2071092864, 554112384, 540521280, 1962 2074763904, 2078346112, 526907072, 513270272, 2081839360, 2085243264, 1963 499611488, 485931296, 2088557952, 2091783168, 472230304, 458509088, 1964 2094918784, 2097964544, 444768224, 431008288, 2100920576, 2103786496, 1965 417229920, 403433664, 2106562432, 2109248000, 389620128, 375789888, 1966 2111843328, 2114348160, 361943552, 348081728, 2116762368, 2119085952, 1967 334204992, 320313920, 2121318656, 2123460608, 306409152, 292491232, 1968 2125511552, 2127471488, 278560800, 264618448, 2129340288, 2131117824, 1969 250664736, 236700304, 2132804096, 2134398976, 222725728, 208741600, 1970 2135902464, 2137314432, 194748544, 180747136, 2138634880, 2139863680, 1971 166737984, 152721696, 2141000832, 2142046208, 138698864, 124670096, 1972 2142999936, 2143861760, 110635984, 96597136, 2144631808, 2145309952, 1973 82554144, 68507616, 2145896320, 2146390656, 54458156, 40406360, 1974 2146793088, 2147103488, 26352836, 12298181, 2147321984, 2147448448, 1975 }, 1976 1977 // WORD32 w_16[24] = 1978 { 1979 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 1980 0x30fbc54d, 0x7641af3d, 0x5a82799a, 0x5a82799a, 0x7641af3d, 0x30fbc54d, 1981 0x5a82799a, 0x5a82799a, 0x7fffffff, 0x00000000, 0x5a82799a, 0xa57d8667, 1982 0x7641af3d, 0x30fbc54d, 0x5a82799a, 0xa57d8667, 0xcf043ab3, 0x89be50c5, 1983 }, 1984 1985 // WORD32 window_sine_480_eld[1920]; 1986 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1998 17, 72, 118, 176, 239, 307, 378, 451, 524, 597, 1999 669, 741, 812, 883, 954, 1024, 1095, 1165, 1235, 1305, 2000 1375, 1444, 1514, 1583, 1652, 1722, 1792, 1863, 1933, 2005, 2001 2077, 2150, 2224, 2299, 2374, 2451, 2529, 2607, 2686, 2766, 2002 2847, 2928, 3009, 3091, 3174, 3256, 3339, 3423, 3507, 3591, 2003 3676, 3760, 3846, 3932, 4018, 4104, 4191, 4278, 4366, 4454, 2004 4542, 4631, 4720, 4809, 4899, 4988, 5078, 5168, 5257, 5347, 2005 5436, 5524, 5613, 5702, 5790, 5878, 5967, 6056, 6144, 6233, 2006 6321, 6410, 6498, 6586, 6673, 6761, 6848, 6934, 7020, 7106, 2007 7192, 7276, 7361, 7445, 7529, 7614, 7698, 7781, 7865, 7947, 2008 8030, 8112, 8193, 8274, 8354, 8434, 8514, 8594, 8673, 8751, 2009 8830, 8908, 8985, 9063, 9139, 9216, 9292, 9367, 9442, 9517, 2010 9621, 9695, 9769, 9842, 9915, 9988, 10060, 10132, 10203, 10274, 2011 10345, 10415, 10485, 10554, 10623, 10691, 10760, 10827, 10895, 10962, 2012 11029, 11095, 11161, 11226, 11291, 11356, 11420, 11484, 11548, 11611, 2013 11674, 11736, 11798, 11859, 11921, 11981, 12042, 12102, 12161, 12220, 2014 12279, 12337, 12395, 12452, 12509, 12565, 12621, 12677, 12732, 12787, 2015 12841, 12895, 12948, 13000, 13053, 13104, 13156, 13206, 13257, 13306, 2016 13356, 13404, 13452, 13500, 13547, 13594, 13639, 13685, 13730, 13774, 2017 13818, 13861, 13904, 13946, 13988, 14029, 14069, 14109, 14148, 14187, 2018 14225, 14263, 14300, 14336, 14372, 14408, 14443, 14477, 14511, 14544, 2019 14577, 14609, 14641, 14673, 14704, 14734, 14764, 14794, 14823, 14852, 2020 14881, 14909, 14938, 14966, 14994, 15021, 15049, 15076, 15104, 15131, 2021 15159, 15186, 15213, 15239, 15265, 15289, 15312, 15333, 15351, 15372, 2022 15382, 15386, 15392, 15398, 15404, 15411, 15418, 15425, 15431, 15438, 2023 15444, 15451, 15458, 15464, 15471, 15478, 15485, 15492, 15499, 15505, 2024 15512, 15519, 15526, 15534, 15541, 15548, 15555, 15562, 15569, 15577, 2025 15584, 15592, 15599, 15606, 15614, 15621, 15629, 15637, 15644, 15652, 2026 15660, 15668, 15675, 15683, 15691, 15699, 15707, 15715, 15723, 15731, 2027 15740, 15748, 15756, 15764, 15773, 15781, 15789, 15798, 15806, 15815, 2028 15824, 15832, 15841, 15849, 15858, 15867, 15876, 15884, 15893, 15902, 2029 15911, 15920, 15929, 15938, 15947, 15956, 15965, 15974, 15983, 15993, 2030 16002, 16011, 16020, 16030, 16039, 16048, 16057, 16067, 16076, 16086, 2031 16095, 16104, 16114, 16123, 16133, 16142, 16152, 16161, 16171, 16181, 2032 16190, 16200, 16209, 16219, 16229, 16238, 16248, 16258, 16267, 16277, 2033 16287, 16296, 16306, 16316, 16326, 16335, 16345, 16355, 16365, 16374, 2034 16394, 16403, 16413, 16423, 16433, 16443, 16452, 16462, 16472, 16482, 2035 16492, 16502, 16511, 16521, 16531, 16541, 16551, 16561, 16570, 16580, 2036 16590, 16600, 16610, 16619, 16629, 16639, 16649, 16659, 16668, 16678, 2037 16688, 16698, 16707, 16717, 16727, 16737, 16746, 16756, 16766, 16775, 2038 16785, 16795, 16804, 16814, 16823, 16833, 16842, 16852, 16861, 16871, 2039 16880, 16890, 16899, 16909, 16918, 16927, 16937, 16946, 16955, 16964, 2040 16974, 16983, 16992, 17001, 17010, 17019, 17028, 17037, 17046, 17055, 2041 17064, 17072, 17081, 17090, 17099, 17107, 17116, 17125, 17133, 17142, 2042 17150, 17159, 17167, 17175, 17184, 17192, 17200, 17209, 17217, 17225, 2043 17233, 17241, 17249, 17257, 17265, 17273, 17281, 17289, 17297, 17305, 2044 17312, 17320, 17328, 17335, 17343, 17351, 17358, 17366, 17373, 17381, 2045 17388, 17396, 17403, 17411, 17418, 17426, 17433, 17440, 17446, 17452, 2046 17454, 17449, 17444, 17437, 17428, 17418, 17407, 17396, 17385, 17374, 2047 17363, 17352, 17340, 17329, 17316, 17304, 17291, 17278, 17264, 17250, 2048 17236, 17221, 17207, 17193, 17179, 17165, 17150, 17136, 17121, 17107, 2049 17091, 17076, 17059, 17042, 17024, 17005, 16986, 16966, 16945, 16923, 2050 16901, 16878, 16855, 16831, 16807, 16783, 16759, 16734, 16709, 16684, 2051 16658, 16633, 16607, 16581, 16554, 16527, 16500, 16471, 16443, 16414, 2052 16384, 16353, 16322, 16290, 16257, 16224, 16190, 16155, 16120, 16085, 2053 16050, 16016, 15981, 15947, 15912, 15878, 15843, 15807, 15771, 15735, 2054 15697, 15659, 15621, 15581, 15542, 15502, 15461, 15421, 15380, 15339, 2055 15299, 15259, 15219, 15180, 15140, 15099, 15058, 15016, 14974, 14931, 2056 14887, 14844, 14800, 14757, 14714, 14671, 14628, 14584, 14541, 14497, 2057 14453, 14408, 14364, 14319, 14274, 14229, 14184, 14139, 14094, 14049, 2058 14004, 13958, 13912, 13865, 13819, 13772, 13725, 13678, 13631, 13584, 2059 13537, 13491, 13444, 13396, 13349, 13301, 13253, 13205, 13156, 13106, 2060 13057, 13008, 12960, 12912, 12864, 12817, 12770, 12723, 12675, 12626, 2061 12576, 12526, 12475, 12424, 12373, 12321, 12270, 12220, 12170, 12120, 2062 12071, 12022, 11974, 11926, 11878, 11829, 11780, 11730, 11679, 11627, 2063 11575, 11521, 11467, 11414, 11360, 11307, 11255, 11203, 11152, 11101, 2064 11051, 11001, 10952, 10903, 10853, 10804, 10755, 10705, 10656, 10605, 2065 10554, 10503, 10450, 10397, 10343, 10289, 10234, 10179, 10124, 10069, 2066 10014, 9960, 9907, 9854, 9803, 9752, 9703, 9654, 9606, 9559, 2067 9513, 9466, 9419, 9371, 9322, 9271, 9219, 9165, 9109, 9053, 2068 8996, 8939, 8883, 8828, 8775, 8723, 8674, 8625, 8578, 8532, 2069 8486, 8440, 8392, 8344, 8295, 8244, 8192, 8140, 8088, 8036, 2070 7983, 7931, 7879, 7829, 7779, 7731, 7682, 7634, 7586, 7537, 2071 7488, 7439, 7390, 7340, 7290, 7241, 7192, 7144, 7096, 7049, 2072 7001, 6953, 6904, 6856, 6807, 6757, 6708, 6659, 6610, 6561, 2073 6513, 6465, 6418, 6370, 6323, 6277, 6230, 6183, 6137, 6090, 2074 6044, 5997, 5951, 5905, 5858, 5812, 5766, 5720, 5674, 5628, 2075 5583, 5537, 5491, 5446, 5401, 5355, 5310, 5265, 5221, 5175, 2076 5130, 5084, 5037, 4991, 4945, 4899, 4853, 4807, 4761, 4716, 2077 4671, 4626, 4581, 4536, 4491, 4447, 4403, 4359, 4315, 4271, 2078 4228, 4185, 4142, 4099, 4056, 4014, 3972, 3929, 3887, 3846, 2079 3804, 3762, 3721, 3680, 3639, 3598, 3558, 3517, 3477, 3437, 2080 3397, 3357, 3318, 3278, 3239, 3199, 3160, 3122, 3083, 3044, 2081 3006, 2967, 2929, 2891, 2853, 2815, 2778, 2741, 2704, 2668, 2082 2620, 2585, 2550, 2515, 2481, 2447, 2413, 2380, 2347, 2314, 2083 2281, 2248, 2215, 2183, 2151, 2119, 2087, 2055, 2024, 1993, 2084 1962, 1931, 1901, 1870, 1840, 1810, 1781, 1751, 1722, 1693, 2085 1664, 1636, 1608, 1579, 1552, 1524, 1497, 1470, 1443, 1416, 2086 1390, 1364, 1338, 1312, 1287, 1261, 1236, 1212, 1187, 1163, 2087 1139, 1115, 1092, 1068, 1045, 1022, 1000, 977, 955, 934, 2088 912, 891, 869, 848, 828, 807, 787, 767, 747, 728, 2089 709, 690, 671, 652, 634, 616, 598, 581, 563, 546, 2090 529, 513, 496, 480, 464, 448, 433, 417, 402, 387, 2091 372, 358, 344, 329, 316, 302, 289, 276, 263, 251, 2092 238, 226, 214, 203, 191, 180, 169, 158, 147, 137, 2093 127, 117, 107, 97, 88, 78, 70, 61, 52, 44, 2094 36, 28, 21, 13, 6, -2, -9, -16, -23, -30, 2095 -37, -43, -49, -55, -60, -65, -69, -73, -78, -81, 2096 -85, -89, -93, -97, -101, -105, -109, -113, -116, -120, 2097 -123, -126, -129, -131, -133, -135, -137, -138, -139, -140, 2098 -141, -142, -143, -143, -144, -144, -145, -145, -146, -146, 2099 -147, -147, -147, -147, -147, -147, -147, -146, -146, -145, 2100 -144, -143, -141, -140, -139, -137, -135, -134, -132, -130, 2101 -129, -127, -125, -123, -122, -120, -118, -116, -114, -111, 2102 -109, -107, -104, -102, -99, -96, -94, -91, -88, -86, 2103 -83, -81, -78, -75, -72, -70, -67, -64, -61, -58, 2104 -55, -52, -49, -46, -44, -41, -38, -35, -32, -29, 2105 -26, -23, -20, -17, -14, -11, -9, -6, -3, 0, 2106 0, 3, 6, 8, 11, 14, 17, 19, 22, 24, 2107 27, 29, 32, 34, 37, 39, 42, 44, 46, 48, 2108 50, 53, 55, 57, 59, 61, 62, 64, 66, 67, 2109 69, 71, 72, 74, 75, 76, 78, 79, 80, 81, 2110 82, 83, 84, 85, 86, 86, 87, 87, 88, 88, 2111 88, 89, 89, 89, 90, 90, 90, 90, 90, 90, 2112 90, 89, 89, 88, 88, 87, 86, 85, 85, 84, 2113 83, 82, 81, 80, 78, 77, 76, 75, 74, 73, 2114 72, 70, 69, 68, 66, 65, 63, 61, 59, 57, 2115 55, 53, 51, 49, 47, 44, 42, 40, 38, 36, 2116 34, 32, 30, 28, 26, 23, 21, 19, 16, 14, 2117 11, 8, 6, 3, 1, -2, -4, -7, -9, -12, 2118 -14, -17, -20, -22, -25, -27, -30, -32, -35, -38, 2119 -40, -43, -45, -48, -50, -53, -55, -58, -60, -63, 2120 -65, -68, -70, -73, -75, -78, -80, -82, -85, -87, 2121 -90, -92, -94, -97, -99, -102, -104, -106, -109, -111, 2122 -113, -116, -118, -121, -123, -125, -128, -130, -133, -135, 2123 -138, -140, -143, -145, -148, -151, -153, -156, -159, -162, 2124 -165, -168, -170, -173, -176, -178, -181, -183, -185, -188, 2125 -190, -192, -194, -196, -197, -199, -201, -202, -204, -205, 2126 -206, -208, -209, -210, -211, -212, -213, -214, -214, -215, 2127 -216, -216, -217, -218, -218, -218, -219, -219, -219, -219, 2128 -219, -219, -220, -219, -219, -219, -219, -219, -218, -218, 2129 -218, -217, -217, -216, -216, -215, -214, -214, -213, -212, 2130 -214, -214, -213, -212, -211, -211, -210, -209, -208, -207, 2131 -206, -204, -203, -202, -201, -199, -198, -196, -195, -193, 2132 -192, -190, -189, -187, -185, -184, -182, -180, -178, -176, 2133 -175, -173, -171, -169, -167, -165, -163, -162, -160, -158, 2134 -156, -154, -152, -150, -149, -147, -145, -143, -142, -140, 2135 -139, -137, -135, -134, -133, -131, -130, -129, -127, -126, 2136 -125, -123, -122, -120, -118, -117, -115, -113, -111, -109, 2137 -107, -105, -103, -100, -98, -96, -94, -91, -89, -87, 2138 -84, -82, -79, -77, -75, -72, -70, -67, -65, -63, 2139 -60, -58, -56, -53, -51, -49, -47, -44, -42, -40, 2140 -38, -36, -34, -32, -30, -28, -26, -25, -23, -21, 2141 -20, -18, -16, -15, -13, -12, -10, -9, -8, -6, 2142 -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 2143 5, 6, 6, 7, 8, 8, 9, 9, 9, 10, 2144 10, 10, 11, 11, 11, 12, 12, 12, 12, 13, 2145 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 2146 12, 12, 12, 12, 11, 11, 11, 11, 11, 10, 2147 10, 10, 10, 9, 9, 9, 9, 8, 8, 8, 2148 8, 7, 7, 7, 6, 6, 6, 6, 5, 5, 2149 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 2150 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2151 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 2152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2156 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2157 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2158 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 2159 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 2160 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 2161 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2162 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2163 6, 6, 5, 5, 5, 5, 5, 5, 4, 4, 2164 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2165 1, 1, 1, 0, 0, 0, -1, -1, -1, -2, 2166 -2, -2, -3, -3, -4, -4, -5, -5, -5, -6, 2167 -6, -7, -7, -7, -8, -8, -9, -9, -10, -10, 2168 -10, -11, -11, -12, -12, -13, -13, -13, -14, -14, 2169 -15, -15, -15, -16, -16, -16, -17, -17, -17, -18, 2170 -18, -18, -19, -19, -19, -19, -20, -20, -20, -20, 2171 -21, -21, -21, -21, -21, -22, -22, -22, -22, -22, 2172 -22, -22, -22, -22, -23, -23, -23, -23, -23, -23, 2173 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 2174 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 2175 -22, -22, -22, -22, -22, -22, -22, -22, -22, -21, 2176 -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, 2177 -19, -19, -19, -19, -19, -18, -18, -18, -18, -17}, 2178 // WORD16 window_sine_512_eld[2048]; 2179 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2191 0, 0, 0, 0, 0, 0, 0, 0, 56, 93, 2192 139, 192, 251, 314, 380, 447, 515, 583, 651, 718, 2193 784, 849, 914, 979, 1044, 1109, 1174, 1239, 1304, 1368, 2194 1433, 1498, 1563, 1628, 1693, 1758, 1824, 1890, 1956, 2022, 2195 2090, 2157, 2226, 2295, 2365, 2436, 2508, 2580, 2653, 2727, 2196 2802, 2877, 2952, 3029, 3105, 3182, 3260, 3338, 3416, 3494, 2197 3573, 3652, 3731, 3811, 3891, 3971, 4052, 4133, 4214, 4296, 2198 4378, 4460, 4542, 4625, 4708, 4791, 4874, 4957, 5041, 5125, 2199 5209, 5293, 5377, 5460, 5544, 5627, 5710, 5794, 5877, 5960, 2200 6042, 6125, 6208, 6291, 6373, 6456, 6538, 6620, 6702, 6784, 2201 6865, 6947, 7028, 7108, 7189, 7269, 7349, 7428, 7507, 7586, 2202 7665, 7743, 7821, 7899, 7976, 8054, 8131, 8207, 8283, 8359, 2203 8434, 8510, 8584, 8659, 8733, 8807, 8880, 8953, 9026, 9099, 2204 9171, 9243, 9314, 9385, 9456, 9526, 9583, 9653, 9723, 9792, 2205 9860, 9929, 9997, 10064, 10132, 10199, 10265, 10331, 10397, 10463, 2206 10528, 10593, 10657, 10721, 10785, 10849, 10912, 10974, 11037, 11099, 2207 11161, 11222, 11283, 11344, 11404, 11464, 11524, 11583, 11642, 11701, 2208 11759, 11817, 11875, 11932, 11989, 12045, 12102, 12157, 12213, 12268, 2209 12322, 12377, 12431, 12484, 12537, 12590, 12642, 12694, 12746, 12797, 2210 12848, 12898, 12948, 12997, 13046, 13095, 13143, 13191, 13238, 13285, 2211 13331, 13377, 13422, 13467, 13512, 13556, 13599, 13642, 13685, 13727, 2212 13769, 13810, 13850, 13891, 13930, 13969, 14008, 14046, 14084, 14121, 2213 14158, 14194, 14230, 14265, 14300, 14334, 14368, 14401, 14434, 14466, 2214 14498, 14530, 14561, 14591, 14621, 14651, 14680, 14709, 14738, 14766, 2215 14794, 14821, 14849, 14876, 14902, 14929, 14955, 14981, 15007, 15033, 2216 15059, 15085, 15111, 15137, 15162, 15188, 15213, 15238, 15262, 15285, 2217 15307, 15327, 15345, 15361, 15384, 15388, 15394, 15400, 15406, 15412, 2218 15418, 15425, 15431, 15437, 15443, 15449, 15456, 15462, 15468, 15475, 2219 15481, 15487, 15494, 15500, 15507, 15513, 15520, 15526, 15533, 15540, 2220 15546, 15553, 15560, 15567, 15574, 15580, 15587, 15594, 15601, 15608, 2221 15615, 15622, 15630, 15637, 15644, 15651, 15658, 15666, 15673, 15680, 2222 15688, 15695, 15703, 15710, 15718, 15725, 15733, 15741, 15748, 15756, 2223 15764, 15772, 15780, 15787, 15795, 15803, 15811, 15819, 15827, 15835, 2224 15843, 15852, 15860, 15868, 15876, 15884, 15893, 15901, 15909, 15918, 2225 15926, 15935, 15943, 15952, 15960, 15969, 15977, 15986, 15994, 16003, 2226 16012, 16020, 16029, 16038, 16046, 16055, 16064, 16073, 16081, 16090, 2227 16099, 16108, 16117, 16126, 16135, 16144, 16152, 16161, 16170, 16179, 2228 16188, 16197, 16206, 16215, 16224, 16233, 16242, 16251, 16261, 16270, 2229 16279, 16288, 16297, 16306, 16315, 16324, 16334, 16343, 16352, 16361, 2230 16370, 16379, 16389, 16398, 16407, 16416, 16425, 16435, 16444, 16453, 2231 16462, 16472, 16481, 16490, 16499, 16508, 16518, 16527, 16536, 16545, 2232 16554, 16564, 16573, 16582, 16591, 16600, 16610, 16619, 16628, 16637, 2233 16646, 16656, 16665, 16674, 16683, 16692, 16701, 16710, 16720, 16729, 2234 16738, 16747, 16756, 16765, 16774, 16783, 16792, 16801, 16810, 16819, 2235 16828, 16837, 16846, 16855, 16864, 16873, 16882, 16890, 16899, 16908, 2236 16917, 16926, 16934, 16943, 16952, 16960, 16969, 16978, 16986, 16995, 2237 17003, 17012, 17020, 17029, 17037, 17045, 17054, 17062, 17070, 17078, 2238 17087, 17095, 17103, 17111, 17119, 17127, 17135, 17143, 17151, 17159, 2239 17167, 17175, 17183, 17191, 17198, 17206, 17214, 17221, 17229, 17237, 2240 17244, 17252, 17259, 17267, 17274, 17282, 17289, 17296, 17304, 17311, 2241 17318, 17325, 17333, 17340, 17347, 17354, 17361, 17368, 17375, 17382, 2242 17389, 17396, 17403, 17410, 17417, 17424, 17431, 17438, 17444, 17449, 2243 17446, 17444, 17440, 17434, 17426, 17417, 17408, 17398, 17388, 17377, 2244 17367, 17357, 17347, 17336, 17326, 17315, 17303, 17292, 17280, 17267, 2245 17254, 17241, 17228, 17215, 17202, 17188, 17175, 17162, 17149, 17135, 2246 17122, 17108, 17094, 17080, 17065, 17049, 17033, 17016, 16999, 16980, 2247 16962, 16942, 16922, 16901, 16880, 16858, 16836, 16814, 16792, 16769, 2248 16746, 16723, 16699, 16676, 16652, 16628, 16604, 16579, 16555, 16529, 2249 16504, 16478, 16451, 16424, 16397, 16368, 16340, 16310, 16280, 16249, 2250 16218, 16186, 16154, 16121, 16088, 16055, 16023, 15990, 15958, 15926, 2251 15894, 15861, 15828, 15795, 15761, 15727, 15692, 15656, 15620, 15583, 2252 15546, 15508, 15471, 15433, 15395, 15357, 15319, 15281, 15244, 15207, 2253 15169, 15132, 15094, 15055, 15016, 14976, 14936, 14895, 14855, 14814, 2254 14773, 14733, 14692, 14652, 14611, 14570, 14530, 14488, 14447, 14406, 2255 14364, 14322, 14280, 14238, 14195, 14153, 14111, 14068, 14025, 13983, 2256 13940, 13897, 13854, 13810, 13767, 13723, 13680, 13636, 13593, 13549, 2257 13505, 13462, 13418, 13374, 13330, 13286, 13241, 13195, 13150, 13104, 2258 13058, 13013, 12968, 12923, 12879, 12835, 12792, 12748, 12703, 12658, 2259 12612, 12565, 12518, 12471, 12423, 12376, 12328, 12281, 12233, 12187, 2260 12140, 12095, 12049, 12004, 11959, 11915, 11870, 11825, 11779, 11732, 2261 11684, 11635, 11586, 11536, 11486, 11435, 11385, 11336, 11287, 11239, 2262 11191, 11143, 11096, 11050, 11003, 10957, 10911, 10865, 10819, 10773, 2263 10727, 10680, 10633, 10585, 10537, 10488, 10439, 10389, 10338, 10287, 2264 10236, 10184, 10133, 10081, 10030, 9979, 9929, 9880, 9832, 9784, 2265 9737, 9691, 9646, 9602, 9558, 9514, 9470, 9426, 9381, 9334, 2266 9286, 9237, 9186, 9134, 9081, 9028, 8974, 8921, 8869, 8818, 2267 8769, 8721, 8675, 8630, 8586, 8542, 8499, 8455, 8410, 8365, 2268 8318, 8270, 8222, 8173, 8124, 8074, 8026, 7976, 7926, 7878, 2269 7831, 7784, 7738, 7693, 7647, 7602, 7556, 7509, 7463, 7416, 2270 7369, 7322, 7275, 7228, 7182, 7137, 7091, 7046, 7001, 6955, 2271 6909, 6863, 6817, 6770, 6723, 6676, 6629, 6583, 6537, 6491, 2272 6446, 6401, 6356, 6311, 6267, 6222, 6178, 6133, 6089, 6045, 2273 6000, 5956, 5912, 5868, 5824, 5780, 5736, 5692, 5648, 5604, 2274 5560, 5516, 5473, 5429, 5386, 5343, 5300, 5257, 5214, 5171, 2275 5128, 5085, 5043, 5000, 4958, 4915, 4873, 4831, 4789, 4747, 2276 4705, 4664, 4622, 4581, 4539, 4498, 4457, 4416, 4375, 4334, 2277 4293, 4253, 4212, 4172, 4132, 4092, 4052, 4012, 3972, 3933, 2278 3893, 3854, 3815, 3776, 3737, 3699, 3660, 3622, 3583, 3545, 2279 3507, 3469, 3432, 3394, 3357, 3319, 3282, 3245, 3208, 3171, 2280 3135, 3098, 3062, 3025, 2989, 2953, 2917, 2881, 2846, 2810, 2281 2775, 2740, 2706, 2671, 2638, 2604, 2572, 2539, 2507, 2475, 2282 2443, 2411, 2380, 2349, 2318, 2287, 2256, 2226, 2195, 2165, 2283 2135, 2105, 2075, 2046, 2016, 1987, 1958, 1929, 1901, 1872, 2284 1844, 1816, 1788, 1760, 1733, 1706, 1679, 1652, 1625, 1599, 2285 1572, 1546, 1521, 1495, 1470, 1444, 1419, 1395, 1370, 1346, 2286 1322, 1298, 1274, 1250, 1227, 1204, 1181, 1158, 1136, 1114, 2287 1092, 1070, 1048, 1027, 1005, 984, 964, 943, 923, 903, 2288 883, 863, 843, 824, 805, 786, 767, 749, 730, 712, 2289 694, 677, 659, 642, 625, 608, 592, 575, 559, 543, 2290 527, 512, 496, 481, 466, 451, 436, 422, 408, 394, 2291 380, 366, 352, 339, 326, 313, 301, 288, 276, 264, 2292 252, 241, 229, 218, 207, 196, 185, 175, 165, 155, 2293 145, 135, 125, 116, 107, 98, 89, 80, 72, 63, 2294 55, 48, 40, 33, 25, 18, 11, 4, -3, -9, 2295 -16, -23, -29, -35, -41, -47, -53, -58, -62, -67, 2296 -71, -75, -79, -82, -86, -89, -93, -97, -101, -104, 2297 -108, -112, -115, -118, -122, -125, -127, -130, -132, -134, 2298 -136, -137, -138, -139, -140, -141, -142, -143, -143, -144, 2299 -144, -145, -145, -146, -146, -146, -147, -147, -147, -147, 2300 -147, -147, -147, -146, -146, -145, -144, -143, -142, -141, 2301 -140, -138, -137, -135, -134, -132, -130, -129, -127, -126, 2302 -124, -122, -121, -119, -117, -115, -113, -111, -109, -106, 2303 -104, -102, -99, -97, -94, -92, -89, -87, -85, -82, 2304 -80, -77, -74, -72, -69, -67, -64, -61, -59, -56, 2305 -53, -50, -48, -45, -42, -39, -37, -34, -31, -28, 2306 -26, -23, -20, -17, -15, -12, -9, -7, -4, -1, 2307 1, 4, 7, 9, 12, 14, 17, 19, 22, 24, 2308 27, 29, 31, 34, 36, 38, 40, 43, 45, 47, 2309 49, 51, 53, 55, 57, 59, 60, 62, 64, 65, 2310 67, 69, 70, 71, 73, 74, 76, 77, 78, 79, 2311 81, 82, 83, 84, 84, 85, 86, 86, 87, 88, 2312 88, 88, 89, 89, 89, 90, 90, 90, 90, 91, 2313 91, 91, 91, 90, 90, 90, 89, 89, 88, 88, 2314 87, 86, 85, 84, 83, 83, 82, 81, 80, 79, 2315 78, 77, 75, 74, 73, 72, 71, 70, 68, 67, 2316 66, 64, 62, 61, 59, 57, 55, 53, 51, 49, 2317 47, 44, 42, 40, 38, 36, 34, 33, 31, 29, 2318 27, 25, 23, 20, 18, 16, 13, 11, 8, 6, 2319 3, 1, -1, -4, -6, -9, -11, -13, -16, -18, 2320 -21, -23, -25, -28, -30, -33, -35, -38, -40, -43, 2321 -45, -47, -50, -52, -55, -57, -59, -62, -64, -66, 2322 -69, -71, -73, -76, -78, -80, -83, -85, -87, -89, 2323 -92, -94, -96, -99, -101, -103, -105, -107, -110, -112, 2324 -114, -116, -119, -121, -123, -125, -128, -130, -132, -135, 2325 -137, -139, -142, -144, -146, -149, -151, -154, -156, -159, 2326 -162, -164, -167, -170, -172, -175, -178, -180, -182, -185, 2327 -187, -189, -191, -193, -195, -197, -199, -201, -202, -204, 2328 -205, -207, -208, -209, -210, -211, -213, -214, -214, -215, 2329 -216, -217, -218, -219, -219, -220, -220, -221, -221, -222, 2330 -222, -222, -222, -223, -223, -223, -223, -223, -223, -223, 2331 -223, -222, -222, -222, -222, -221, -221, -220, -220, -219, 2332 -219, -218, -217, -217, -216, -215, -215, -214, -213, -213, 2333 -212, -211, -210, -210, -209, -208, -207, -206, -205, -204, 2334 -202, -201, -200, -199, -197, -196, -195, -193, -192, -190, 2335 -189, -187, -185, -184, -182, -181, -179, -177, -176, -174, 2336 -172, -170, -169, -167, -165, -163, -162, -160, -158, -156, 2337 -154, -153, -151, -149, -148, -146, -144, -143, -141, -140, 2338 -138, -137, -135, -134, -133, -131, -130, -129, -128, -127, 2339 -125, -124, -123, -121, -120, -118, -116, -115, -113, -111, 2340 -109, -107, -105, -103, -101, -99, -97, -95, -93, -91, 2341 -88, -86, -84, -82, -79, -77, -75, -73, -70, -68, 2342 -66, -64, -61, -59, -57, -55, -53, -51, -49, -46, 2343 -44, -42, -40, -39, -37, -35, -33, -31, -29, -28, 2344 -26, -24, -22, -21, -19, -18, -16, -15, -13, -12, 2345 -11, -9, -8, -7, -6, -5, -4, -3, -2, -1, 2346 0, 1, 2, 3, 4, 5, 5, 6, 7, 7, 2347 8, 8, 9, 9, 10, 10, 10, 10, 11, 11, 2348 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 2349 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 2350 12, 12, 11, 11, 11, 11, 11, 10, 10, 10, 2351 10, 9, 9, 9, 9, 9, 8, 8, 8, 7, 2352 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 2353 5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2354 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2355 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2356 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2360 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2361 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2362 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2363 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 2364 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 2365 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2366 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2367 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2368 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 2369 4, 4, 3, 3, 3, 3, 2, 2, 2, 1, 2370 1, 1, 0, 0, 0, -1, -1, -1, -2, -2, 2371 -2, -3, -3, -3, -4, -4, -5, -5, -5, -6, 2372 -6, -7, -7, -7, -8, -8, -9, -9, -9, -10, 2373 -10, -11, -11, -11, -12, -12, -13, -13, -13, -14, 2374 -14, -14, -15, -15, -16, -16, -16, -17, -17, -17, 2375 -18, -18, -18, -18, -19, -19, -19, -19, -20, -20, 2376 -20, -20, -21, -21, -21, -21, -21, -22, -22, -22, 2377 -22, -22, -22, -22, -22, -23, -23, -23, -23, -23, 2378 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 2379 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 2380 -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, 2381 -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, 2382 -21, -21, -21, -20, -20, -20, -20, -20, -20, -19, 2383 -19, -19, -19, -18, -18, -18, -18, -18}, 2384 2385 // const WORD16 only_long_window_sine_960[960] = 2386 { 2387 0x001B, 0x7FFF, 0x0050, 0x7FFF, 0x0086, 0x7FFF, 0x00BC, 0x7FFE, 0x00F1, 0x7FFE, 2388 0x0127, 0x7FFE, 0x015C, 0x7FFD, 0x0192, 0x7FFD, 0x01C8, 0x7FFC, 0x01FD, 0x7FFB, 2389 0x0233, 0x7FFA, 0x0269, 0x7FF9, 0x029E, 0x7FF8, 0x02D4, 0x7FF7, 0x0309, 0x7FF6, 2390 0x033F, 0x7FF4, 0x0375, 0x7FF3, 0x03AA, 0x7FF2, 0x03E0, 0x7FF0, 0x0415, 0x7FEE, 2391 0x044B, 0x7FED, 0x0480, 0x7FEB, 0x04B6, 0x7FE9, 0x04EC, 0x7FE7, 0x0521, 0x7FE5, 2392 0x0557, 0x7FE2, 0x058C, 0x7FE0, 0x05C2, 0x7FDE, 0x05F7, 0x7FDB, 0x062D, 0x7FD9, 2393 0x0663, 0x7FD6, 0x0698, 0x7FD3, 0x06CE, 0x7FD1, 0x0703, 0x7FCE, 0x0739, 0x7FCB, 2394 0x076E, 0x7FC8, 0x07A4, 0x7FC5, 0x07D9, 0x7FC1, 0x080F, 0x7FBE, 0x0844, 0x7FBB, 2395 0x087A, 0x7FB7, 0x08AF, 0x7FB3, 0x08E5, 0x7FB0, 0x091A, 0x7FAC, 0x0950, 0x7FA8, 2396 0x0985, 0x7FA4, 0x09BB, 0x7FA0, 0x09F0, 0x7F9C, 0x0A26, 0x7F98, 0x0A5B, 0x7F94, 2397 0x0A90, 0x7F8F, 0x0AC6, 0x7F8B, 0x0AFB, 0x7F86, 0x0B31, 0x7F82, 0x0B66, 0x7F7D, 2398 0x0B9C, 0x7F78, 0x0BD1, 0x7F73, 0x0C06, 0x7F6E, 0x0C3C, 0x7F69, 0x0C71, 0x7F64, 2399 0x0CA6, 0x7F5F, 0x0CDC, 0x7F59, 0x0D11, 0x7F54, 0x0D46, 0x7F4E, 0x0D7C, 0x7F49, 2400 0x0DB1, 0x7F43, 0x0DE6, 0x7F3D, 0x0E1C, 0x7F37, 0x0E51, 0x7F31, 0x0E86, 0x7F2B, 2401 0x0EBB, 0x7F25, 0x0EF1, 0x7F1F, 0x0F26, 0x7F19, 0x0F5B, 0x7F12, 0x0F90, 0x7F0C, 2402 0x0FC6, 0x7F05, 0x0FFB, 0x7EFF, 0x1030, 0x7EF8, 0x1065, 0x7EF1, 0x109A, 0x7EEA, 2403 0x10D0, 0x7EE3, 0x1105, 0x7EDC, 0x113A, 0x7ED5, 0x116F, 0x7ECE, 0x11A4, 0x7EC6, 2404 0x11D9, 0x7EBF, 0x120E, 0x7EB7, 0x1243, 0x7EB0, 0x1278, 0x7EA8, 0x12AD, 0x7EA0, 2405 0x12E2, 0x7E98, 0x1317, 0x7E90, 0x134C, 0x7E88, 0x1381, 0x7E80, 0x13B6, 0x7E78, 2406 0x13EB, 0x7E70, 0x1420, 0x7E67, 0x1455, 0x7E5F, 0x148A, 0x7E56, 0x14BF, 0x7E4E, 2407 0x14F4, 0x7E45, 0x1529, 0x7E3C, 0x155E, 0x7E33, 0x1593, 0x7E2A, 0x15C7, 0x7E21, 2408 0x15FC, 0x7E18, 0x1631, 0x7E0F, 0x1666, 0x7E05, 0x169B, 0x7DFC, 0x16CF, 0x7DF2, 2409 0x1704, 0x7DE9, 0x1739, 0x7DDF, 0x176E, 0x7DD5, 0x17A2, 0x7DCC, 0x17D7, 0x7DC2, 2410 0x180C, 0x7DB8, 0x1840, 0x7DAD, 0x1875, 0x7DA3, 0x18AA, 0x7D99, 0x18DE, 0x7D8F, 2411 0x1913, 0x7D84, 0x1947, 0x7D7A, 0x197C, 0x7D6F, 0x19B0, 0x7D64, 0x19E5, 0x7D59, 2412 0x1A19, 0x7D4F, 0x1A4E, 0x7D44, 0x1A82, 0x7D39, 0x1AB7, 0x7D2D, 0x1AEB, 0x7D22, 2413 0x1B20, 0x7D17, 0x1B54, 0x7D0B, 0x1B88, 0x7D00, 0x1BBD, 0x7CF4, 0x1BF1, 0x7CE9, 2414 0x1C25, 0x7CDD, 0x1C5A, 0x7CD1, 0x1C8E, 0x7CC5, 0x1CC2, 0x7CB9, 0x1CF6, 0x7CAD, 2415 0x1D2B, 0x7CA1, 0x1D5F, 0x7C95, 0x1D93, 0x7C88, 0x1DC7, 0x7C7C, 0x1DFB, 0x7C6F, 2416 0x1E2F, 0x7C63, 0x1E64, 0x7C56, 0x1E98, 0x7C49, 0x1ECC, 0x7C3C, 0x1F00, 0x7C30, 2417 0x1F34, 0x7C22, 0x1F68, 0x7C15, 0x1F9C, 0x7C08, 0x1FD0, 0x7BFB, 0x2004, 0x7BEE, 2418 0x2037, 0x7BE0, 0x206B, 0x7BD3, 0x209F, 0x7BC5, 0x20D3, 0x7BB7, 0x2107, 0x7BA9, 2419 0x213B, 0x7B9C, 0x216E, 0x7B8E, 0x21A2, 0x7B80, 0x21D6, 0x7B71, 0x220A, 0x7B63, 2420 0x223D, 0x7B55, 0x2271, 0x7B47, 0x22A4, 0x7B38, 0x22D8, 0x7B29, 0x230C, 0x7B1B, 2421 0x233F, 0x7B0C, 0x2373, 0x7AFD, 0x23A6, 0x7AEE, 0x23DA, 0x7ADF, 0x240D, 0x7AD0, 2422 0x2441, 0x7AC1, 0x2474, 0x7AB2, 0x24A7, 0x7AA3, 0x24DB, 0x7A93, 0x250E, 0x7A84, 2423 0x2541, 0x7A74, 0x2575, 0x7A65, 0x25A8, 0x7A55, 0x25DB, 0x7A45, 0x260E, 0x7A35, 2424 0x2642, 0x7A25, 0x2675, 0x7A15, 0x26A8, 0x7A05, 0x26DB, 0x79F5, 0x270E, 0x79E4, 2425 0x2741, 0x79D4, 0x2774, 0x79C4, 0x27A7, 0x79B3, 0x27DA, 0x79A2, 0x280D, 0x7992, 2426 0x2840, 0x7981, 0x2873, 0x7970, 0x28A6, 0x795F, 0x28D8, 0x794E, 0x290B, 0x793D, 2427 0x293E, 0x792B, 0x2971, 0x791A, 0x29A3, 0x7909, 0x29D6, 0x78F7, 0x2A09, 0x78E6, 2428 0x2A3B, 0x78D4, 0x2A6E, 0x78C2, 0x2AA1, 0x78B0, 0x2AD3, 0x789F, 0x2B06, 0x788D, 2429 0x2B38, 0x787B, 0x2B6B, 0x7868, 0x2B9D, 0x7856, 0x2BCF, 0x7844, 0x2C02, 0x7831, 2430 0x2C34, 0x781F, 0x2C66, 0x780C, 0x2C99, 0x77FA, 0x2CCB, 0x77E7, 0x2CFD, 0x77D4, 2431 0x2D2F, 0x77C1, 0x2D61, 0x77AE, 0x2D94, 0x779B, 0x2DC6, 0x7788, 0x2DF8, 0x7775, 2432 0x2E2A, 0x7762, 0x2E5C, 0x774E, 0x2E8E, 0x773B, 0x2EC0, 0x7727, 0x2EF1, 0x7714, 2433 0x2F23, 0x7700, 0x2F55, 0x76EC, 0x2F87, 0x76D8, 0x2FB9, 0x76C4, 0x2FEA, 0x76B0, 2434 0x301C, 0x769C, 0x304E, 0x7688, 0x307F, 0x7674, 0x30B1, 0x765F, 0x30E3, 0x764B, 2435 0x3114, 0x7636, 0x3146, 0x7622, 0x3177, 0x760D, 0x31A9, 0x75F8, 0x31DA, 0x75E4, 2436 0x320B, 0x75CF, 0x323D, 0x75BA, 0x326E, 0x75A5, 0x329F, 0x758F, 0x32D0, 0x757A, 2437 0x3302, 0x7565, 0x3333, 0x754F, 0x3364, 0x753A, 0x3395, 0x7524, 0x33C6, 0x750F, 2438 0x33F7, 0x74F9, 0x3428, 0x74E3, 0x3459, 0x74CD, 0x348A, 0x74B7, 0x34BB, 0x74A1, 2439 0x34EC, 0x748B, 0x351C, 0x7475, 0x354D, 0x745F, 0x357E, 0x7448, 0x35AF, 0x7432, 2440 0x35DF, 0x741B, 0x3610, 0x7405, 0x3640, 0x73EE, 0x3671, 0x73D7, 0x36A1, 0x73C0, 2441 0x36D2, 0x73AA, 0x3702, 0x7393, 0x3733, 0x737B, 0x3763, 0x7364, 0x3793, 0x734D, 2442 0x37C4, 0x7336, 0x37F4, 0x731E, 0x3824, 0x7307, 0x3854, 0x72EF, 0x3884, 0x72D8, 2443 0x38B5, 0x72C0, 0x38E5, 0x72A8, 0x3915, 0x7290, 0x3945, 0x7278, 0x3974, 0x7260, 2444 0x39A4, 0x7248, 0x39D4, 0x7230, 0x3A04, 0x7218, 0x3A34, 0x71FF, 0x3A64, 0x71E7, 2445 0x3A93, 0x71CF, 0x3AC3, 0x71B6, 0x3AF2, 0x719D, 0x3B22, 0x7185, 0x3B52, 0x716C, 2446 0x3B81, 0x7153, 0x3BB1, 0x713A, 0x3BE0, 0x7121, 0x3C0F, 0x7108, 0x3C3F, 0x70EF, 2447 0x3C6E, 0x70D5, 0x3C9D, 0x70BC, 0x3CCC, 0x70A2, 0x3CFB, 0x7089, 0x3D2B, 0x706F, 2448 0x3D5A, 0x7056, 0x3D89, 0x703C, 0x3DB8, 0x7022, 0x3DE7, 0x7008, 0x3E16, 0x6FEE, 2449 0x3E44, 0x6FD4, 0x3E73, 0x6FBA, 0x3EA2, 0x6FA0, 0x3ED1, 0x6F86, 0x3EFF, 0x6F6B, 2450 0x3F2E, 0x6F51, 0x3F5D, 0x6F36, 0x3F8B, 0x6F1C, 0x3FBA, 0x6F01, 0x3FE8, 0x6EE6, 2451 0x4017, 0x6ECC, 0x4045, 0x6EB1, 0x4073, 0x6E96, 0x40A2, 0x6E7B, 0x40D0, 0x6E60, 2452 0x40FE, 0x6E44, 0x412C, 0x6E29, 0x415A, 0x6E0E, 0x4189, 0x6DF2, 0x41B7, 0x6DD7, 2453 0x41E5, 0x6DBB, 0x4213, 0x6DA0, 0x4240, 0x6D84, 0x426E, 0x6D68, 0x429C, 0x6D4C, 2454 0x42CA, 0x6D30, 0x42F8, 0x6D14, 0x4325, 0x6CF8, 0x4353, 0x6CDC, 0x4380, 0x6CC0, 2455 0x43AE, 0x6CA4, 0x43DB, 0x6C87, 0x4409, 0x6C6B, 0x4436, 0x6C4E, 0x4464, 0x6C32, 2456 0x4491, 0x6C15, 0x44BE, 0x6BF8, 0x44EB, 0x6BDB, 0x4519, 0x6BBE, 0x4546, 0x6BA1, 2457 0x4573, 0x6B84, 0x45A0, 0x6B67, 0x45CD, 0x6B4A, 0x45FA, 0x6B2D, 0x4626, 0x6B0F, 2458 0x4653, 0x6AF2, 0x4680, 0x6AD5, 0x46AD, 0x6AB7, 0x46D9, 0x6A99, 0x4706, 0x6A7C, 2459 0x4733, 0x6A5E, 0x475F, 0x6A40, 0x478C, 0x6A22, 0x47B8, 0x6A04, 0x47E4, 0x69E6, 2460 0x4811, 0x69C8, 0x483D, 0x69AA, 0x4869, 0x698B, 0x4896, 0x696D, 0x48C2, 0x694F, 2461 0x48EE, 0x6930, 0x491A, 0x6911, 0x4946, 0x68F3, 0x4972, 0x68D4, 0x499E, 0x68B5, 2462 0x49C9, 0x6896, 0x49F5, 0x6877, 0x4A21, 0x6858, 0x4A4D, 0x6839, 0x4A78, 0x681A, 2463 0x4AA4, 0x67FB, 0x4ACF, 0x67DC, 0x4AFB, 0x67BC, 0x4B26, 0x679D, 0x4B52, 0x677D, 2464 0x4B7D, 0x675E, 0x4BA8, 0x673E, 0x4BD3, 0x671E, 0x4BFF, 0x66FF, 0x4C2A, 0x66DF, 2465 0x4C55, 0x66BF, 0x4C80, 0x669F, 0x4CAB, 0x667F, 0x4CD6, 0x665E, 0x4D01, 0x663E, 2466 0x4D2B, 0x661E, 0x4D56, 0x65FE, 0x4D81, 0x65DD, 0x4DAB, 0x65BD, 0x4DD6, 0x659C, 2467 0x4E01, 0x657B, 0x4E2B, 0x655B, 0x4E55, 0x653A, 0x4E80, 0x6519, 0x4EAA, 0x64F8, 2468 0x4ED4, 0x64D7, 0x4EFF, 0x64B6, 0x4F29, 0x6495, 0x4F53, 0x6474, 0x4F7D, 0x6453, 2469 0x4FA7, 0x6431, 0x4FD1, 0x6410, 0x4FFB, 0x63EE, 0x5025, 0x63CD, 0x504E, 0x63AB, 2470 0x5078, 0x638A, 0x50A2, 0x6368, 0x50CB, 0x6346, 0x50F5, 0x6324, 0x511E, 0x6302, 2471 0x5148, 0x62E0, 0x5171, 0x62BE, 0x519B, 0x629C, 0x51C4, 0x627A, 0x51ED, 0x6257, 2472 0x5216, 0x6235, 0x523F, 0x6213, 0x5268, 0x61F0, 0x5291, 0x61CE, 0x52BA, 0x61AB, 2473 0x52E3, 0x6188, 0x530C, 0x6166, 0x5335, 0x6143, 0x535E, 0x6120, 0x5386, 0x60FD, 2474 0x53AF, 0x60DA, 0x53D7, 0x60B7, 0x5400, 0x6094, 0x5428, 0x6070, 0x5451, 0x604D, 2475 0x5479, 0x602A, 0x54A1, 0x6006, 0x54C9, 0x5FE3, 0x54F2, 0x5FBF, 0x551A, 0x5F9C, 2476 0x5542, 0x5F78, 0x556A, 0x5F54, 0x5591, 0x5F31, 0x55B9, 0x5F0D, 0x55E1, 0x5EE9, 2477 0x5609, 0x5EC5, 0x5630, 0x5EA1, 0x5658, 0x5E7D, 0x5680, 0x5E58, 0x56A7, 0x5E34, 2478 0x56CF, 0x5E10, 0x56F6, 0x5DEB, 0x571D, 0x5DC7, 0x5745, 0x5DA2, 0x576C, 0x5D7E, 2479 0x5793, 0x5D59, 0x57BA, 0x5D34, 0x57E1, 0x5D10, 0x5808, 0x5CEB, 0x582F, 0x5CC6, 2480 0x5856, 0x5CA1, 0x587C, 0x5C7C, 0x58A3, 0x5C57, 0x58CA, 0x5C32, 0x58F0, 0x5C0C, 2481 0x5917, 0x5BE7, 0x593D, 0x5BC2, 0x5964, 0x5B9C, 0x598A, 0x5B77, 0x59B0, 0x5B51, 2482 0x59D7, 0x5B2C, 0x59FD, 0x5B06, 0x5A23, 0x5AE0, 0x5A49, 0x5ABB, 0x5A6F, 0x5A95 2483 }, 2484 2485 // const WORD16 only_long_window_kbd_960[960] = 2486 { 2487 0x000A, 0x7FFF, 0x000F, 0x7FFF, 0x0013, 0x7FFF, 0x0016, 0x7FFF, 0x001A, 0x7FFF, 2488 0x001D, 0x7FFF, 0x0021, 0x7FFF, 0x0025, 0x7FFF, 0x0028, 0x7FFF, 0x002C, 0x7FFF, 2489 0x002F, 0x7FFF, 0x0033, 0x7FFF, 0x0037, 0x7FFF, 0x003B, 0x7FFF, 0x003F, 0x7FFF, 2490 0x0043, 0x7FFF, 0x0047, 0x7FFF, 0x004B, 0x7FFF, 0x0050, 0x7FFF, 0x0054, 0x7FFF, 2491 0x0059, 0x7FFF, 0x005D, 0x7FFF, 0x0062, 0x7FFF, 0x0067, 0x7FFF, 0x006C, 0x7FFF, 2492 0x0071, 0x7FFF, 0x0076, 0x7FFF, 0x007B, 0x7FFF, 0x0080, 0x7FFF, 0x0086, 0x7FFF, 2493 0x008C, 0x7FFF, 0x0091, 0x7FFF, 0x0097, 0x7FFF, 0x009D, 0x7FFF, 0x00A3, 0x7FFF, 2494 0x00A9, 0x7FFF, 0x00B0, 0x7FFF, 0x00B6, 0x7FFE, 0x00BD, 0x7FFE, 0x00C3, 0x7FFE, 2495 0x00CA, 0x7FFE, 0x00D1, 0x7FFE, 0x00D8, 0x7FFE, 0x00E0, 0x7FFE, 0x00E7, 0x7FFE, 2496 0x00EF, 0x7FFE, 0x00F6, 0x7FFE, 0x00FE, 0x7FFE, 0x0106, 0x7FFE, 0x010E, 0x7FFE, 2497 0x0116, 0x7FFE, 0x011F, 0x7FFE, 0x0127, 0x7FFE, 0x0130, 0x7FFE, 0x0139, 0x7FFE, 2498 0x0142, 0x7FFD, 0x014B, 0x7FFD, 0x0154, 0x7FFD, 0x015E, 0x7FFD, 0x0167, 0x7FFD, 2499 0x0171, 0x7FFD, 0x017B, 0x7FFD, 0x0185, 0x7FFD, 0x018F, 0x7FFD, 0x019A, 0x7FFC, 2500 0x01A4, 0x7FFC, 0x01AF, 0x7FFC, 0x01BA, 0x7FFC, 0x01C5, 0x7FFC, 0x01D0, 0x7FFC, 2501 0x01DC, 0x7FFC, 0x01E7, 0x7FFB, 0x01F3, 0x7FFB, 0x01FF, 0x7FFB, 0x020B, 0x7FFB, 2502 0x0218, 0x7FFB, 0x0224, 0x7FFA, 0x0231, 0x7FFA, 0x023E, 0x7FFA, 0x024B, 0x7FFA, 2503 0x0258, 0x7FFA, 0x0265, 0x7FF9, 0x0273, 0x7FF9, 0x0281, 0x7FF9, 0x028F, 0x7FF8, 2504 0x029D, 0x7FF8, 0x02AC, 0x7FF8, 0x02BA, 0x7FF8, 0x02C9, 0x7FF7, 0x02D8, 0x7FF7, 2505 0x02E7, 0x7FF7, 0x02F7, 0x7FF6, 0x0306, 0x7FF6, 0x0316, 0x7FF5, 0x0326, 0x7FF5, 2506 0x0336, 0x7FF5, 0x0347, 0x7FF4, 0x0357, 0x7FF4, 0x0368, 0x7FF3, 0x0379, 0x7FF3, 2507 0x038A, 0x7FF2, 0x039C, 0x7FF2, 0x03AE, 0x7FF1, 0x03BF, 0x7FF1, 0x03D2, 0x7FF0, 2508 0x03E4, 0x7FF0, 0x03F7, 0x7FEF, 0x0409, 0x7FEF, 0x041C, 0x7FEE, 0x0430, 0x7FED, 2509 0x0443, 0x7FED, 0x0457, 0x7FEC, 0x046B, 0x7FEB, 0x047F, 0x7FEB, 0x0493, 0x7FEA, 2510 0x04A8, 0x7FE9, 0x04BD, 0x7FE9, 0x04D2, 0x7FE8, 0x04E7, 0x7FE7, 0x04FD, 0x7FE6, 2511 0x0513, 0x7FE5, 0x0529, 0x7FE4, 0x053F, 0x7FE3, 0x0555, 0x7FE3, 0x056C, 0x7FE2, 2512 0x0583, 0x7FE1, 0x059A, 0x7FE0, 0x05B2, 0x7FDF, 0x05CA, 0x7FDD, 0x05E2, 0x7FDC, 2513 0x05FA, 0x7FDB, 0x0612, 0x7FDA, 0x062B, 0x7FD9, 0x0644, 0x7FD8, 0x065D, 0x7FD6, 2514 0x0677, 0x7FD5, 0x0690, 0x7FD4, 0x06AA, 0x7FD3, 0x06C5, 0x7FD1, 0x06DF, 0x7FD0, 2515 0x06FA, 0x7FCE, 0x0715, 0x7FCD, 0x0730, 0x7FCB, 0x074C, 0x7FCA, 0x0768, 0x7FC8, 2516 0x0784, 0x7FC6, 0x07A0, 0x7FC5, 0x07BD, 0x7FC3, 0x07D9, 0x7FC1, 0x07F6, 0x7FC0, 2517 0x0814, 0x7FBE, 0x0832, 0x7FBC, 0x084F, 0x7FBA, 0x086E, 0x7FB8, 0x088C, 0x7FB6, 2518 0x08AB, 0x7FB4, 0x08CA, 0x7FB2, 0x08E9, 0x7FB0, 0x0909, 0x7FAD, 0x0928, 0x7FAB, 2519 0x0949, 0x7FA9, 0x0969, 0x7FA6, 0x098A, 0x7FA4, 0x09AA, 0x7FA1, 0x09CC, 0x7F9F, 2520 0x09ED, 0x7F9C, 0x0A0F, 0x7F9A, 0x0A31, 0x7F97, 0x0A53, 0x7F94, 0x0A76, 0x7F91, 2521 0x0A99, 0x7F8F, 0x0ABC, 0x7F8C, 0x0ADF, 0x7F89, 0x0B03, 0x7F86, 0x0B27, 0x7F82, 2522 0x0B4B, 0x7F7F, 0x0B70, 0x7F7C, 0x0B94, 0x7F79, 0x0BBA, 0x7F75, 0x0BDF, 0x7F72, 2523 0x0C05, 0x7F6E, 0x0C2B, 0x7F6B, 0x0C51, 0x7F67, 0x0C77, 0x7F63, 0x0C9E, 0x7F5F, 2524 0x0CC5, 0x7F5B, 0x0CED, 0x7F58, 0x0D14, 0x7F53, 0x0D3C, 0x7F4F, 0x0D65, 0x7F4B, 2525 0x0D8D, 0x7F47, 0x0DB6, 0x7F42, 0x0DDF, 0x7F3E, 0x0E08, 0x7F39, 0x0E32, 0x7F35, 2526 0x0E5C, 0x7F30, 0x0E86, 0x7F2B, 0x0EB1, 0x7F26, 0x0EDC, 0x7F21, 0x0F07, 0x7F1C, 2527 0x0F32, 0x7F17, 0x0F5E, 0x7F12, 0x0F8A, 0x7F0D, 0x0FB6, 0x7F07, 0x0FE3, 0x7F02, 2528 0x1010, 0x7EFC, 0x103D, 0x7EF6, 0x106A, 0x7EF0, 0x1098, 0x7EEA, 0x10C6, 0x7EE4, 2529 0x10F4, 0x7EDE, 0x1123, 0x7ED8, 0x1152, 0x7ED2, 0x1181, 0x7ECB, 0x11B0, 0x7EC5, 2530 0x11E0, 0x7EBE, 0x1210, 0x7EB7, 0x1240, 0x7EB0, 0x1271, 0x7EA9, 0x12A2, 0x7EA2, 2531 0x12D3, 0x7E9B, 0x1304, 0x7E93, 0x1336, 0x7E8C, 0x1368, 0x7E84, 0x139A, 0x7E7C, 2532 0x13CD, 0x7E75, 0x1400, 0x7E6D, 0x1433, 0x7E64, 0x1466, 0x7E5C, 0x149A, 0x7E54, 2533 0x14CE, 0x7E4B, 0x1502, 0x7E43, 0x1537, 0x7E3A, 0x156C, 0x7E31, 0x15A1, 0x7E28, 2534 0x15D6, 0x7E1F, 0x160C, 0x7E15, 0x1642, 0x7E0C, 0x1678, 0x7E02, 0x16AE, 0x7DF8, 2535 0x16E5, 0x7DEF, 0x171C, 0x7DE4, 0x1754, 0x7DDA, 0x178B, 0x7DD0, 0x17C3, 0x7DC5, 2536 0x17FB, 0x7DBB, 0x1833, 0x7DB0, 0x186C, 0x7DA5, 0x18A5, 0x7D9A, 0x18DE, 0x7D8F, 2537 0x1918, 0x7D83, 0x1952, 0x7D78, 0x198C, 0x7D6C, 0x19C6, 0x7D60, 0x1A00, 0x7D54, 2538 0x1A3B, 0x7D48, 0x1A76, 0x7D3B, 0x1AB1, 0x7D2F, 0x1AED, 0x7D22, 0x1B29, 0x7D15, 2539 0x1B65, 0x7D08, 0x1BA1, 0x7CFA, 0x1BDE, 0x7CED, 0x1C1B, 0x7CDF, 0x1C58, 0x7CD2, 2540 0x1C95, 0x7CC4, 0x1CD3, 0x7CB5, 0x1D11, 0x7CA7, 0x1D4F, 0x7C98, 0x1D8D, 0x7C8A, 2541 0x1DCC, 0x7C7B, 0x1E0B, 0x7C6C, 0x1E4A, 0x7C5C, 0x1E89, 0x7C4D, 0x1EC9, 0x7C3D, 2542 0x1F08, 0x7C2D, 0x1F48, 0x7C1D, 0x1F89, 0x7C0D, 0x1FC9, 0x7BFD, 0x200A, 0x7BEC, 2543 0x204B, 0x7BDB, 0x208C, 0x7BCA, 0x20CE, 0x7BB9, 0x210F, 0x7BA7, 0x2151, 0x7B95, 2544 0x2193, 0x7B84, 0x21D6, 0x7B71, 0x2218, 0x7B5F, 0x225B, 0x7B4D, 0x229E, 0x7B3A, 2545 0x22E1, 0x7B27, 0x2325, 0x7B14, 0x2369, 0x7B00, 0x23AC, 0x7AED, 0x23F1, 0x7AD9, 2546 0x2435, 0x7AC5, 0x2479, 0x7AB0, 0x24BE, 0x7A9C, 0x2503, 0x7A87, 0x2548, 0x7A72, 2547 0x258D, 0x7A5D, 0x25D3, 0x7A48, 0x2619, 0x7A32, 0x265F, 0x7A1C, 0x26A5, 0x7A06, 2548 0x26EB, 0x79F0, 0x2731, 0x79D9, 0x2778, 0x79C2, 0x27BF, 0x79AB, 0x2806, 0x7994, 2549 0x284D, 0x797C, 0x2895, 0x7965, 0x28DC, 0x794C, 0x2924, 0x7934, 0x296C, 0x791C, 2550 0x29B4, 0x7903, 0x29FC, 0x78EA, 0x2A45, 0x78D1, 0x2A8E, 0x78B7, 0x2AD6, 0x789D, 2551 0x2B1F, 0x7883, 0x2B68, 0x7869, 0x2BB2, 0x784F, 0x2BFB, 0x7834, 0x2C45, 0x7819, 2552 0x2C8E, 0x77FE, 0x2CD8, 0x77E2, 0x2D22, 0x77C6, 0x2D6D, 0x77AA, 0x2DB7, 0x778E, 2553 0x2E01, 0x7771, 0x2E4C, 0x7754, 0x2E97, 0x7737, 0x2EE2, 0x771A, 0x2F2D, 0x76FC, 2554 0x2F78, 0x76DE, 0x2FC3, 0x76C0, 0x300F, 0x76A2, 0x305A, 0x7683, 0x30A6, 0x7664, 2555 0x30F2, 0x7645, 0x313D, 0x7625, 0x318A, 0x7606, 0x31D6, 0x75E5, 0x3222, 0x75C5, 2556 0x326E, 0x75A4, 0x32BB, 0x7584, 0x3307, 0x7562, 0x3354, 0x7541, 0x33A1, 0x751F, 2557 0x33EE, 0x74FD, 0x343B, 0x74DB, 0x3488, 0x74B8, 0x34D5, 0x7496, 0x3522, 0x7472, 2558 0x356F, 0x744F, 0x35BD, 0x742B, 0x360A, 0x7407, 0x3658, 0x73E3, 0x36A5, 0x73BF, 2559 0x36F3, 0x739A, 0x3741, 0x7375, 0x378F, 0x734F, 0x37DD, 0x732A, 0x382B, 0x7304, 2560 0x3879, 0x72DD, 0x38C7, 0x72B7, 0x3915, 0x7290, 0x3963, 0x7269, 0x39B1, 0x7242, 2561 0x3A00, 0x721A, 0x3A4E, 0x71F2, 0x3A9C, 0x71CA, 0x3AEB, 0x71A1, 0x3B39, 0x7178, 2562 0x3B88, 0x714F, 0x3BD7, 0x7126, 0x3C25, 0x70FC, 0x3C74, 0x70D2, 0x3CC2, 0x70A8, 2563 0x3D11, 0x707D, 0x3D60, 0x7052, 0x3DAE, 0x7027, 0x3DFD, 0x6FFC, 0x3E4C, 0x6FD0, 2564 0x3E9B, 0x6FA4, 0x3EEA, 0x6F78, 0x3F38, 0x6F4B, 0x3F87, 0x6F1E, 0x3FD6, 0x6EF1, 2565 0x4025, 0x6EC4, 0x4073, 0x6E96, 0x40C2, 0x6E68, 0x4111, 0x6E39, 0x4160, 0x6E0B, 2566 0x41AF, 0x6DDC, 0x41FD, 0x6DAD, 0x424C, 0x6D7D, 0x429B, 0x6D4D, 0x42E9, 0x6D1D, 2567 0x4338, 0x6CED, 0x4387, 0x6CBC, 0x43D5, 0x6C8B, 0x4424, 0x6C5A, 0x4472, 0x6C28, 2568 0x44C1, 0x6BF7, 0x450F, 0x6BC4, 0x455E, 0x6B92, 0x45AC, 0x6B5F, 0x45FA, 0x6B2C, 2569 0x4648, 0x6AF9, 0x4697, 0x6AC6, 0x46E5, 0x6A92, 0x4733, 0x6A5E, 0x4781, 0x6A29, 2570 0x47CF, 0x69F5, 0x481D, 0x69C0, 0x486B, 0x698A, 0x48B8, 0x6955, 0x4906, 0x691F, 2571 0x4954, 0x68E9, 0x49A1, 0x68B3, 0x49EF, 0x687C, 0x4A3C, 0x6845, 0x4A89, 0x680E, 2572 0x4AD7, 0x67D6, 0x4B24, 0x679F, 0x4B71, 0x6767, 0x4BBE, 0x672E, 0x4C0B, 0x66F6, 2573 0x4C57, 0x66BD, 0x4CA4, 0x6684, 0x4CF0, 0x664A, 0x4D3D, 0x6611, 0x4D89, 0x65D7, 2574 0x4DD5, 0x659D, 0x4E21, 0x6562, 0x4E6D, 0x6527, 0x4EB9, 0x64EC, 0x4F05, 0x64B1, 2575 0x4F51, 0x6476, 0x4F9C, 0x643A, 0x4FE8, 0x63FE, 0x5033, 0x63C1, 0x507E, 0x6385, 2576 0x50C9, 0x6348, 0x5114, 0x630B, 0x515E, 0x62CE, 0x51A9, 0x6290, 0x51F3, 0x6252, 2577 0x523E, 0x6214, 0x5288, 0x61D6, 0x52D2, 0x6197, 0x531C, 0x6158, 0x5365, 0x6119, 2578 0x53AF, 0x60DA, 0x53F8, 0x609A, 0x5441, 0x605B, 0x548A, 0x601B, 0x54D3, 0x5FDA, 2579 0x551C, 0x5F9A, 0x5564, 0x5F59, 0x55AD, 0x5F18, 0x55F5, 0x5ED7, 0x563D, 0x5E95, 2580 0x5685, 0x5E53, 0x56CD, 0x5E12, 0x5714, 0x5DCF, 0x575B, 0x5D8D, 0x57A3, 0x5D4A, 2581 0x57E9, 0x5D08, 0x5830, 0x5CC4, 0x5877, 0x5C81, 0x58BD, 0x5C3E, 0x5903, 0x5BFA, 2582 0x5949, 0x5BB6, 0x598F, 0x5B72, 0x59D5, 0x5B2E, 0x5A1A, 0x5AE9, 0x5A5F, 0x5AA4 2583 }, 2584 2585 // const WORD16 only_short_window_sine_120[120] = 2586 { 2587 0x00D6, 0x7FFE, 0x0283, 0x7FF9, 0x0430, 0x7FED, 0x05DD, 0x7FDD, 0x0789, 0x7FC6, 2588 0x0935, 0x7FAA, 0x0AE1, 0x7F88, 0x0C8C, 0x7F61, 0x0E36, 0x7F34, 0x0FE0, 0x7F02, 2589 0x1189, 0x7ECA, 0x1332, 0x7E8C, 0x14DA, 0x7E49, 0x1680, 0x7E01, 0x1826, 0x7DB3, 2590 0x19CB, 0x7D5F, 0x1B6E, 0x7D06, 0x1D11, 0x7CA7, 0x1EB2, 0x7C43, 0x2051, 0x7BD9, 2591 0x21F0, 0x7B6A, 0x238D, 0x7AF6, 0x2528, 0x7A7C, 0x26C1, 0x79FD, 0x2859, 0x7978, 2592 0x29EF, 0x78EE, 0x2B84, 0x785F, 0x2D16, 0x77CB, 0x2EA7, 0x7731, 0x3035, 0x7692, 2593 0x31C1, 0x75EE, 0x334B, 0x7545, 0x34D3, 0x7496, 0x3659, 0x73E3, 0x37DC, 0x732A, 2594 0x395D, 0x726C, 0x3ADB, 0x71AA, 0x3C56, 0x70E2, 0x3DCF, 0x7015, 0x3F45, 0x6F44, 2595 0x40B9, 0x6E6D, 0x4229, 0x6D92, 0x4397, 0x6CB2, 0x4502, 0x6BCD, 0x466A, 0x6AE3, 2596 0x47CE, 0x69F5, 0x4930, 0x6902, 0x4A8E, 0x680B, 0x4BE9, 0x670E, 0x4D41, 0x660E, 2597 0x4E95, 0x6509, 0x4FE6, 0x63FF, 0x5133, 0x62F1, 0x527D, 0x61DF, 0x53C3, 0x60C8, 2598 0x5506, 0x5FAE, 0x5644, 0x5E8F, 0x577F, 0x5D6B, 0x58B6, 0x5C44, 0x59EA, 0x5B19 2599 }, 2600 2601 // const WORD16 only_short_window_kbd_120[120] = 2602 { 2603 0x0001, 0x7FFF, 0x0004, 0x7FFF, 0x0008, 0x7FFF, 0x000E, 0x7FFF, 0x0016, 0x7FFF, 2604 0x0021, 0x7FFF, 0x0030, 0x7FFF, 0x0042, 0x7FFF, 0x0059, 0x7FFF, 0x0075, 0x7FFF, 2605 0x0097, 0x7FFF, 0x00C1, 0x7FFE, 0x00F2, 0x7FFE, 0x012D, 0x7FFE, 0x0171, 0x7FFD, 2606 0x01C1, 0x7FFC, 0x021D, 0x7FFB, 0x0286, 0x7FF9, 0x02FE, 0x7FF6, 0x0385, 0x7FF3, 2607 0x041E, 0x7FEE, 0x04C9, 0x7FE8, 0x0586, 0x7FE0, 0x0658, 0x7FD7, 0x0740, 0x7FCA, 2608 0x083E, 0x7FBB, 0x0953, 0x7FA8, 0x0A80, 0x7F91, 0x0BC7, 0x7F74, 0x0D27, 0x7F52, 2609 0x0EA0, 0x7F28, 0x1035, 0x7EF7, 0x11E3, 0x7EBD, 0x13AD, 0x7E7A, 0x1591, 0x7E2A, 2610 0x1790, 0x7DCF, 0x19A8, 0x7D66, 0x1BDA, 0x7CEE, 0x1E25, 0x7C65, 0x2087, 0x7BCB, 2611 0x2300, 0x7B1E, 0x258E, 0x7A5D, 0x2830, 0x7986, 0x2AE5, 0x7898, 0x2DA9, 0x7793, 2612 0x307D, 0x7675, 0x335D, 0x753D, 0x3647, 0x73EB, 0x393A, 0x727E, 0x3C33, 0x70F5, 2613 0x3F2F, 0x6F50, 0x422D, 0x6D90, 0x452A, 0x6BB4, 0x4823, 0x69BC, 0x4B16, 0x67A9, 2614 0x4E01, 0x657B, 0x50E2, 0x6334, 0x53B5, 0x60D4, 0x567A, 0x5E5D, 0x592F, 0x5BD0 2615 }, 2616 2617 // WORD16 re_arr_tab_32[480]; 2618 { 2619 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 2620 150, 165, 180, 195, 210, 225, 240, 255, 270, 285, 2621 300, 315, 330, 345, 360, 375, 390, 405, 420, 435, 2622 450, 465, 32, 47, 62, 77, 92, 107, 122, 137, 2623 152, 167, 182, 197, 212, 227, 242, 257, 272, 287, 2624 302, 317, 332, 347, 362, 377, 392, 407, 422, 437, 2625 452, 467, 2, 17, 64, 79, 94, 109, 124, 139, 2626 154, 169, 184, 199, 214, 229, 244, 259, 274, 289, 2627 304, 319, 334, 349, 364, 379, 394, 409, 424, 439, 2628 454, 469, 4, 19, 34, 49, 96, 111, 126, 141, 2629 156, 171, 186, 201, 216, 231, 246, 261, 276, 291, 2630 306, 321, 336, 351, 366, 381, 396, 411, 426, 441, 2631 456, 471, 6, 21, 36, 51, 66, 81, 128, 143, 2632 158, 173, 188, 203, 218, 233, 248, 263, 278, 293, 2633 308, 323, 338, 353, 368, 383, 398, 413, 428, 443, 2634 458, 473, 8, 23, 38, 53, 68, 83, 98, 113, 2635 160, 175, 190, 205, 220, 235, 250, 265, 280, 295, 2636 310, 325, 340, 355, 370, 385, 400, 415, 430, 445, 2637 460, 475, 10, 25, 40, 55, 70, 85, 100, 115, 2638 130, 145, 192, 207, 222, 237, 252, 267, 282, 297, 2639 312, 327, 342, 357, 372, 387, 402, 417, 432, 447, 2640 462, 477, 12, 27, 42, 57, 72, 87, 102, 117, 2641 132, 147, 162, 177, 224, 239, 254, 269, 284, 299, 2642 314, 329, 344, 359, 374, 389, 404, 419, 434, 449, 2643 464, 479, 14, 29, 44, 59, 74, 89, 104, 119, 2644 134, 149, 164, 179, 194, 209, 256, 271, 286, 301, 2645 316, 331, 346, 361, 376, 391, 406, 421, 436, 451, 2646 466, 1, 16, 31, 46, 61, 76, 91, 106, 121, 2647 136, 151, 166, 181, 196, 211, 226, 241, 288, 303, 2648 318, 333, 348, 363, 378, 393, 408, 423, 438, 453, 2649 468, 3, 18, 33, 48, 63, 78, 93, 108, 123, 2650 138, 153, 168, 183, 198, 213, 228, 243, 258, 273, 2651 320, 335, 350, 365, 380, 395, 410, 425, 440, 455, 2652 470, 5, 20, 35, 50, 65, 80, 95, 110, 125, 2653 140, 155, 170, 185, 200, 215, 230, 245, 260, 275, 2654 290, 305, 352, 367, 382, 397, 412, 427, 442, 457, 2655 472, 7, 22, 37, 52, 67, 82, 97, 112, 127, 2656 142, 157, 172, 187, 202, 217, 232, 247, 262, 277, 2657 292, 307, 322, 337, 384, 399, 414, 429, 444, 459, 2658 474, 9, 24, 39, 54, 69, 84, 99, 114, 129, 2659 144, 159, 174, 189, 204, 219, 234, 249, 264, 279, 2660 294, 309, 324, 339, 354, 369, 416, 431, 446, 461, 2661 476, 11, 26, 41, 56, 71, 86, 101, 116, 131, 2662 146, 161, 176, 191, 206, 221, 236, 251, 266, 281, 2663 296, 311, 326, 341, 356, 371, 386, 401, 448, 463, 2664 478, 13, 28, 43, 58, 73, 88, 103, 118, 133, 2665 148, 163, 178, 193, 208, 223, 238, 253, 268, 283, 2666 298, 313, 328, 343, 358, 373, 388, 403, 418, 433 2667 }, 2668 2669 // const WORD16 re_arr_tab_sml[FFT15 + 1] = 2670 { 2671 0, 4, 8, 9, 13, 2, 3, 7, 2672 11, 12, 1, 5, 6, 10, 14, 0 2673 }, 2674 2675 // const WORD16 re_arr_tab_4[60] = 2676 { 2677 0, 15, 30, 45, 4, 19, 34, 49, 8, 23, 2678 38, 53, 12, 27, 42, 57, 16, 31, 46, 1, 2679 20, 35, 50, 5, 24, 39, 54, 9, 28, 43, 2680 58, 13, 32, 47, 2, 17, 36, 51, 6, 21, 2681 40, 55, 10, 25, 44, 59, 14, 29, 48, 3, 2682 18, 33, 52, 7, 22, 37, 56, 11, 26, 41 2683 }, 2684 2685 // const WORD16 re_arr_tab_15_4[60] = 2686 { 2687 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 2688 40, 44, 48, 52, 56, 1, 5, 9, 13, 17, 2689 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 2690 2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 2691 42, 46, 50, 54, 58, 3, 7, 11, 15, 19, 2692 23, 27, 31, 35, 39, 43, 47, 51, 55, 59 2693 }, 2694 2695 // const WORD16 re_arr_tab_120[60] = 2696 { 2697 0, 16, 32, 48, 4, 20, 36, 52, 8, 24, 2698 40, 56, 12, 28, 44, 45, 1, 17, 33, 49, 2699 5, 21, 37, 53, 9, 25, 41, 57, 13, 29, 2700 30, 46, 2, 18, 34, 50, 6, 22, 38, 54, 2701 10, 26, 42, 58, 14, 15, 31, 47, 3, 19, 2702 35, 51, 7, 23, 39, 55, 11, 27, 43, 59 2703 }, 2704 2705 // WORD16 re_arr_tab_5[FFT15 + 1] = 2706 { 2707 0, 3, 6, 9, 12, 5, 8, 11, 2708 14, 2, 10, 13, 1, 4, 7, 0 2709 }, 2710 2711 // WORD16 re_arr_tab_3[FFT15 + 1] = 2712 { 2713 0, 5, 10, 1, 6, 11, 2, 7, 2714 12, 3, 8, 13, 4, 9, 14, 0 2715 }, 2716 2717 // WORD16 re_arr_tab_sml_480[480] = 2718 { 2719 0, 160, 320, 96, 256, 416, 192, 352, 2720 32, 288, 448, 128, 384, 64, 224, 225, 2721 385, 65, 321, 1, 161, 417, 97, 257, 2722 33, 193, 353, 129, 289, 449, 450, 130, 2723 290, 66, 226, 386, 162, 322, 2, 258, 2724 418, 98, 354, 34, 194, 195, 355, 35, 2725 291, 451, 131, 387, 67, 227, 3, 163, 2726 323, 99, 259, 419, 420, 100, 260, 36, 2727 196, 356, 132, 292, 452, 228, 388, 68, 2728 324, 4, 164, 165, 325, 5, 261, 421, 2729 101, 357, 37, 197, 453, 133, 293, 69, 2730 229, 389, 390, 70, 230, 6, 166, 326, 2731 102, 262, 422, 198, 358, 38, 294, 454, 2732 134, 135, 295, 455, 231, 391, 71, 327, 2733 7, 167, 423, 103, 263, 39, 199, 359, 2734 360, 40, 200, 456, 136, 296, 72, 232, 2735 392, 168, 328, 8, 264, 424, 104, 105, 2736 265, 425, 201, 361, 41, 297, 457, 137, 2737 393, 73, 233, 9, 169, 329, 330, 10, 2738 170, 426, 106, 266, 42, 202, 362, 138, 2739 298, 458, 234, 394, 74, 75, 235, 395, 2740 171, 331, 11, 267, 427, 107, 363, 43, 2741 203, 459, 139, 299, 300, 460, 140, 396, 2742 76, 236, 12, 172, 332, 108, 268, 428, 2743 204, 364, 44, 45, 205, 365, 141, 301, 2744 461, 237, 397, 77, 333, 13, 173, 429, 2745 109, 269, 270, 430, 110, 366, 46, 206, 2746 462, 142, 302, 78, 238, 398, 174, 334, 2747 14, 15, 175, 335, 111, 271, 431, 207, 2748 367, 47, 303, 463, 143, 399, 79, 239, 2749 240, 400, 80, 336, 16, 176, 432, 112, 2750 272, 48, 208, 368, 144, 304, 464, 465, 2751 145, 305, 81, 241, 401, 177, 337, 17, 2752 273, 433, 113, 369, 49, 209, 210, 370, 2753 50, 306, 466, 146, 402, 82, 242, 18, 2754 178, 338, 114, 274, 434, 435, 115, 275, 2755 51, 211, 371, 147, 307, 467, 243, 403, 2756 83, 339, 19, 179, 180, 340, 20, 276, 2757 436, 116, 372, 52, 212, 468, 148, 308, 2758 84, 244, 404, 405, 85, 245, 21, 181, 2759 341, 117, 277, 437, 213, 373, 53, 309, 2760 469, 149, 150, 310, 470, 246, 406, 86, 2761 342, 22, 182, 438, 118, 278, 54, 214, 2762 374, 375, 55, 215, 471, 151, 311, 87, 2763 247, 407, 183, 343, 23, 279, 439, 119, 2764 120, 280, 440, 216, 376, 56, 312, 472, 2765 152, 408, 88, 248, 24, 184, 344, 345, 2766 25, 185, 441, 121, 281, 57, 217, 377, 2767 153, 313, 473, 249, 409, 89, 90, 250, 2768 410, 186, 346, 26, 282, 442, 122, 378, 2769 58, 218, 474, 154, 314, 315, 475, 155, 2770 411, 91, 251, 27, 187, 347, 123, 283, 2771 443, 219, 379, 59, 60, 220, 380, 156, 2772 316, 476, 252, 412, 92, 348, 28, 188, 2773 444, 124, 284, 285, 445, 125, 381, 61, 2774 221, 477, 157, 317, 93, 253, 413, 189, 2775 349, 29, 30, 190, 350, 126, 286, 446, 2776 222, 382, 62, 318, 478, 158, 414, 94, 2777 254, 255, 415, 95, 351, 31, 191, 447, 2778 127, 287, 63, 223, 383, 159, 319, 479 2779 }, 2780 2781 // WORD32 cosine_array_1920[960] = 2782 { 2783 32767, 13, 94, 32767, 32767, 121, 201, 32767, 2784 32767, 228, 308, 32767, 32766, 335, 416, 32765, 2785 32765, 442, 523, 32764, 32763, 550, 630, 32762, 2786 32761, 657, 737, 32760, 32759, 764, 844, 32757, 2787 32756, 871, 952, 32754, 32753, 978, 1059, 32751, 2788 32750, 1086, 1166, 32747, 32746, 1193, 1273, 32743, 2789 32742, 1300, 1380, 32739, 32738, 1407, 1487, 32734, 2790 32733, 1514, 1594, 32729, 32728, 1621, 1702, 32724, 2791 32722, 1728, 1809, 32718, 32717, 1835, 1916, 32712, 2792 32710, 1942, 2023, 32706, 32704, 2049, 2130, 32699, 2793 32697, 2157, 2237, 32692, 32690, 2263, 2344, 32684, 2794 32682, 2370, 2451, 32676, 32674, 2477, 2558, 32668, 2795 32666, 2584, 2664, 32659, 32657, 2691, 2771, 32651, 2796 32648, 2798, 2878, 32641, 32639, 2905, 2985, 32632, 2797 32629, 3012, 3092, 32622, 32619, 3118, 3198, 32612, 2798 32609, 3225, 3305, 32601, 32598, 3332, 3412, 32590, 2799 32587, 3439, 3518, 32579, 32576, 3545, 3625, 32567, 2800 32564, 3652, 3732, 32555, 32552, 3758, 3838, 32542, 2801 32539, 3865, 3945, 32530, 32526, 3971, 4051, 32517, 2802 32513, 4078, 4157, 32503, 32500, 4184, 4264, 32489, 2803 32486, 4290, 4370, 32475, 32472, 4397, 4476, 32461, 2804 32457, 4503, 4583, 32446, 32442, 4609, 4689, 32431, 2805 32427, 4715, 4795, 32415, 32411, 4821, 4901, 32399, 2806 32395, 4927, 5007, 32383, 32379, 5033, 5113, 32367, 2807 32362, 5139, 5219, 32350, 32345, 5245, 5325, 32333, 2808 32328, 5351, 5430, 32315, 32310, 5457, 5536, 32297, 2809 32292, 5562, 5642, 32279, 32274, 5668, 5747, 32260, 2810 32255, 5774, 5853, 32241, 32236, 5879, 5958, 32222, 2811 32217, 5985, 6064, 32202, 32197, 6090, 6169, 32182, 2812 32177, 6195, 6274, 32162, 32157, 6301, 6380, 32141, 2813 32136, 6406, 6485, 32120, 32115, 6511, 6590, 32099, 2814 32093, 6616, 6695, 32077, 32071, 6721, 6800, 32055, 2815 32049, 6826, 6905, 32032, 32027, 6931, 7009, 32010, 2816 32004, 7036, 7114, 31986, 31981, 7140, 7219, 31963, 2817 31957, 7245, 7323, 31939, 31933, 7349, 7428, 31915, 2818 31909, 7454, 7532, 31891, 31884, 7558, 7637, 31866, 2819 31859, 7663, 7741, 31841, 31834, 7767, 7845, 31815, 2820 31809, 7871, 7949, 31789, 31783, 7975, 8053, 31763, 2821 31756, 8079, 8157, 31737, 31730, 8183, 8261, 31710, 2822 31703, 8287, 8364, 31682, 31676, 8390, 8468, 31655, 2823 31648, 8494, 8572, 31627, 31620, 8597, 8675, 31599, 2824 31592, 8701, 8778, 31570, 31563, 8804, 8882, 31541, 2825 31534, 8907, 8985, 31512, 31505, 9011, 9088, 31483, 2826 31475, 9114, 9191, 31453, 31445, 9217, 9294, 31422, 2827 31415, 9319, 9397, 31392, 31384, 9422, 9499, 31361, 2828 31353, 9525, 9602, 31330, 31322, 9627, 9704, 31298, 2829 31290, 9730, 9807, 31266, 31258, 9832, 9909, 31234, 2830 31226, 9934, 10011, 31201, 31193, 10037, 10113, 31168, 2831 31160, 10139, 10215, 31135, 31127, 10241, 10317, 31102, 2832 31093, 10342, 10419, 31068, 31059, 10444, 10520, 31033, 2833 31025, 10546, 10622, 30999, 30990, 10647, 10723, 30964, 2834 30955, 10748, 10824, 30929, 30920, 10850, 10926, 30893, 2835 30884, 10951, 11027, 30857, 30848, 11052, 11128, 30821, 2836 30812, 11153, 11228, 30784, 30775, 11253, 11329, 30747, 2837 30738, 11354, 11430, 30710, 30701, 11455, 11530, 30672, 2838 30663, 11555, 11630, 30635, 30625, 11655, 11730, 30596, 2839 30587, 11756, 11831, 30558, 30548, 11856, 11930, 30519, 2840 30509, 11955, 12030, 30480, 30470, 12055, 12130, 30440, 2841 30430, 12155, 12230, 30400, 30390, 12254, 12329, 30360, 2842 30350, 12354, 12428, 30320, 30309, 12453, 12527, 30279, 2843 30269, 12552, 12626, 30238, 30227, 12651, 12725, 30196, 2844 30186, 12750, 12824, 30154, 30144, 12849, 12923, 30112, 2845 30102, 12947, 13021, 30070, 30059, 13046, 13119, 30027, 2846 30016, 13144, 13218, 29984, 29973, 13242, 13316, 29941, 2847 29930, 13340, 13414, 29897, 29886, 13438, 13511, 29853, 2848 29842, 13536, 13609, 29808, 29797, 13633, 13706, 29764, 2849 29752, 13731, 13804, 29719, 29707, 13828, 13901, 29673, 2850 29662, 13925, 13998, 29628, 29616, 14022, 14095, 29582, 2851 29570, 14119, 14192, 29535, 29524, 14216, 14288, 29489, 2852 29477, 14312, 14385, 29442, 29430, 14409, 14481, 29395, 2853 29383, 14505, 14577, 29347, 29335, 14601, 14673, 29299, 2854 29287, 14697, 14769, 29251, 29239, 14793, 14864, 29203, 2855 29190, 14888, 14960, 29154, 29142, 14984, 15055, 29105, 2856 29092, 15079, 15150, 29055, 29043, 15174, 15245, 29006, 2857 28993, 15269, 15340, 28955, 28943, 15364, 15435, 28905, 2858 28892, 15459, 15529, 28854, 28842, 15553, 15624, 28803, 2859 28791, 15647, 15718, 28752, 28739, 15741, 15812, 28701, 2860 28688, 15835, 15906, 28649, 28636, 15929, 15999, 28596, 2861 28583, 16023, 16093, 28544, 28531, 16116, 16186, 28491, 2862 28478, 16210, 16279, 28438, 28425, 16303, 16372, 28385, 2863 28371, 16396, 16465, 28331, 28317, 16488, 16558, 28277, 2864 28263, 16581, 16650, 28223, 28209, 16673, 16743, 28168, 2865 28154, 16766, 16835, 28113, 28099, 16858, 16927, 28058, 2866 28044, 16949, 17018, 28002, 27988, 17041, 17110, 27946, 2867 27932, 17133, 17201, 27890, 27876, 17224, 17292, 27834, 2868 27820, 17315, 17383, 27777, 27763, 17406, 17474, 27720, 2869 27706, 17497, 17565, 27663, 27648, 17587, 17655, 27605, 2870 27591, 17678, 17745, 27547, 27533, 17768, 17835, 27489, 2871 27474, 17858, 17925, 27430, 27416, 17948, 18015, 27372, 2872 27357, 18037, 18104, 27312, 27298, 18127, 18194, 27253, 2873 27238, 18216, 18283, 27193, 27178, 18305, 18372, 27133, 2874 27118, 18394, 18460, 27073, 27058, 18483, 18549, 27013, 2875 26997, 18571, 18637, 26952, 26936, 18659, 18725, 26891, 2876 26875, 18747, 18813, 26829, 26814, 18835, 18901, 26767, 2877 26752, 18923, 18988, 26705, 26690, 19010, 19076, 26643, 2878 26628, 19098, 19163, 26581, 26565, 19185, 19250, 26518, 2879 26502, 19271, 19336, 26455, 26439, 19358, 19423, 26391, 2880 26375, 19444, 19509, 26327, 26312, 19531, 19595, 26264, 2881 26247, 19617, 19681, 26199, 26183, 19702, 19767, 26135, 2882 26119, 19788, 19852, 26070, 26054, 19873, 19937, 26005, 2883 25988, 19959, 20022, 25939, 25923, 20043, 20107, 25874, 2884 25857, 20128, 20192, 25808, 25791, 20213, 20276, 25742, 2885 25725, 20297, 20360, 25675, 25658, 20381, 20444, 25608, 2886 25592, 20465, 20528, 25541, 25524, 20549, 20611, 25474, 2887 25457, 20632, 20694, 25406, 25389, 20715, 20777, 25339, 2888 25322, 20798, 20860, 25270, 25253, 20881, 20943, 25202, 2889 25185, 20963, 21025, 25133, 25116, 21046, 21107, 25064, 2890 25047, 21128, 21189, 24995, 24978, 21210, 21271, 24926, 2891 24908, 21291, 21352, 24856, 24838, 21373, 21434, 24786, 2892 24768, 21454, 21515, 24716, 24698, 21535, 21595, 24645, 2893 24627, 21616, 21676, 24574, 24557, 21696, 21756, 24503, 2894 24485, 21776, 21836, 24432, 24414, 21856, 21916, 24360, 2895 24342, 21936, 21996, 24288, 24270, 22016, 22075, 24216, 2896 24198, 22095, 22154, 24144, 24126, 22174, 22233, 24071, 2897 24053, 22253, 22312, 23998, 23980, 22331, 22390, 23925, 2898 23907, 22410, 22468, 23852, 23834, 22488, 22546, 23778, 2899 23760, 22566, 22624, 23704, 23686, 22643, 22701, 23630, 2900 23612, 22721, 22779, 23556, 23537, 22798, 22856, 23481, 2901 23462, 22875, 22932, 23406, 23387, 22951, 23009, 23331, 2902 23312, 23028, 23085, 23256, 23237, 23104, 23161, 23180 2903 }, 2904 2905 2906 // const WORD16 w_512[2 * 510] = 2907 { 2908 0, 32767, 0, 32767, 0, 32767, 402, 32766, 804, 32758, 2909 1206, 32746, 804, 32758, 1608, 32729, 2411, 32679, 1206, 32746, 2910 2411, 32679, 3612, 32568, 1608, 32729, 3212, 32610, 4808, 32413, 2911 2009, 32706, 4011, 32522, 5998, 32214, 2411, 32679, 4808, 32413, 2912 7180, 31972, 2811, 32647, 5602, 32286, 8351, 31686, 3212, 32610, 2913 6393, 32138, 9512, 31357, 3612, 32568, 7180, 31972, 10660, 30986, 2914 4011, 32522, 7962, 31786, 11793, 30572, 4410, 32470, 8740, 31581, 2915 12910, 30118, 4808, 32413, 9512, 31357, 14010, 29622, 5205, 32352, 2916 10279, 31114, 15091, 29086, 5602, 32286, 11039, 30853, 16151, 28511, 2917 5998, 32214, 11793, 30572, 17190, 27897, 6393, 32138, 12540, 30274, 2918 18205, 27246, 6787, 32058, 13279, 29957, 19195, 26557, 7180, 31972, 2919 14010, 29622, 20160, 25833, 7571, 31881, 14733, 29269, 21097, 25073, 2920 7962, 31786, 15447, 28899, 22006, 24279, 8351, 31686, 16151, 28511, 2921 22884, 23453, 8740, 31581, 16846, 28106, 23732, 22595, 9127, 31471, 2922 17531, 27684, 24548, 21706, 9512, 31357, 18205, 27246, 25330, 20788, 2923 9896, 31238, 18868, 26791, 26078, 19841, 10279, 31114, 19520, 26320, 2924 26791, 18868, 10660, 30986, 20160, 25833, 27467, 17869, 11039, 30853, 2925 20788, 25330, 28106, 16846, 11417, 30715, 21403, 24812, 28707, 15800, 2926 11793, 30572, 22006, 24279, 29269, 14733, 12167, 30425, 22595, 23732, 2927 29792, 13646, 12540, 30274, 23170, 23170, 30274, 12540, 12910, 30118, 2928 23732, 22595, 30715, 11417, 13279, 29957, 24279, 22006, 31114, 10279, 2929 13646, 29792, 24812, 21403, 31471, 9127, 14010, 29622, 25330, 20788, 2930 31786, 7962, 14373, 29448, 25833, 20160, 32058, 6787, 14733, 29269, 2931 26320, 19520, 32286, 5602, 15091, 29086, 26791, 18868, 32470, 4410, 2932 15447, 28899, 27246, 18205, 32610, 3212, 15800, 28707, 27684, 17531, 2933 32706, 2009, 16151, 28511, 28106, 16846, 32758, 804, 16500, 28311, 2934 28511, 16151, 32766, -402, 16846, 28106, 28899, 15447, 32729, -1608, 2935 17190, 27897, 29269, 14733, 32647, -2811, 17531, 27684, 29622, 14010, 2936 32522, -4011, 17869, 27467, 29957, 13279, 32352, -5205, 18205, 27246, 2937 30274, 12540, 32138, -6393, 18538, 27020, 30572, 11793, 31881, -7571, 2938 18868, 26791, 30853, 11039, 31581, -8740, 19195, 26557, 31114, 10279, 2939 31238, -9896, 19520, 26320, 31357, 9512, 30853, -11039, 19841, 26078, 2940 31581, 8740, 30425, -12167, 20160, 25833, 31786, 7962, 29957, -13279, 2941 20475, 25583, 31972, 7180, 29448, -14373, 20788, 25330, 32138, 6393, 2942 28899, -15447, 21097, 25073, 32286, 5602, 28311, -16500, 21403, 24812, 2943 32413, 4808, 27684, -17531, 21706, 24548, 32522, 4011, 27020, -18538, 2944 22006, 24279, 32610, 3212, 26320, -19520, 22302, 24008, 32679, 2411, 2945 25583, -20475, 22595, 23732, 32729, 1608, 24812, -21403, 22884, 23453, 2946 32758, 804, 24008, -22302, 23170, 23170, 32767, 0, 23170, -23170, 2947 23453, 22884, 32758, -804, 22302, -24008, 23732, 22595, 32729, -1608, 2948 21403, -24812, 24008, 22302, 32679, -2411, 20475, -25583, 24279, 22006, 2949 32610, -3212, 19520, -26320, 24548, 21706, 32522, -4011, 18538, -27020, 2950 24812, 21403, 32413, -4808, 17531, -27684, 25073, 21097, 32286, -5602, 2951 16500, -28311, 25330, 20788, 32138, -6393, 15447, -28899, 25583, 20475, 2952 31972, -7180, 14373, -29448, 25833, 20160, 31786, -7962, 13279, -29957, 2953 26078, 19841, 31581, -8740, 12167, -30425, 26320, 19520, 31357, -9512, 2954 11039, -30853, 26557, 19195, 31114, -10279, 9896, -31238, 26791, 18868, 2955 30853, -11039, 8740, -31581, 27020, 18538, 30572, -11793, 7571, -31881, 2956 27246, 18205, 30274, -12540, 6393, -32138, 27467, 17869, 29957, -13279, 2957 5205, -32352, 27684, 17531, 29622, -14010, 4011, -32522, 27897, 17190, 2958 29269, -14733, 2811, -32647, 28106, 16846, 28899, -15447, 1608, -32729, 2959 28311, 16500, 28511, -16151, 402, -32766, 28511, 16151, 28106, -16846, 2960 - 804, -32758, 28707, 15800, 27684, -17531, -2009, -32706, 28899, 15447, 2961 27246, -18205, -3212, -32610, 29086, 15091, 26791, -18868, -4410, -32470, 2962 29269, 14733, 26320, -19520, -5602, -32286, 29448, 14373, 25833, -20160, 2963 - 6787, -32058, 29622, 14010, 25330, -20788, -7962, -31786, 29792, 13646, 2964 24812, -21403, -9127, -31471, 29957, 13279, 24279, -22006, -10279, -31114, 2965 30118, 12910, 23732, -22595, -11417, -30715, 30274, 12540, 23170, -23170, 2966 - 12540, -30274, 30425, 12167, 22595, -23732, -13646, -29792, 30572, 11793, 2967 22006, -24279, -14733, -29269, 30715, 11417, 21403, -24812, -15800, -28707, 2968 30853, 11039, 20788, -25330, -16846, -28106, 30986, 10660, 20160, -25833, 2969 - 17869, -27467, 31114, 10279, 19520, -26320, -18868, -26791, 31238, 9896, 2970 18868, -26791, -19841, -26078, 31357, 9512, 18205, -27246, -20788, -25330, 2971 31471, 9127, 17531, -27684, -21706, -24548, 31581, 8740, 16846, -28106, 2972 - 22595, -23732, 31686, 8351, 16151, -28511, -23453, -22884, 31786, 7962, 2973 15447, -28899, -24279, -22006, 31881, 7571, 14733, -29269, -25073, -21097, 2974 31972, 7180, 14010, -29622, -25833, -20160, 32058, 6787, 13279, -29957, 2975 - 26557, -19195, 32138, 6393, 12540, -30274, -27246, -18205, 32214, 5998, 2976 11793, -30572, -27897, -17190, 32286, 5602, 11039, -30853, -28511, -16151, 2977 32352, 5205, 10279, -31114, -29086, -15091, 32413, 4808, 9512, -31357, 2978 - 29622, -14010, 32470, 4410, 8740, -31581, -30118, -12910, 32522, 4011, 2979 7962, -31786, -30572, -11793, 32568, 3612, 7180, -31972, -30986, -10660, 2980 32610, 3212, 6393, -32138, -31357, -9512, 32647, 2811, 5602, -32286, 2981 - 31686, -8351, 32679, 2411, 4808, -32413, -31972, -7180, 32706, 2009, 2982 4011, -32522, -32214, -5998, 32729, 1608, 3212, -32610, -32413, -4808, 2983 32746, 1206, 2411, -32679, -32568, -3612, 32758, 804, 1608, -32729, 2984 - 32679, -2411, 32766, 402, 804, -32758, -32746, -1206, 0, 32767, 2985 0, 32767, 0, 32767, 1608, 32729, 3212, 32610, 4808, 32413, 2986 3212, 32610, 6393, 32138, 9512, 31357, 4808, 32413, 9512, 31357, 2987 14010, 29622, 6393, 32138, 12540, 30274, 18205, 27246, 7962, 31786, 2988 15447, 28899, 22006, 24279, 9512, 31357, 18205, 27246, 25330, 20788, 2989 11039, 30853, 20788, 25330, 28106, 16846, 12540, 30274, 23170, 23170, 2990 30274, 12540, 14010, 29622, 25330, 20788, 31786, 7962, 15447, 28899, 2991 27246, 18205, 32610, 3212, 16846, 28106, 28899, 15447, 32729, -1608, 2992 18205, 27246, 30274, 12540, 32138, -6393, 19520, 26320, 31357, 9512, 2993 30853, -11039, 20788, 25330, 32138, 6393, 28899, -15447, 22006, 24279, 2994 32610, 3212, 26320, -19520, 23170, 23170, 32767, 0, 23170, -23170, 2995 24279, 22006, 32610, -3212, 19520, -26320, 25330, 20788, 32138, -6393, 2996 15447, -28899, 26320, 19520, 31357, -9512, 11039, -30853, 27246, 18205, 2997 30274, -12540, 6393, -32138, 28106, 16846, 28899, -15447, 1608, -32729, 2998 28899, 15447, 27246, -18205, -3212, -32610, 29622, 14010, 25330, -20788, 2999 - 7962, -31786, 30274, 12540, 23170, -23170, -12540, -30274, 30853, 11039, 3000 20788, -25330, -16846, -28106, 31357, 9512, 18205, -27246, -20788, -25330, 3001 31786, 7962, 15447, -28899, -24279, -22006, 32138, 6393, 12540, -30274, 3002 - 27246, -18205, 32413, 4808, 9512, -31357, -29622, -14010, 32610, 3212, 3003 6393, -32138, -31357, -9512, 32729, 1608, 3212, -32610, -32413, -4808, 3004 0, 32767, 0, 32767, 0, 32767, 6393, 32138, 12540, 30274, 3005 18205, 27246, 12540, 30274, 23170, 23170, 30274, 12540, 18205, 27246, 3006 30274, 12540, 32138, -6393, 23170, 23170, 32767, 0, 23170, -23170, 3007 27246, 18205, 30274, -12540, 6393, -32138, 30274, 12540, 23170, -23170, 3008 - 12540, -30274, 32138, 6393, 12540, -30274, -27246, -18205, 0, 32767, 3009 0, 32767, 0, 32767, 23170, 23170, 32767, 0, 23170, -23170, 3010 }, 3011 3012 3013 // WORD16 w_32[60]= 3014 { 3015 0, 32767, 0, 32767, 0, 32767, 3016 6393, 32137, 12539, 30273, 18204, 27245, 3017 12539, 30273, 23170, 23170, 30273, 12539, 3018 18204, 27245, 30273, 12539, 32137, -6392, 3019 23170, 23170, 32767, 0, 23170, -23169, 3020 27245, 18204, 30273, -12538, 6393, -32136, 3021 30273, 12539, 23170, -23169, -12538, -30272, 3022 32137, 6393, 12539, -30272, -27244, -18203, 3023 0, 32767, 0, 32767, 0, 32767, 3024 23170, 23170, 32767, 0, 23170, -23169 3025 }, 3026 3027 // const WORD16 cosine_array_240[120] = 3028 { 3029 32767, 107, 751, 32759, 32754, 965, 1608, 32729, 3030 32717, 1822, 2464, 32675, 32658, 2678, 3319, 32600, 3031 32577, 3532, 4171, 32501, 32473, 4383, 5020, 32381, 3032 32348, 5232, 5866, 32239, 32200, 6077, 6708, 32074, 3033 32029, 6918, 7545, 31887, 31837, 7754, 8377, 31679, 3034 31624, 8585, 9204, 31449, 31388, 9409, 10024, 31197, 3035 31131, 10228, 10837, 30924, 30853, 11039, 11643, 30630, 3036 30553, 11843, 12441, 30315, 30232, 12639, 13230, 29979, 3037 29891, 13426, 14010, 29622, 29530, 14204, 14781, 29245, 3038 29148, 14972, 15541, 28848, 28746, 15730, 16291, 28431, 3039 28324, 16477, 17030, 27995, 27883, 17213, 17757, 27540, 3040 27423, 17937, 18472, 27066, 26944, 18648, 19174, 26573, 3041 26447, 19347, 19863, 26062, 25931, 20033, 20538, 25533, 3042 25398, 20705, 21199, 24986, 24847, 21363, 21846, 24423, 3043 24279, 22006, 22478, 23843, 23695, 22634, 23095, 23246 3044 }, 3045 }; 3046