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 <ixheaacd_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 }; // end of ia_aac_dec_huffman_tables_struct 399 400 const ia_aac_dec_block_tables_struct ixheaacd_aac_block_tables = { 401 402 // const WORD32 ixheaacd_pow_table_Q13[129] = 403 {0 >> 4, 131072 >> 4, 330281 >> 4, 567116 >> 4, 832256 >> 4, 404 1120650 >> 4, 1429042 >> 4, 1755122 >> 4, 2097152 >> 4, 2453767 >> 4, 405 2823861 >> 4, 3206517 >> 4, 3600960 >> 4, 4006524 >> 4, 4422631 >> 4, 406 4848770 >> 4, 5284492 >> 4, 5729392 >> 4, 6183105 >> 4, 6645302 >> 4, 407 7115683 >> 4, 7593972 >> 4, 8079916 >> 4, 8573281 >> 4, 9073850 >> 4, 408 9581422 >> 4, 10095808 >> 4, 10616832 >> 4, 11144330 >> 4, 11678147 >> 4, 409 12218136 >> 4, 12764159 >> 4, 13316085 >> 4, 13873792 >> 4, 14437162 >> 4, 410 15006082 >> 4, 15580448 >> 4, 16160157 >> 4, 16745112 >> 4, 17335222 >> 4, 411 17930398 >> 4, 18530554 >> 4, 19135610 >> 4, 19745488 >> 4, 20360112 >> 4, 412 20979411 >> 4, 21603314 >> 4, 22231755 >> 4, 22864669 >> 4, 23501994 >> 4, 413 24143669 >> 4, 24789637 >> 4, 25439841 >> 4, 26094226 >> 4, 26752740 >> 4, 414 27415332 >> 4, 28081952 >> 4, 28752552 >> 4, 29427086 >> 4, 30105507 >> 4, 415 30787772 >> 4, 31473838 >> 4, 32163664 >> 4, 32857208 >> 4, 33554432 >> 4, 416 34255297 >> 4, 34959765 >> 4, 35667801 >> 4, 36379368 >> 4, 37094431 >> 4, 417 37812958 >> 4, 38534914 >> 4, 39260268 >> 4, 39988988 >> 4, 40721043 >> 4, 418 41456403 >> 4, 42195038 >> 4, 42936921 >> 4, 43682022 >> 4, 44430314 >> 4, 419 45181770 >> 4, 45936364 >> 4, 46694070 >> 4, 47454862 >> 4, 48218716 >> 4, 420 48985607 >> 4, 49755512 >> 4, 50528406 >> 4, 51304267 >> 4, 52083073 >> 4, 421 52864802 >> 4, 53649431 >> 4, 54436939 >> 4, 55227306 >> 4, 56020511 >> 4, 422 56816534 >> 4, 57615355 >> 4, 58416954 >> 4, 59221313 >> 4, 60028412 >> 4, 423 60838233 >> 4, 61650759 >> 4, 62465970 >> 4, 63283850 >> 4, 64104381 >> 4, 424 64927547 >> 4, 65753329 >> 4, 66581713 >> 4, 67412681 >> 4, 68246218 >> 4, 425 69082308 >> 4, 69920936 >> 4, 70762086 >> 4, 71605743 >> 4, 72451892 >> 4, 426 73300519 >> 4, 74151609 >> 4, 75005149 >> 4, 75861124 >> 4, 76719520 >> 4, 427 77580324 >> 4, 78443523 >> 4, 79309103 >> 4, 80177051 >> 4, 81047354 >> 4, 428 81920000 >> 4, 82794977 >> 4, 83672271 >> 4, 84551871 >> 4}, 429 430 // const WORD16 scale_table[4] = 431 { 432 433 16384, 19484, 23171, 27555}, 434 435 // const WORD8 tns_max_bands_tbl[12][2] = 436 { 437 // Long //Short 438 {31, 9}, // 96000 439 {31, 9}, // 88200 440 {34, 10}, // 64000 441 {40, 14}, // 48000 442 {42, 14}, // 44100 443 {51, 14}, // 32000 444 {46, 14}, // 24000 445 {46, 14}, // 22050 446 {42, 14}, // 16000 447 {42, 14}, // 12000 448 {42, 14}, // 11025 449 {39, 14} // 8000 450 }, 451 452 // const WORD16 tns_coeff3_16[8] = 453 {(WORD16)-0x7e0e, (WORD16)-0x6eda, (WORD16)-0x5247, (WORD16)-0x2bc7, 454 (WORD16)0x0000, (WORD16)0x378a, (WORD16)0x6413, (WORD16)0x7cca}, 455 456 // const WORD16 tns_coeff4_16[16] = 457 {(WORD16)-0x7f74, (WORD16)-0x7b1d, (WORD16)-0x7295, (WORD16)-0x6625, 458 (WORD16)-0x563c, (WORD16)-0x4362, (WORD16)-0x2e3d, (WORD16)-0x1785, 459 (WORD16)0x0000, (WORD16)0x1a9d, (WORD16)0x3410, (WORD16)0x4b3d, 460 (WORD16)0x5f1f, (WORD16)0x6eda, (WORD16)0x79bc, (WORD16)0x7f4c}, 461 462 // const WORD32 scale_mant_tab[PNS_SCALE_MANT_TAB_SIZE] = 463 {0x08000000, 0x09837f05, 0x0b504f33, 0x0d744fcc}, 464 // const WORD32 tns_coeff3[8] = 465 { 466 -2114858540, -1859775364, -1380375817, -734482679, 0, 931758215, 467 1678970362, 2093641723, 468 }, 469 470 // const WORD32 tns_coeff4[16] = 471 { 472 -2138322869, -2065504899, -1922348549, -1713729017, -1446750457, 473 -1130504584, -775760644, -394599111, 0, 446486976, 873460283, 474 1262259191, 1595891328, 1859775364, 2042378368, 2135719561, 475 }, 476 477 // const WORD32 tns_coeff3_32[8] = 478 {(WORD32)-0x7e0e2e31, (WORD32)-0x6ed9eba0, (WORD32)-0x5246dd48, 479 (WORD32)-0x2bc750e8, (WORD32)0x00000000, (WORD32)0x3789809a, 480 (WORD32)0x64130dd3, (WORD32)0x7cca7014}, 481 482 // const WORD32 tns_coeff4_32[16] = 483 {(WORD32)-0x7f7437ac, (WORD32)-0x7b1d1a47, (WORD32)-0x7294b5f1, 484 (WORD32)-0x66256db1, (WORD32)-0x563ba8a9, (WORD32)-0x4362210d, 485 (WORD32)-0x2e3d2aba, (WORD32)-0x17851aac, (WORD32)0x00000000, 486 (WORD32)0x1a9cd9ac, (WORD32)0x340ff241, (WORD32)0x4b3c8c11, 487 (WORD32)0x5f1f5ea0, (WORD32)0x6ed9eba0, (WORD32)0x79bc384c, 488 (WORD32)0x7f4c7e52}, 489 490 // const WORD32 tns_max_bands_tbl_usac[(1<<LEN_SAMP_IDX)][2] = 491 { 492 493 { 494 31, 9, 495 }, // 96000 496 { 497 31, 9, 498 }, // 88200 499 { 500 34, 10, 501 }, // 64000 502 { 503 40, 14, 504 }, // 48000 505 { 506 42, 14, 507 }, // 44100 508 { 509 51, 14, 510 }, // 32000 511 { 512 47, 15, 513 }, // 24000 514 { 515 47, 15, 516 }, // 22050 517 { 518 43, 15, 519 }, // 16000 520 { 521 43, 15, 522 }, // 12000 523 { 524 43, 15, 525 }, // 11025 526 { 527 40, 15, 528 }, // 8000 529 { 530 40, 15, 531 }, // 7350 532 { 533 0, 0, 534 }, 535 { 536 0, 0, 537 }, 538 { 539 0, 0, 540 }}, 541 542 // const Word8 tns_max_bands_tbl_ld[12][4] = 543 { 544 /*{*/ 31, /* 96000 */ 545 /*{*/ 31, /* 88200 */ 546 /*{*/ 31, /* 64000 */ 547 /*{*/ 31, /* 48000 */ 548 /*{*/ 32, /* 44100 */ 549 /*{*/ 37, /* 32000 */ 550 /*{*/ 31, /* 24000 */ 551 /*{*/ 31, /* 22050 */ 552 /*{*/ 31, /* 16000 */ 553 /*{*/ 31, /* 12000 */ 554 /*{*/ 31, /* 11025 */ 555 /*{*/ 31, /* 8000 */ 556 }, 557 // const Word8 tns_max_bands_tbl_480[12][4] = 558 { 559 /*{*/ 31, /* 96000 */ 560 /*{*/ 31, /* 88200 */ 561 /*{*/ 31, /* 64000 */ 562 /*{*/ 31, /* 48000 */ 563 /*{*/ 32, /* 44100 */ 564 /*{*/ 37, /* 32000 */ 565 /*{*/ 30, /* 24000 */ 566 /*{*/ 30, /* 22050 */ 567 /*{*/ 30, /* 16000 */ 568 /*{*/ 30, /* 12000 */ 569 /*{*/ 30, /* 11025 */ 570 /*{*/ 30, /* 8000 */ 571 } 572 573 }; // end of ia_aac_dec_block_tables_struct */ 574 575 const ia_aac_dec_imdct_tables_struct ixheaacd_imdct_tables = { 576 // const WORD16 cos_array_2048[512] and const WORD16 sine_array_2048[512] = 577 578 { 579 -32767, 0, -32767, -101, -32767, -201, -32767, -302, -32766, 580 -402, -32764, -503, -32762, -603, -32760, -704, -32758, -804, 581 -32756, -905, -32753, -1005, -32749, -1106, -32746, -1206, -32742, 582 -1307, -32738, -1407, -32733, -1507, -32729, -1608, -32723, -1708, 583 -32718, -1809, -32712, -1909, -32706, -2009, -32700, -2110, -32693, 584 -2210, -32686, -2310, -32679, -2411, -32672, -2511, -32664, -2611, 585 -32656, -2711, -32647, -2811, -32638, -2912, -32629, -3012, -32620, 586 -3112, -32610, -3212, -32600, -3312, -32590, -3412, -32579, -3512, 587 -32568, -3612, -32557, -3712, -32546, -3812, -32534, -3911, -32522, 588 -4011, -32509, -4111, -32496, -4211, -32483, -4310, -32470, -4410, 589 -32456, -4510, -32442, -4609, -32428, -4709, -32413, -4808, -32398, 590 -4908, -32383, -5007, -32368, -5106, -32352, -5206, -32336, -5305, 591 -32319, -5404, -32303, -5503, -32286, -5602, -32268, -5701, -32251, 592 -5800, -32233, -5899, -32214, -5998, -32196, -6097, -32177, -6195, 593 -32158, -6294, -32138, -6393, -32119, -6491, -32099, -6590, -32078, 594 -6688, -32058, -6787, -32037, -6885, -32015, -6983, -31994, -7081, 595 -31972, -7180, -31950, -7278, -31927, -7376, -31904, -7474, -31881, 596 -7571, -31858, -7669, -31834, -7767, -31810, -7864, -31786, -7962, 597 -31761, -8059, -31737, -8157, -31711, -8254, -31686, -8351, -31660, 598 -8449, -31634, -8546, -31608, -8643, -31581, -8740, -31554, -8837, 599 -31527, -8933, -31499, -9030, -31471, -9127, -31443, -9223, -31415, 600 -9320, -31386, -9416, -31357, -9512, -31328, -9608, -31298, -9704, 601 -31268, -9800, -31238, -9896, -31207, -9992, -31177, -10088, -31146, 602 -10183, -31114, -10279, -31082, -10374, -31050, -10469, -31018, -10565, 603 -30986, -10660, -30953, -10755, -30920, -10850, -30886, -10945, -30853, 604 -11039, -30819, -11134, -30784, -11228, -30750, -11323, -30715, -11417, 605 -30680, -11511, -30644, -11605, -30608, -11699, -30572, -11793, -30536, 606 -11887, -30499, -11980, -30462, -12074, -30425, -12167, -30388, -12261, 607 -30350, -12354, -30312, -12447, -30274, -12540, -30235, -12633, -30196, 608 -12725, -30157, -12818, -30118, -12910, -30078, -13003, -30038, -13095, 609 -29997, -13187, -29957, -13279, -29916, -13371, -29875, -13463, -29833, 610 -13554, -29792, -13646, -29750, -13737, -29707, -13828, -29665, -13919, 611 -29622, -14010, -29579, -14101, -29535, -14192, -29492, -14282, -29448, 612 -14373, -29404, -14463, -29359, -14553, -29314, -14643, -29269, -14733, 613 -29224, -14823, -29178, -14912, -29132, -15002, -29086, -15091, -29040, 614 -15180, -28993, -15269, -28946, -15358, -28899, -15447, -28851, -15535, 615 -28803, -15624, -28755, -15712, -28707, -15800, -28658, -15888, -28610, 616 -15976, -28560, -16064, -28511, -16151, -28461, -16239, -28411, -16326, 617 -28361, -16413, -28311, -16500, -28260, -16587, -28209, -16673, -28158, 618 -16760, -28106, -16846, -28054, -16932, -28002, -17018, -27950, -17104, 619 -27897, -17190, -27844, -17275, -27791, -17361, -27738, -17446, -27684, 620 -17531, -27630, -17616, -27576, -17700, -27522, -17785, -27467, -17869, 621 -27412, -17953, -27357, -18037, -27301, -18121, -27246, -18205, -27190, 622 -18288, -27133, -18372, -27077, -18455, -27020, -18538, -26963, -18621, 623 -26906, -18703, -26848, -18786, -26791, -18868, -26733, -18950, -26674, 624 -19032, -26616, -19114, -26557, -19195, -26498, -19277, -26439, -19358, 625 -26379, -19439, -26320, -19520, -26260, -19601, -26199, -19681, -26139, 626 -19761, -26078, -19841, -26017, -19921, -25956, -20001, -25894, -20081, 627 -25833, -20160, -25771, -20239, -25708, -20318, -25646, -20397, -25583, 628 -20475, -25520, -20554, -25457, -20632, -25394, -20710, -25330, -20788, 629 -25266, -20865, -25202, -20943, -25138, -21020, -25073, -21097, -25008, 630 -21174, -24943, -21251, -24878, -21327, -24812, -21403, -24746, -21479, 631 -24680, -21555, -24614, -21631, -24548, -21706, -24481, -21781, -24414, 632 -21856, -24347, -21931, -24280, -22006, -24212, -22080, -24144, -22154, 633 -24076, -22228, -24008, -22302, -23939, -22375, -23870, -22449, -23801, 634 -22522, -23732, -22595, -23663, -22668, -23593, -22740, -23523, -22812, 635 -23453, -22884, -23383, -22956, -23312, -23028, -23241, -23099, -23170, 636 -23170, 637 }, 638 639 // const WORD8 dig_rev_table8_long[64] 640 {0, 8, 16, 24, 32, 40, 48, 56, 1, 9, 17, 25, 33, 41, 49, 57, 641 2, 10, 18, 26, 34, 42, 50, 58, 3, 11, 19, 27, 35, 43, 51, 59, 642 4, 12, 20, 28, 36, 44, 52, 60, 5, 13, 21, 29, 37, 45, 53, 61, 643 6, 14, 22, 30, 38, 46, 54, 62, 7, 15, 23, 31, 39, 47, 55, 63}, 644 645 // const WORD8 dig_rev_table8_short 646 {0, 1, 2, 3, 4, 5, 6, 7}, 647 648 // const WORD32 fft_twiddle[64 * 7] = 649 {0x00007fff, 0xfe6e7ffe, 0xfcdc7ff6, 0xfb4a7fea, 0xf9b87fd9, 0xf8277fc2, 650 0xf6957fa7, 0xf5057f87, 0xf3747f62, 0xf1e47f38, 0xf0557f0a, 0xeec67ed6, 651 0xed387e9d, 0xebab7e60, 0xea1e7e1e, 0xe8927dd6, 0xe7077d8a, 0xe57d7d3a, 652 0xe3f47ce4, 0xe26d7c89, 0xe0e67c2a, 0xdf617bc6, 0xdddc7b5d, 0xdc597aef, 653 0xdad87a7d, 0xd9587a06, 0xd7d9798a, 0xd65c790a, 0xd4e17885, 0xd36777fb, 654 0xd1ef776c, 0xd07976d9, 0xcf047642, 0xcd9275a6, 0xcc217505, 0xcab27460, 655 0xc94673b6, 0xc7db7308, 0xc6737255, 0xc50d719e, 0xc3a970e3, 0xc2487023, 656 0xc0e96f5f, 0xbf8c6e97, 0xbe326dca, 0xbcda6cf9, 0xbb856c24, 0xba336b4b, 657 0xb8e36a6e, 0xb796698c, 0xb64c68a7, 0xb50567bd, 0xb3c066d0, 0xb27f65de, 658 0xb14064e9, 0xb00563ef, 0xaecc62f2, 0xad9761f1, 0xac6560ec, 0xab365fe4, 659 0xaa0a5ed7, 0xa8e25dc8, 0xa7bd5cb4, 0xa69c5b9d, 0xa57e5a82, 0xa4635964, 660 0xa34c5843, 0xa238571e, 0xa12955f6, 0xa01c54ca, 0x9f14539b, 0x9e0f5269, 661 0x9d0e5134, 0x9c114ffb, 0x9b174ec0, 0x9a224d81, 0x99304c40, 0x98434afb, 662 0x975949b4, 0x9674486a, 0x9592471d, 0x94b545cd, 0x93dc447b, 0x93074326, 663 0x923641ce, 0x91694074, 0x90a13f17, 0x8fdd3db8, 0x8f1d3c57, 0x8e623af3, 664 0x8dab398d, 0x8cf83825, 0x8c4a36ba, 0x8ba0354e, 0x8afb33df, 0x8a5a326e, 665 0x89be30fc, 0x89272f87, 0x88942e11, 0x88052c99, 0x877b2b1f, 0x86f629a4, 666 0x86762827, 0x85fa26a8, 0x85832528, 0x851123a7, 0x84a32224, 0x843a209f, 667 0x83d61f1a, 0x83771d93, 0x831c1c0c, 0x82c61a83, 0x827618f9, 0x822a176e, 668 0x81e215e2, 0x81a01455, 0x816312c8, 0x812a113a, 0x80f60fab, 0x80c80e1c, 669 0x809e0c8c, 0x80790afb, 0x8059096b, 0x803e07d9, 0x80270648, 0x801604b6, 670 0x800a0324, 0x80020192, 0x80000000, 0x8002fe6e, 0x800afcdc, 0x8016fb4a, 671 0x8027f9b8, 0x803ef827, 0x8059f695, 0x8079f505, 0x809ef374, 0x80c8f1e4, 672 0x80f6f055, 0x812aeec6, 0x8163ed38, 0x81a0ebab, 0x81e2ea1e, 0x822ae892, 673 0x8276e707, 0x82c6e57d, 0x831ce3f4, 0x8377e26d, 0x83d6e0e6, 0x843adf61, 674 0x84a3dddc, 0x8511dc59, 0x8583dad8, 0x85fad958, 0x8676d7d9, 0x86f6d65c, 675 0x877bd4e1, 0x8805d367, 0x8894d1ef, 0x8927d079, 0x89becf04, 0x8a5acd92, 676 0x8afbcc21, 0x8ba0cab2, 0x8c4ac946, 0x8cf8c7db, 0x8dabc673, 0x8e62c50d, 677 0x8f1dc3a9, 0x8fddc248, 0x90a1c0e9, 0x9169bf8c, 0x9236be32, 0x9307bcda, 678 0x93dcbb85, 0x94b5ba33, 0x9592b8e3, 0x9674b796, 0x9759b64c, 0x9843b505, 679 0x9930b3c0, 0x9a22b27f, 0x9b17b140, 0x9c11b005, 0x9d0eaecc, 0x9e0fad97, 680 0x9f14ac65, 0xa01cab36, 0xa129aa0a, 0xa238a8e2, 0xa34ca7bd, 0xa463a69c, 681 0xa57ea57e, 0xa69ca463, 0xa7bda34c, 0xa8e2a238, 0xaa0aa129, 0xab36a01c, 682 0xac659f14, 0xad979e0f, 0xaecc9d0e, 0xb0059c11, 0xb1409b17, 0xb27f9a22, 683 0xb3c09930, 0xb5059843, 0xb64c9759, 0xb7969674, 0xb8e39592, 0xba3394b5, 684 0xbb8593dc, 0xbcda9307, 0xbe329236, 0xbf8c9169, 0xc0e990a1, 0xc2488fdd, 685 0xc3a98f1d, 0xc50d8e62, 0xc6738dab, 0xc7db8cf8, 0xc9468c4a, 0xcab28ba0, 686 0xcc218afb, 0xcd928a5a, 0xcf0489be, 0xd0798927, 0xd1ef8894, 0xd3678805, 687 0xd4e1877b, 0xd65c86f6, 0xd7d98676, 0xd95885fa, 0xdad88583, 0xdc598511, 688 0xdddc84a3, 0xdf61843a, 0xe0e683d6, 0xe26d8377, 0xe3f4831c, 0xe57d82c6, 689 0xe7078276, 0xe892822a, 0xea1e81e2, 0xebab81a0, 0xed388163, 0xeec6812a, 690 0xf05580f6, 0xf1e480c8, 0xf374809e, 0xf5058079, 0xf6958059, 0xf827803e, 691 0xf9b88027, 0xfb4a8016, 0xfcdc800a, 0xfe6e8002, 0x00008000, 0x01928002, 692 0x0324800a, 0x04b68016, 0x06488027, 0x07d9803e, 0x096b8059, 0x0afb8079, 693 0x0c8c809e, 0x0e1c80c8, 0x0fab80f6, 0x113a812a, 0x12c88163, 0x145581a0, 694 0x15e281e2, 0x176e822a, 0x18f98276, 0x1a8382c6, 0x1c0c831c, 0x1d938377, 695 0x1f1a83d6, 0x209f843a, 0x222484a3, 0x23a78511, 0x25288583, 0x26a885fa, 696 0x28278676, 0x29a486f6, 0x2b1f877b, 0x2c998805, 0x2e118894, 0x2f878927, 697 0x30fc89be, 0x326e8a5a, 0x33df8afb, 0x354e8ba0, 0x36ba8c4a, 0x38258cf8, 698 0x398d8dab, 0x3af38e62, 0x3c578f1d, 0x3db88fdd, 0x3f1790a1, 0x40749169, 699 0x41ce9236, 0x43269307, 0x447b93dc, 0x45cd94b5, 0x471d9592, 0x486a9674, 700 0x49b49759, 0x4afb9843, 0x4c409930, 0x4d819a22, 0x4ec09b17, 0x4ffb9c11, 701 0x51349d0e, 0x52699e0f, 0x539b9f14, 0x54caa01c, 0x55f6a129, 0x571ea238, 702 0x5843a34c, 0x5964a463, 0x5a82a57e, 0x5b9da69c, 0x5cb4a7bd, 0x5dc8a8e2, 703 0x5ed7aa0a, 0x5fe4ab36, 0x60ecac65, 0x61f1ad97, 0x62f2aecc, 0x63efb005, 704 0x64e9b140, 0x65deb27f, 0x66d0b3c0, 0x67bdb505, 0x68a7b64c, 0x698cb796, 705 0x6a6eb8e3, 0x6b4bba33, 0x6c24bb85, 0x6cf9bcda, 0x6dcabe32, 0x6e97bf8c, 706 0x6f5fc0e9, 0x7023c248, 0x70e3c3a9, 0x719ec50d, 0x7255c673, 0x7308c7db, 707 0x73b6c946, 0x7460cab2, 0x7505cc21, 0x75a6cd92, 0x7642cf04, 0x76d9d079, 708 0x776cd1ef, 0x77fbd367, 0x7885d4e1, 0x790ad65c, 0x798ad7d9, 0x7a06d958, 709 0x7a7ddad8, 0x7aefdc59, 0x7b5ddddc, 0x7bc6df61, 0x7c2ae0e6, 0x7c89e26d, 710 0x7ce4e3f4, 0x7d3ae57d, 0x7d8ae707, 0x7dd6e892, 0x7e1eea1e, 0x7e60ebab, 711 0x7e9ded38, 0x7ed6eec6, 0x7f0af055, 0x7f38f1e4, 0x7f62f374, 0x7f87f505, 712 0x7fa7f695, 0x7fc2f827, 0x7fd9f9b8, 0x7feafb4a, 0x7ff6fcdc, 0x7ffefe6e, 713 0x7fff0000, 0x7ffe0192, 0x7ff60324, 0x7fea04b6, 0x7fd90648, 0x7fc207d9, 714 0x7fa7096b, 0x7f870afb, 0x7f620c8c, 0x7f380e1c, 0x7f0a0fab, 0x7ed6113a, 715 0x7e9d12c8, 0x7e601455, 0x7e1e15e2, 0x7dd6176e, 0x7d8a18f9, 0x7d3a1a83, 716 0x7ce41c0c, 0x7c891d93, 0x7c2a1f1a, 0x7bc6209f, 0x7b5d2224, 0x7aef23a7, 717 0x7a7d2528, 0x7a0626a8, 0x798a2827, 0x790a29a4, 0x78852b1f, 0x77fb2c99, 718 0x776c2e11, 0x76d92f87, 0x764230fc, 0x75a6326e, 0x750533df, 0x7460354e, 719 0x73b636ba, 0x73083825, 0x7255398d, 0x719e3af3, 0x70e33c57, 0x70233db8, 720 0x6f5f3f17, 0x6e974074, 0x6dca41ce, 0x6cf94326, 0x6c24447b, 0x6b4b45cd, 721 0x6a6e471d, 0x698c486a, 0x68a749b4, 0x67bd4afb, 0x66d04c40, 0x65de4d81, 722 0x64e94ec0, 0x63ef4ffb, 0x62f25134, 0x61f15269}, 723 724 // const WORD16 only_long_window_sine[1024] = 725 {0x0019, 0x7fff, 0x004b, 0x7fff, 0x007e, 0x7fff, 0x00b0, 0x7fff, 0x00e2, 726 0x7fff, 0x0114, 0x7fff, 0x0147, 0x7ffe, 0x0179, 0x7ffe, 0x01ab, 0x7ffd, 727 0x01dd, 0x7ffd, 0x0210, 0x7ffc, 0x0242, 0x7ffb, 0x0274, 0x7ffa, 0x02a7, 728 0x7ff9, 0x02d9, 0x7ff8, 0x030b, 0x7ff7, 0x033d, 0x7ff6, 0x0370, 0x7ff4, 729 0x03a2, 0x7ff3, 0x03d4, 0x7ff1, 0x0406, 0x7ff0, 0x0439, 0x7fee, 0x046b, 730 0x7fec, 0x049d, 0x7feb, 0x04cf, 0x7fe9, 0x0501, 0x7fe7, 0x0534, 0x7fe5, 731 0x0566, 0x7fe3, 0x0598, 0x7fe1, 0x05ca, 0x7fde, 0x05fd, 0x7fdc, 0x062f, 732 0x7fda, 0x0661, 0x7fd7, 0x0693, 0x7fd5, 0x06c5, 0x7fd2, 0x06f8, 0x7fcf, 733 0x072a, 0x7fcd, 0x075c, 0x7fca, 0x078e, 0x7fc7, 0x07c0, 0x7fc4, 0x07f2, 734 0x7fc1, 0x0825, 0x7fbe, 0x0857, 0x7fba, 0x0889, 0x7fb7, 0x08bb, 0x7fb4, 735 0x08ed, 0x7fb0, 0x091f, 0x7fad, 0x0952, 0x7fa9, 0x0984, 0x7fa5, 0x09b6, 736 0x7fa2, 0x09e8, 0x7f9e, 0x0a1a, 0x7f9a, 0x0a4c, 0x7f96, 0x0a7e, 0x7f92, 737 0x0ab0, 0x7f8e, 0x0ae2, 0x7f89, 0x0b14, 0x7f85, 0x0b47, 0x7f81, 0x0b79, 738 0x7f7c, 0x0bab, 0x7f78, 0x0bdd, 0x7f73, 0x0c0f, 0x7f6e, 0x0c41, 0x7f6a, 739 0x0c73, 0x7f65, 0x0ca5, 0x7f60, 0x0cd7, 0x7f5b, 0x0d09, 0x7f56, 0x0d3b, 740 0x7f50, 0x0d6d, 0x7f4b, 0x0d9f, 0x7f46, 0x0dd1, 0x7f41, 0x0e03, 0x7f3b, 741 0x0e35, 0x7f36, 0x0e67, 0x7f30, 0x0e99, 0x7f2a, 0x0ecb, 0x7f24, 0x0efc, 742 0x7f1f, 0x0f2e, 0x7f19, 0x0f60, 0x7f13, 0x0f92, 0x7f0d, 0x0fc4, 0x7f06, 743 0x0ff6, 0x7f00, 0x1028, 0x7efa, 0x105a, 0x7ef4, 0x108c, 0x7eed, 0x10bd, 744 0x7ee7, 0x10ef, 0x7ee0, 0x1121, 0x7ed9, 0x1153, 0x7ed3, 0x1185, 0x7ecc, 745 0x11b6, 0x7ec5, 0x11e8, 0x7ebe, 0x121a, 0x7eb7, 0x124c, 0x7eb0, 0x127d, 746 0x7ea8, 0x12af, 0x7ea1, 0x12e1, 0x7e9a, 0x1313, 0x7e92, 0x1344, 0x7e8b, 747 0x1376, 0x7e83, 0x13a8, 0x7e7b, 0x13d9, 0x7e74, 0x140b, 0x7e6c, 0x143d, 748 0x7e64, 0x146e, 0x7e5c, 0x14a0, 0x7e54, 0x14d1, 0x7e4c, 0x1503, 0x7e43, 749 0x1535, 0x7e3b, 0x1566, 0x7e33, 0x1598, 0x7e2a, 0x15c9, 0x7e22, 0x15fb, 750 0x7e19, 0x162c, 0x7e11, 0x165e, 0x7e08, 0x168f, 0x7dff, 0x16c1, 0x7df6, 751 0x16f2, 0x7ded, 0x1724, 0x7de4, 0x1755, 0x7ddb, 0x1787, 0x7dd2, 0x17b8, 752 0x7dc9, 0x17e9, 0x7dbf, 0x181b, 0x7db6, 0x184c, 0x7dac, 0x187d, 0x7da3, 753 0x18af, 0x7d99, 0x18e0, 0x7d8f, 0x1911, 0x7d85, 0x1943, 0x7d7c, 0x1974, 754 0x7d72, 0x19a5, 0x7d68, 0x19d6, 0x7d5d, 0x1a08, 0x7d53, 0x1a39, 0x7d49, 755 0x1a6a, 0x7d3f, 0x1a9b, 0x7d34, 0x1acc, 0x7d2a, 0x1afe, 0x7d1f, 0x1b2f, 756 0x7d15, 0x1b60, 0x7d0a, 0x1b91, 0x7cff, 0x1bc2, 0x7cf4, 0x1bf3, 0x7ce9, 757 0x1c24, 0x7cde, 0x1c55, 0x7cd3, 0x1c86, 0x7cc8, 0x1cb7, 0x7cbd, 0x1ce8, 758 0x7cb1, 0x1d19, 0x7ca6, 0x1d4a, 0x7c9b, 0x1d7b, 0x7c8f, 0x1dac, 0x7c83, 759 0x1ddd, 0x7c78, 0x1e0e, 0x7c6c, 0x1e3e, 0x7c60, 0x1e6f, 0x7c54, 0x1ea0, 760 0x7c48, 0x1ed1, 0x7c3c, 0x1f02, 0x7c30, 0x1f32, 0x7c24, 0x1f63, 0x7c18, 761 0x1f94, 0x7c0b, 0x1fc5, 0x7bff, 0x1ff5, 0x7bf2, 0x2026, 0x7be6, 0x2057, 762 0x7bd9, 0x2087, 0x7bcc, 0x20b8, 0x7bbf, 0x20e8, 0x7bb3, 0x2119, 0x7ba6, 763 0x2149, 0x7b99, 0x217a, 0x7b8b, 0x21aa, 0x7b7e, 0x21db, 0x7b71, 0x220b, 764 0x7b64, 0x223c, 0x7b56, 0x226c, 0x7b49, 0x229d, 0x7b3b, 0x22cd, 0x7b2e, 765 0x22fd, 0x7b20, 0x232e, 0x7b12, 0x235e, 0x7b04, 0x238e, 0x7af6, 0x23bf, 766 0x7ae8, 0x23ef, 0x7ada, 0x241f, 0x7acc, 0x244f, 0x7abe, 0x2480, 0x7ab0, 767 0x24b0, 0x7aa1, 0x24e0, 0x7a93, 0x2510, 0x7a84, 0x2540, 0x7a76, 0x2570, 768 0x7a67, 0x25a0, 0x7a58, 0x25d0, 0x7a49, 0x2600, 0x7a3b, 0x2630, 0x7a2c, 769 0x2660, 0x7a1d, 0x2690, 0x7a0e, 0x26c0, 0x79fe, 0x26f0, 0x79ef, 0x2720, 770 0x79e0, 0x2750, 0x79d0, 0x2780, 0x79c1, 0x27af, 0x79b1, 0x27df, 0x79a2, 771 0x280f, 0x7992, 0x283f, 0x7982, 0x286e, 0x7972, 0x289e, 0x7962, 0x28ce, 772 0x7952, 0x28fd, 0x7942, 0x292d, 0x7932, 0x295c, 0x7922, 0x298c, 0x7912, 773 0x29bc, 0x7901, 0x29eb, 0x78f1, 0x2a1b, 0x78e1, 0x2a4a, 0x78d0, 0x2a79, 774 0x78bf, 0x2aa9, 0x78af, 0x2ad8, 0x789e, 0x2b08, 0x788d, 0x2b37, 0x787c, 775 0x2b66, 0x786b, 0x2b95, 0x785a, 0x2bc5, 0x7849, 0x2bf4, 0x7838, 0x2c23, 776 0x7826, 0x2c52, 0x7815, 0x2c81, 0x7803, 0x2cb1, 0x77f2, 0x2ce0, 0x77e0, 777 0x2d0f, 0x77cf, 0x2d3e, 0x77bd, 0x2d6d, 0x77ab, 0x2d9c, 0x7799, 0x2dcb, 778 0x7787, 0x2dfa, 0x7775, 0x2e29, 0x7763, 0x2e57, 0x7751, 0x2e86, 0x773f, 779 0x2eb5, 0x772d, 0x2ee4, 0x771a, 0x2f13, 0x7708, 0x2f41, 0x76f5, 0x2f70, 780 0x76e3, 0x2f9f, 0x76d0, 0x2fcd, 0x76bd, 0x2ffc, 0x76aa, 0x302b, 0x7698, 781 0x3059, 0x7685, 0x3088, 0x7672, 0x30b6, 0x765e, 0x30e5, 0x764b, 0x3113, 782 0x7638, 0x3141, 0x7625, 0x3170, 0x7611, 0x319e, 0x75fe, 0x31cc, 0x75ea, 783 0x31fb, 0x75d7, 0x3229, 0x75c3, 0x3257, 0x75af, 0x3285, 0x759c, 0x32b4, 784 0x7588, 0x32e2, 0x7574, 0x3310, 0x7560, 0x333e, 0x754c, 0x336c, 0x7538, 785 0x339a, 0x7523, 0x33c8, 0x750f, 0x33f6, 0x74fb, 0x3424, 0x74e6, 0x3452, 786 0x74d2, 0x3480, 0x74bd, 0x34ad, 0x74a8, 0x34db, 0x7494, 0x3509, 0x747f, 787 0x3537, 0x746a, 0x3564, 0x7455, 0x3592, 0x7440, 0x35c0, 0x742b, 0x35ed, 788 0x7416, 0x361b, 0x7401, 0x3648, 0x73eb, 0x3676, 0x73d6, 0x36a3, 0x73c1, 789 0x36d1, 0x73ab, 0x36fe, 0x7396, 0x372c, 0x7380, 0x3759, 0x736a, 0x3786, 790 0x7354, 0x37b4, 0x733f, 0x37e1, 0x7329, 0x380e, 0x7313, 0x383b, 0x72fd, 791 0x3868, 0x72e7, 0x3895, 0x72d0, 0x38c2, 0x72ba, 0x38f0, 0x72a4, 0x391d, 792 0x728d, 0x3949, 0x7277, 0x3976, 0x7260, 0x39a3, 0x724a, 0x39d0, 0x7233, 793 0x39fd, 0x721c, 0x3a2a, 0x7206, 0x3a57, 0x71ef, 0x3a83, 0x71d8, 0x3ab0, 794 0x71c1, 0x3add, 0x71aa, 0x3b09, 0x7193, 0x3b36, 0x717b, 0x3b62, 0x7164, 795 0x3b8f, 0x714d, 0x3bbb, 0x7135, 0x3be8, 0x711e, 0x3c14, 0x7106, 0x3c41, 796 0x70ef, 0x3c6d, 0x70d7, 0x3c99, 0x70bf, 0x3cc5, 0x70a7, 0x3cf2, 0x708f, 797 0x3d1e, 0x7077, 0x3d4a, 0x705f, 0x3d76, 0x7047, 0x3da2, 0x702f, 0x3dce, 798 0x7017, 0x3dfa, 0x6fff, 0x3e26, 0x6fe6, 0x3e52, 0x6fce, 0x3e7e, 0x6fb5, 799 0x3eaa, 0x6f9d, 0x3ed6, 0x6f84, 0x3f01, 0x6f6b, 0x3f2d, 0x6f53, 0x3f59, 800 0x6f3a, 0x3f84, 0x6f21, 0x3fb0, 0x6f08, 0x3fdc, 0x6eef, 0x4007, 0x6ed6, 801 0x4033, 0x6ebd, 0x405e, 0x6ea3, 0x408a, 0x6e8a, 0x40b5, 0x6e71, 0x40e0, 802 0x6e57, 0x410c, 0x6e3e, 0x4137, 0x6e24, 0x4162, 0x6e0a, 0x418d, 0x6df1, 803 0x41b9, 0x6dd7, 0x41e4, 0x6dbd, 0x420f, 0x6da3, 0x423a, 0x6d89, 0x4265, 804 0x6d6f, 0x4290, 0x6d55, 0x42bb, 0x6d3b, 0x42e6, 0x6d21, 0x4310, 0x6d06, 805 0x433b, 0x6cec, 0x4366, 0x6cd2, 0x4391, 0x6cb7, 0x43bb, 0x6c9c, 0x43e6, 806 0x6c82, 0x4411, 0x6c67, 0x443b, 0x6c4c, 0x4466, 0x6c32, 0x4490, 0x6c17, 807 0x44ba, 0x6bfc, 0x44e5, 0x6be1, 0x450f, 0x6bc6, 0x4539, 0x6baa, 0x4564, 808 0x6b8f, 0x458e, 0x6b74, 0x45b8, 0x6b59, 0x45e2, 0x6b3d, 0x460c, 0x6b22, 809 0x4636, 0x6b06, 0x4660, 0x6aeb, 0x468a, 0x6acf, 0x46b4, 0x6ab3, 0x46de, 810 0x6a97, 0x4708, 0x6a7c, 0x4732, 0x6a60, 0x475c, 0x6a44, 0x4785, 0x6a28, 811 0x47af, 0x6a0b, 0x47d9, 0x69ef, 0x4802, 0x69d3, 0x482c, 0x69b7, 0x4855, 812 0x699a, 0x487f, 0x697e, 0x48a8, 0x6961, 0x48d1, 0x6945, 0x48fb, 0x6928, 813 0x4924, 0x690c, 0x494d, 0x68ef, 0x4976, 0x68d2, 0x49a0, 0x68b5, 0x49c9, 814 0x6898, 0x49f2, 0x687b, 0x4a1b, 0x685e, 0x4a44, 0x6841, 0x4a6d, 0x6824, 815 0x4a95, 0x6806, 0x4abe, 0x67e9, 0x4ae7, 0x67cc, 0x4b10, 0x67ae, 0x4b38, 816 0x6791, 0x4b61, 0x6773, 0x4b8a, 0x6756, 0x4bb2, 0x6738, 0x4bdb, 0x671a, 817 0x4c03, 0x66fc, 0x4c2c, 0x66de, 0x4c54, 0x66c1, 0x4c7c, 0x66a3, 0x4ca5, 818 0x6684, 0x4ccd, 0x6666, 0x4cf5, 0x6648, 0x4d1d, 0x662a, 0x4d45, 0x660c, 819 0x4d6d, 0x65ed, 0x4d95, 0x65cf, 0x4dbd, 0x65b0, 0x4de5, 0x6592, 0x4e0d, 820 0x6573, 0x4e35, 0x6554, 0x4e5d, 0x6536, 0x4e84, 0x6517, 0x4eac, 0x64f8, 821 0x4ed4, 0x64d9, 0x4efb, 0x64ba, 0x4f23, 0x649b, 0x4f4a, 0x647c, 0x4f72, 822 0x645d, 0x4f99, 0x643e, 0x4fc0, 0x641e, 0x4fe8, 0x63ff, 0x500f, 0x63df, 823 0x5036, 0x63c0, 0x505d, 0x63a0, 0x5084, 0x6381, 0x50ac, 0x6361, 0x50d3, 824 0x6342, 0x50f9, 0x6322, 0x5120, 0x6302, 0x5147, 0x62e2, 0x516e, 0x62c2, 825 0x5195, 0x62a2, 0x51bb, 0x6282, 0x51e2, 0x6262, 0x5209, 0x6242, 0x522f, 826 0x6221, 0x5256, 0x6201, 0x527c, 0x61e1, 0x52a3, 0x61c0, 0x52c9, 0x61a0, 827 0x52ef, 0x617f, 0x5316, 0x615f, 0x533c, 0x613e, 0x5362, 0x611d, 0x5388, 828 0x60fd, 0x53ae, 0x60dc, 0x53d4, 0x60bb, 0x53fa, 0x609a, 0x5420, 0x6079, 829 0x5446, 0x6058, 0x546c, 0x6037, 0x5491, 0x6016, 0x54b7, 0x5ff4, 0x54dd, 830 0x5fd3, 0x5502, 0x5fb2, 0x5528, 0x5f90, 0x554e, 0x5f6f, 0x5573, 0x5f4d, 831 0x5598, 0x5f2c, 0x55be, 0x5f0a, 0x55e3, 0x5ee8, 0x5608, 0x5ec7, 0x562d, 832 0x5ea5, 0x5653, 0x5e83, 0x5678, 0x5e61, 0x569d, 0x5e3f, 0x56c2, 0x5e1d, 833 0x56e7, 0x5dfb, 0x570c, 0x5dd9, 0x5730, 0x5db7, 0x5755, 0x5d94, 0x577a, 834 0x5d72, 0x579f, 0x5d50, 0x57c3, 0x5d2d, 0x57e8, 0x5d0b, 0x580c, 0x5ce8, 835 0x5831, 0x5cc5, 0x5855, 0x5ca3, 0x5879, 0x5c80, 0x589e, 0x5c5d, 0x58c2, 836 0x5c3a, 0x58e6, 0x5c18, 0x590a, 0x5bf5, 0x592e, 0x5bd2, 0x5952, 0x5baf, 837 0x5976, 0x5b8c, 0x599a, 0x5b68, 0x59be, 0x5b45, 0x59e2, 0x5b22, 0x5a06, 838 0x5aff, 0x5a29, 0x5adb, 0x5a4d, 0x5ab8, 0x5a71, 0x5a94}, 839 840 // const WORD16 only_long_window_kbd[1024] = 841 {0x000a, 0x7fff, 0x000e, 0x7fff, 0x0012, 0x7fff, 0x0015, 0x7fff, 0x0019, 842 0x7fff, 0x001c, 0x7fff, 0x0020, 0x7fff, 0x0023, 0x7fff, 0x0026, 0x7fff, 843 0x002a, 0x7fff, 0x002d, 0x7fff, 0x0030, 0x7fff, 0x0034, 0x7fff, 0x0038, 844 0x7fff, 0x003b, 0x7fff, 0x003f, 0x7fff, 0x0043, 0x7fff, 0x0047, 0x7fff, 845 0x004b, 0x7fff, 0x004f, 0x7fff, 0x0053, 0x7fff, 0x0057, 0x7fff, 0x005b, 846 0x7fff, 0x0060, 0x7fff, 0x0064, 0x7fff, 0x0069, 0x7fff, 0x006d, 0x7fff, 847 0x0072, 0x7fff, 0x0077, 0x7fff, 0x007c, 0x7fff, 0x0081, 0x7fff, 0x0086, 848 0x7fff, 0x008b, 0x7fff, 0x0091, 0x7fff, 0x0096, 0x7fff, 0x009c, 0x7fff, 849 0x00a1, 0x7fff, 0x00a7, 0x7fff, 0x00ad, 0x7fff, 0x00b3, 0x7fff, 0x00b9, 850 0x7fff, 0x00bf, 0x7fff, 0x00c6, 0x7fff, 0x00cc, 0x7fff, 0x00d3, 0x7fff, 851 0x00da, 0x7fff, 0x00e0, 0x7fff, 0x00e7, 0x7fff, 0x00ee, 0x7fff, 0x00f5, 852 0x7fff, 0x00fd, 0x7fff, 0x0104, 0x7fff, 0x010c, 0x7fff, 0x0113, 0x7fff, 853 0x011b, 0x7fff, 0x0123, 0x7fff, 0x012b, 0x7fff, 0x0133, 0x7fff, 0x013c, 854 0x7ffe, 0x0144, 0x7ffe, 0x014d, 0x7ffe, 0x0156, 0x7ffe, 0x015f, 0x7ffe, 855 0x0168, 0x7ffe, 0x0171, 0x7ffe, 0x017a, 0x7ffe, 0x0183, 0x7ffe, 0x018d, 856 0x7ffe, 0x0197, 0x7ffd, 0x01a1, 0x7ffd, 0x01ab, 0x7ffd, 0x01b5, 0x7ffd, 857 0x01bf, 0x7ffd, 0x01ca, 0x7ffd, 0x01d4, 0x7ffd, 0x01df, 0x7ffc, 0x01ea, 858 0x7ffc, 0x01f5, 0x7ffc, 0x0200, 0x7ffc, 0x020c, 0x7ffc, 0x0217, 0x7ffc, 859 0x0223, 0x7ffb, 0x022f, 0x7ffb, 0x023b, 0x7ffb, 0x0247, 0x7ffb, 0x0253, 860 0x7ffb, 0x0260, 0x7ffa, 0x026d, 0x7ffa, 0x027a, 0x7ffa, 0x0287, 0x7ffa, 861 0x0294, 0x7ff9, 0x02a1, 0x7ff9, 0x02af, 0x7ff9, 0x02bc, 0x7ff9, 0x02ca, 862 0x7ff8, 0x02d8, 0x7ff8, 0x02e7, 0x7ff8, 0x02f5, 0x7ff7, 0x0304, 0x7ff7, 863 0x0312, 0x7ff7, 0x0321, 0x7ff6, 0x0331, 0x7ff6, 0x0340, 0x7ff5, 0x034f, 864 0x7ff5, 0x035f, 0x7ff5, 0x036f, 0x7ff4, 0x037f, 0x7ff4, 0x038f, 0x7ff3, 865 0x03a0, 0x7ff3, 0x03b0, 0x7ff2, 0x03c1, 0x7ff2, 0x03d2, 0x7ff1, 0x03e3, 866 0x7ff1, 0x03f5, 0x7ff0, 0x0406, 0x7ff0, 0x0418, 0x7fef, 0x042a, 0x7fef, 867 0x043c, 0x7fee, 0x044f, 0x7fed, 0x0461, 0x7fed, 0x0474, 0x7fec, 0x0487, 868 0x7feb, 0x049a, 0x7feb, 0x04ae, 0x7fea, 0x04c1, 0x7fe9, 0x04d5, 0x7fe9, 869 0x04e9, 0x7fe8, 0x04fd, 0x7fe7, 0x0512, 0x7fe6, 0x0527, 0x7fe5, 0x053b, 870 0x7fe5, 0x0550, 0x7fe4, 0x0566, 0x7fe3, 0x057b, 0x7fe2, 0x0591, 0x7fe1, 871 0x05a7, 0x7fe0, 0x05bd, 0x7fdf, 0x05d3, 0x7fde, 0x05ea, 0x7fdd, 0x0601, 872 0x7fdc, 0x0618, 0x7fdb, 0x062f, 0x7fda, 0x0646, 0x7fd9, 0x065e, 0x7fd7, 873 0x0676, 0x7fd6, 0x068e, 0x7fd5, 0x06a6, 0x7fd4, 0x06bf, 0x7fd2, 0x06d8, 874 0x7fd1, 0x06f1, 0x7fd0, 0x070a, 0x7fce, 0x0723, 0x7fcd, 0x073d, 0x7fcc, 875 0x0757, 0x7fca, 0x0771, 0x7fc9, 0x078c, 0x7fc7, 0x07a6, 0x7fc5, 0x07c1, 876 0x7fc4, 0x07dc, 0x7fc2, 0x07f7, 0x7fc0, 0x0813, 0x7fbf, 0x082f, 0x7fbd, 877 0x084b, 0x7fbb, 0x0867, 0x7fb9, 0x0884, 0x7fb7, 0x08a0, 0x7fb6, 0x08bd, 878 0x7fb4, 0x08da, 0x7fb2, 0x08f8, 0x7faf, 0x0916, 0x7fad, 0x0934, 0x7fab, 879 0x0952, 0x7fa9, 0x0970, 0x7fa7, 0x098f, 0x7fa5, 0x09ae, 0x7fa2, 0x09cd, 880 0x7fa0, 0x09ec, 0x7f9d, 0x0a0c, 0x7f9b, 0x0a2c, 0x7f98, 0x0a4c, 0x7f96, 881 0x0a6c, 0x7f93, 0x0a8d, 0x7f91, 0x0aae, 0x7f8e, 0x0acf, 0x7f8b, 0x0af0, 882 0x7f88, 0x0b12, 0x7f85, 0x0b33, 0x7f82, 0x0b55, 0x7f7f, 0x0b78, 0x7f7c, 883 0x0b9a, 0x7f79, 0x0bbd, 0x7f76, 0x0be0, 0x7f73, 0x0c04, 0x7f6f, 0x0c27, 884 0x7f6c, 0x0c4b, 0x7f69, 0x0c6f, 0x7f65, 0x0c93, 0x7f61, 0x0cb8, 0x7f5e, 885 0x0cdd, 0x7f5a, 0x0d02, 0x7f56, 0x0d27, 0x7f53, 0x0d4d, 0x7f4f, 0x0d73, 886 0x7f4b, 0x0d99, 0x7f47, 0x0dbf, 0x7f43, 0x0de6, 0x7f3e, 0x0e0c, 0x7f3a, 887 0x0e34, 0x7f36, 0x0e5b, 0x7f31, 0x0e83, 0x7f2d, 0x0eaa, 0x7f28, 0x0ed3, 888 0x7f24, 0x0efb, 0x7f1f, 0x0f23, 0x7f1a, 0x0f4c, 0x7f15, 0x0f75, 0x7f10, 889 0x0f9f, 0x7f0b, 0x0fc8, 0x7f06, 0x0ff2, 0x7f01, 0x101c, 0x7efb, 0x1047, 890 0x7ef6, 0x1071, 0x7ef0, 0x109c, 0x7eeb, 0x10c8, 0x7ee5, 0x10f3, 0x7edf, 891 0x111f, 0x7eda, 0x114a, 0x7ed4, 0x1177, 0x7ece, 0x11a3, 0x7ec7, 0x11d0, 892 0x7ec1, 0x11fd, 0x7ebb, 0x122a, 0x7eb4, 0x1257, 0x7eae, 0x1285, 0x7ea7, 893 0x12b3, 0x7ea0, 0x12e1, 0x7e9a, 0x130f, 0x7e93, 0x133e, 0x7e8c, 0x136d, 894 0x7e84, 0x139c, 0x7e7d, 0x13cc, 0x7e76, 0x13fb, 0x7e6e, 0x142b, 0x7e67, 895 0x145b, 0x7e5f, 0x148c, 0x7e57, 0x14bc, 0x7e4f, 0x14ed, 0x7e47, 0x151e, 896 0x7e3f, 0x1550, 0x7e37, 0x1581, 0x7e2e, 0x15b3, 0x7e26, 0x15e5, 0x7e1d, 897 0x1618, 0x7e14, 0x164a, 0x7e0b, 0x167d, 0x7e02, 0x16b0, 0x7df9, 0x16e4, 898 0x7df0, 0x1717, 0x7de6, 0x174b, 0x7ddd, 0x177f, 0x7dd3, 0x17b3, 0x7dc9, 899 0x17e8, 0x7dbf, 0x181d, 0x7db5, 0x1852, 0x7dab, 0x1887, 0x7da1, 0x18bc, 900 0x7d96, 0x18f2, 0x7d8c, 0x1928, 0x7d81, 0x195e, 0x7d76, 0x1995, 0x7d6b, 901 0x19cb, 0x7d60, 0x1a02, 0x7d54, 0x1a39, 0x7d49, 0x1a71, 0x7d3d, 0x1aa8, 902 0x7d31, 0x1ae0, 0x7d26, 0x1b18, 0x7d19, 0x1b50, 0x7d0d, 0x1b89, 0x7d01, 903 0x1bc2, 0x7cf4, 0x1bfb, 0x7ce8, 0x1c34, 0x7cdb, 0x1c6d, 0x7cce, 0x1ca7, 904 0x7cc1, 0x1ce1, 0x7cb3, 0x1d1b, 0x7ca6, 0x1d55, 0x7c98, 0x1d8f, 0x7c8a, 905 0x1dca, 0x7c7c, 0x1e05, 0x7c6e, 0x1e40, 0x7c60, 0x1e7b, 0x7c51, 0x1eb7, 906 0x7c43, 0x1ef3, 0x7c34, 0x1f2f, 0x7c25, 0x1f6b, 0x7c16, 0x1fa7, 0x7c06, 907 0x1fe4, 0x7bf7, 0x2021, 0x7be7, 0x205e, 0x7bd7, 0x209b, 0x7bc7, 0x20d8, 908 0x7bb7, 0x2116, 0x7ba6, 0x2154, 0x7b96, 0x2192, 0x7b85, 0x21d0, 0x7b74, 909 0x220e, 0x7b63, 0x224d, 0x7b52, 0x228c, 0x7b40, 0x22cb, 0x7b2e, 0x230a, 910 0x7b1c, 0x2349, 0x7b0a, 0x2389, 0x7af8, 0x23c8, 0x7ae6, 0x2408, 0x7ad3, 911 0x2448, 0x7ac0, 0x2489, 0x7aad, 0x24c9, 0x7a9a, 0x250a, 0x7a86, 0x254b, 912 0x7a73, 0x258c, 0x7a5f, 0x25cd, 0x7a4b, 0x260e, 0x7a36, 0x2650, 0x7a22, 913 0x2691, 0x7a0d, 0x26d3, 0x79f8, 0x2715, 0x79e3, 0x2757, 0x79ce, 0x279a, 914 0x79b8, 0x27dc, 0x79a3, 0x281f, 0x798d, 0x2862, 0x7977, 0x28a5, 0x7960, 915 0x28e8, 0x794a, 0x292b, 0x7933, 0x296f, 0x791c, 0x29b2, 0x7905, 0x29f6, 916 0x78ed, 0x2a3a, 0x78d6, 0x2a7e, 0x78be, 0x2ac2, 0x78a6, 0x2b07, 0x788d, 917 0x2b4b, 0x7875, 0x2b90, 0x785c, 0x2bd4, 0x7843, 0x2c19, 0x782a, 0x2c5e, 918 0x7810, 0x2ca4, 0x77f7, 0x2ce9, 0x77dd, 0x2d2e, 0x77c3, 0x2d74, 0x77a8, 919 0x2dba, 0x778e, 0x2dff, 0x7773, 0x2e45, 0x7758, 0x2e8b, 0x773d, 0x2ed2, 920 0x7721, 0x2f18, 0x7706, 0x2f5e, 0x76ea, 0x2fa5, 0x76cd, 0x2fec, 0x76b1, 921 0x3032, 0x7694, 0x3079, 0x7677, 0x30c0, 0x765a, 0x3107, 0x763d, 0x314e, 922 0x761f, 0x3196, 0x7601, 0x31dd, 0x75e3, 0x3225, 0x75c5, 0x326c, 0x75a6, 923 0x32b4, 0x7588, 0x32fc, 0x7569, 0x3344, 0x7549, 0x338c, 0x752a, 0x33d4, 924 0x750a, 0x341c, 0x74ea, 0x3464, 0x74ca, 0x34ac, 0x74a9, 0x34f5, 0x7488, 925 0x353d, 0x7467, 0x3585, 0x7446, 0x35ce, 0x7424, 0x3617, 0x7403, 0x365f, 926 0x73e1, 0x36a8, 0x73be, 0x36f1, 0x739c, 0x373a, 0x7379, 0x3783, 0x7356, 927 0x37cc, 0x7333, 0x3815, 0x730f, 0x385e, 0x72ec, 0x38a7, 0x72c8, 0x38f1, 928 0x72a3, 0x393a, 0x727f, 0x3983, 0x725a, 0x39cd, 0x7235, 0x3a16, 0x7210, 929 0x3a60, 0x71ea, 0x3aa9, 0x71c4, 0x3af3, 0x719e, 0x3b3c, 0x7178, 0x3b86, 930 0x7151, 0x3bd0, 0x712b, 0x3c19, 0x7104, 0x3c63, 0x70dc, 0x3cad, 0x70b5, 931 0x3cf7, 0x708d, 0x3d40, 0x7065, 0x3d8a, 0x703c, 0x3dd4, 0x7014, 0x3e1e, 932 0x6feb, 0x3e68, 0x6fc2, 0x3eb1, 0x6f98, 0x3efb, 0x6f6f, 0x3f45, 0x6f45, 933 0x3f8f, 0x6f1b, 0x3fd9, 0x6ef0, 0x4023, 0x6ec6, 0x406d, 0x6e9b, 0x40b6, 934 0x6e70, 0x4100, 0x6e44, 0x414a, 0x6e19, 0x4194, 0x6ded, 0x41de, 0x6dc1, 935 0x4228, 0x6d94, 0x4271, 0x6d68, 0x42bb, 0x6d3b, 0x4305, 0x6d0d, 0x434f, 936 0x6ce0, 0x4398, 0x6cb2, 0x43e2, 0x6c84, 0x442c, 0x6c56, 0x4475, 0x6c28, 937 0x44bf, 0x6bf9, 0x4508, 0x6bca, 0x4552, 0x6b9b, 0x459b, 0x6b6b, 0x45e5, 938 0x6b3c, 0x462e, 0x6b0c, 0x4678, 0x6adb, 0x46c1, 0x6aab, 0x470a, 0x6a7a, 939 0x4753, 0x6a49, 0x479c, 0x6a18, 0x47e5, 0x69e7, 0x482e, 0x69b5, 0x4877, 940 0x6983, 0x48c0, 0x6951, 0x4909, 0x691e, 0x4952, 0x68ec, 0x499b, 0x68b9, 941 0x49e3, 0x6885, 0x4a2c, 0x6852, 0x4a74, 0x681e, 0x4abd, 0x67ea, 0x4b05, 942 0x67b6, 0x4b4d, 0x6782, 0x4b95, 0x674d, 0x4bde, 0x6718, 0x4c26, 0x66e3, 943 0x4c6d, 0x66ae, 0x4cb5, 0x6678, 0x4cfd, 0x6642, 0x4d45, 0x660c, 0x4d8c, 944 0x65d6, 0x4dd4, 0x659f, 0x4e1b, 0x6568, 0x4e62, 0x6531, 0x4ea9, 0x64fa, 945 0x4ef0, 0x64c3, 0x4f37, 0x648b, 0x4f7e, 0x6453, 0x4fc5, 0x641b, 0x500b, 946 0x63e2, 0x5052, 0x63aa, 0x5098, 0x6371, 0x50df, 0x6338, 0x5125, 0x62fe, 947 0x516b, 0x62c5, 0x51b1, 0x628b, 0x51f6, 0x6251, 0x523c, 0x6217, 0x5281, 948 0x61dc, 0x52c7, 0x61a2, 0x530c, 0x6167, 0x5351, 0x612c, 0x5396, 0x60f1, 949 0x53db, 0x60b5, 0x5420, 0x6079, 0x5464, 0x603d, 0x54a9, 0x6001, 0x54ed, 950 0x5fc5, 0x5531, 0x5f88, 0x5575, 0x5f4b, 0x55b9, 0x5f0e, 0x55fc, 0x5ed1, 951 0x5640, 0x5e94, 0x5683, 0x5e56, 0x56c7, 0x5e18, 0x570a, 0x5dda, 0x574d, 952 0x5d9c, 0x578f, 0x5d5e, 0x57d2, 0x5d1f, 0x5814, 0x5ce0, 0x5856, 0x5ca1, 953 0x5899, 0x5c62, 0x58da, 0x5c23, 0x591c, 0x5be3, 0x595e, 0x5ba4, 0x599f, 954 0x5b64, 0x59e0, 0x5b24, 0x5a21, 0x5ae3, 0x5a62, 0x5aa3}, 955 956 // const WORD16 only_short_window_sine[128] = 957 {0x00c9, 0x7fff, 0x025b, 0x7ffa, 0x03ed, 0x7ff1, 0x057f, 0x7fe2, 0x0711, 958 0x7fce, 0x08a2, 0x7fb5, 0x0a33, 0x7f98, 0x0bc4, 0x7f75, 0x0d54, 0x7f4e, 959 0x0ee4, 0x7f22, 0x1073, 0x7ef0, 0x1201, 0x7eba, 0x138f, 0x7e7f, 0x151c, 960 0x7e3f, 0x16a8, 0x7dfb, 0x1833, 0x7db1, 0x19be, 0x7d63, 0x1b47, 0x7d0f, 961 0x1cd0, 0x7cb7, 0x1e57, 0x7c5a, 0x1fdd, 0x7bf9, 0x2162, 0x7b92, 0x22e5, 962 0x7b27, 0x2467, 0x7ab7, 0x25e8, 0x7a42, 0x2768, 0x79c9, 0x28e5, 0x794a, 963 0x2a62, 0x78c8, 0x2bdc, 0x7840, 0x2d55, 0x77b4, 0x2ecc, 0x7723, 0x3042, 964 0x768e, 0x31b5, 0x75f4, 0x3327, 0x7556, 0x3497, 0x74b3, 0x3604, 0x740b, 965 0x3770, 0x735f, 0x38d9, 0x72af, 0x3a40, 0x71fa, 0x3ba5, 0x7141, 0x3d08, 966 0x7083, 0x3e68, 0x6fc2, 0x3fc6, 0x6efb, 0x4121, 0x6e31, 0x427a, 0x6d62, 967 0x43d1, 0x6c8f, 0x4524, 0x6bb8, 0x4675, 0x6add, 0x47c4, 0x69fd, 0x490f, 968 0x691a, 0x4a58, 0x6832, 0x4b9e, 0x6747, 0x4ce1, 0x6657, 0x4e21, 0x6564, 969 0x4f5e, 0x646c, 0x5098, 0x6371, 0x51cf, 0x6272, 0x5303, 0x616f, 0x5433, 970 0x6068, 0x5560, 0x5f5e, 0x568a, 0x5e50, 0x57b1, 0x5d3e, 0x58d4, 0x5c29, 971 0x59f4, 0x5b10}, 972 973 // const WORD16 only_short_window_kbd[128] = 974 {0x0001, 0x7fff, 0x0004, 0x7fff, 0x0008, 0x7fff, 0x000d, 0x7fff, 0x0014, 975 0x7fff, 0x001d, 0x7fff, 0x0029, 0x7fff, 0x0039, 0x7fff, 0x004c, 0x7fff, 976 0x0063, 0x7fff, 0x0080, 0x7fff, 0x00a2, 0x7fff, 0x00cb, 0x7fff, 0x00fb, 977 0x7fff, 0x0133, 0x7fff, 0x0174, 0x7ffe, 0x01be, 0x7ffd, 0x0214, 0x7ffc, 978 0x0275, 0x7ffa, 0x02e3, 0x7ff8, 0x035e, 0x7ff5, 0x03e8, 0x7ff1, 0x0481, 979 0x7fec, 0x052b, 0x7fe5, 0x05e7, 0x7fdd, 0x06b4, 0x7fd3, 0x0795, 0x7fc6, 980 0x088a, 0x7fb7, 0x0993, 0x7fa4, 0x0ab2, 0x7f8d, 0x0be7, 0x7f72, 0x0d32, 981 0x7f51, 0x0e95, 0x7f2b, 0x100e, 0x7efd, 0x119f, 0x7ec8, 0x1347, 0x7e8a, 982 0x1507, 0x7e43, 0x16de, 0x7df1, 0x18cc, 0x7d93, 0x1ad0, 0x7d29, 0x1ceb, 983 0x7cb1, 0x1f1b, 0x7c2a, 0x215f, 0x7b93, 0x23b7, 0x7aeb, 0x2621, 0x7a30, 984 0x289c, 0x7963, 0x2b27, 0x7882, 0x2dc0, 0x778b, 0x3066, 0x767f, 0x3318, 985 0x755c, 0x35d2, 0x7422, 0x3895, 0x72d1, 0x3b5d, 0x7167, 0x3e29, 0x6fe5, 986 0x40f6, 0x6e4a, 0x43c4, 0x6c97, 0x4690, 0x6acc, 0x4957, 0x68e8, 0x4c18, 987 0x66ed, 0x4ed2, 0x64da, 0x5182, 0x62b2, 0x5426, 0x6074, 0x56bd, 0x5e22, 988 0x5945, 0x5bbc}, 989 990 // const WORD16 cos_array_2048p[512] and const WORD16 sine_array_2048p[512] 991 // = 992 { 993 32767, 0, 32767, 101, 32767, 201, 32767, 302, 32766, 402, 994 32764, 503, 32762, 603, 32760, 704, 32758, 804, 32756, 905, 995 32753, 1005, 32749, 1106, 32746, 1206, 32742, 1307, 32738, 1407, 996 32733, 1507, 32729, 1608, 32723, 1708, 32718, 1809, 32712, 1909, 997 32706, 2009, 32700, 2110, 32693, 2210, 32686, 2310, 32679, 2411, 998 32672, 2511, 32664, 2611, 32656, 2711, 32647, 2811, 32638, 2912, 999 32629, 3012, 32620, 3112, 32610, 3212, 32600, 3312, 32590, 3412, 1000 32579, 3512, 32568, 3612, 32557, 3712, 32546, 3812, 32534, 3911, 1001 32522, 4011, 32509, 4111, 32496, 4211, 32483, 4310, 32470, 4410, 1002 32456, 4510, 32442, 4609, 32428, 4709, 32413, 4808, 32398, 4908, 1003 32383, 5007, 32368, 5106, 32352, 5206, 32336, 5305, 32319, 5404, 1004 32303, 5503, 32286, 5602, 32268, 5701, 32251, 5800, 32233, 5899, 1005 32214, 5998, 32196, 6097, 32177, 6195, 32158, 6294, 32138, 6393, 1006 32119, 6491, 32099, 6590, 32078, 6688, 32058, 6787, 32037, 6885, 1007 32015, 6983, 31994, 7081, 31972, 7180, 31950, 7278, 31927, 7376, 1008 31904, 7474, 31881, 7571, 31858, 7669, 31834, 7767, 31810, 7864, 1009 31786, 7962, 31761, 8059, 31737, 8157, 31711, 8254, 31686, 8351, 1010 31660, 8449, 31634, 8546, 31608, 8643, 31581, 8740, 31554, 8837, 1011 31527, 8933, 31499, 9030, 31471, 9127, 31443, 9223, 31415, 9320, 1012 31386, 9416, 31357, 9512, 31328, 9608, 31298, 9704, 31268, 9800, 1013 31238, 9896, 31207, 9992, 31177, 10088, 31146, 10183, 31114, 10279, 1014 31082, 10374, 31050, 10469, 31018, 10565, 30986, 10660, 30953, 10755, 1015 30920, 10850, 30886, 10945, 30853, 11039, 30819, 11134, 30784, 11228, 1016 30750, 11323, 30715, 11417, 30680, 11511, 30644, 11605, 30608, 11699, 1017 30572, 11793, 30536, 11887, 30499, 11980, 30462, 12074, 30425, 12167, 1018 30388, 12261, 30350, 12354, 30312, 12447, 30274, 12540, 30235, 12633, 1019 30196, 12725, 30157, 12818, 30118, 12910, 30078, 13003, 30038, 13095, 1020 29997, 13187, 29957, 13279, 29916, 13371, 29875, 13463, 29833, 13554, 1021 29792, 13646, 29750, 13737, 29707, 13828, 29665, 13919, 29622, 14010, 1022 29579, 14101, 29535, 14192, 29492, 14282, 29448, 14373, 29404, 14463, 1023 29359, 14553, 29314, 14643, 29269, 14733, 29224, 14823, 29178, 14912, 1024 29132, 15002, 29086, 15091, 29040, 15180, 28993, 15269, 28946, 15358, 1025 28899, 15447, 28851, 15535, 28803, 15624, 28755, 15712, 28707, 15800, 1026 28658, 15888, 28610, 15976, 28560, 16064, 28511, 16151, 28461, 16239, 1027 28411, 16326, 28361, 16413, 28311, 16500, 28260, 16587, 28209, 16673, 1028 28158, 16760, 28106, 16846, 28054, 16932, 28002, 17018, 27950, 17104, 1029 27897, 17190, 27844, 17275, 27791, 17361, 27738, 17446, 27684, 17531, 1030 27630, 17616, 27576, 17700, 27522, 17785, 27467, 17869, 27412, 17953, 1031 27357, 18037, 27301, 18121, 27246, 18205, 27190, 18288, 27133, 18372, 1032 27077, 18455, 27020, 18538, 26963, 18621, 26906, 18703, 26848, 18786, 1033 26791, 18868, 26733, 18950, 26674, 19032, 26616, 19114, 26557, 19195, 1034 26498, 19277, 26439, 19358, 26379, 19439, 26320, 19520, 26260, 19601, 1035 26199, 19681, 26139, 19761, 26078, 19841, 26017, 19921, 25956, 20001, 1036 25894, 20081, 25833, 20160, 25771, 20239, 25708, 20318, 25646, 20397, 1037 25583, 20475, 25520, 20554, 25457, 20632, 25394, 20710, 25330, 20788, 1038 25266, 20865, 25202, 20943, 25138, 21020, 25073, 21097, 25008, 21174, 1039 24943, 21251, 24878, 21327, 24812, 21403, 24746, 21479, 24680, 21555, 1040 24614, 21631, 24548, 21706, 24481, 21781, 24414, 21856, 24347, 21931, 1041 24280, 22006, 24212, 22080, 24144, 22154, 24076, 22228, 24008, 22302, 1042 23939, 22375, 23870, 22449, 23801, 22522, 23732, 22595, 23663, 22668, 1043 23593, 22740, 23523, 22812, 23453, 22884, 23383, 22956, 23312, 23028, 1044 23241, 23099, 23170, 23170, 1045 }, 1046 1047 // WORD32 w1024[768] 1048 { 1049 1050 0x00007fff, 0xff377fff, 0xfe6e7ffe, 0xfda57ffa, 0xfcdc7ff6, 0xfc137ff1, 1051 0xfb4a7fea, 0xfa817fe2, 0xf9b87fd9, 0xf8ef7fce, 0xf8277fc2, 0xf75e7fb5, 1052 0xf6957fa7, 0xf5cd7f98, 0xf5057f87, 0xf43c7f75, 0xf3747f62, 0xf2ac7f4e, 1053 0xf1e47f38, 0xf11c7f22, 0xf0557f0a, 0xef8d7ef0, 0xeec67ed6, 0xedff7eba, 1054 0xed387e9d, 0xec717e7f, 0xebab7e60, 0xeae47e3f, 0xea1e7e1e, 0xe9587dfb, 1055 0xe8927dd6, 0xe7cd7db1, 0xe7077d8a, 0xe6427d63, 0xe57d7d3a, 0xe4b97d0f, 1056 0xe3f47ce4, 0xe3307cb7, 0xe26d7c89, 0xe1a97c5a, 0xe0e67c2a, 0xe0237bf9, 1057 0xdf617bc6, 0xde9e7b92, 0xdddc7b5d, 0xdd1b7b27, 0xdc597aef, 0xdb997ab7, 1058 0xdad87a7d, 0xda187a42, 0xd9587a06, 0xd89879c9, 0xd7d9798a, 0xd71b794a, 1059 0xd65c790a, 0xd59e78c8, 0xd4e17885, 0xd4247840, 0xd36777fb, 0xd2ab77b4, 1060 0xd1ef776c, 0xd1347723, 0xd07976d9, 0xcfbe768e, 0xcf047642, 0xce4b75f4, 1061 0xcd9275a6, 0xccd97556, 0xcc217505, 0xcb6974b3, 0xcab27460, 0xc9fc740b, 1062 0xc94673b6, 0xc890735f, 0xc7db7308, 0xc72772af, 0xc6737255, 0xc5c071fa, 1063 0xc50d719e, 0xc45b7141, 0xc3a970e3, 0xc2f87083, 0xc2487023, 0xc1986fc2, 1064 0xc0e96f5f, 0xc03a6efb, 0xbf8c6e97, 0xbedf6e31, 0xbe326dca, 0xbd866d62, 1065 0xbcda6cf9, 0xbc2f6c8f, 0xbb856c24, 0xbadc6bb8, 0xba336b4b, 0xb98b6add, 1066 0xb8e36a6e, 0xb83c69fd, 0xb796698c, 0xb6f1691a, 0xb64c68a7, 0xb5a86832, 1067 0xb50567bd, 0xb4626747, 0xb3c066d0, 0xb31f6657, 0xb27f65de, 0xb1df6564, 1068 0xb14064e9, 0xb0a2646c, 0xb00563ef, 0xaf686371, 0xaecc62f2, 0xae316272, 1069 0xad9761f1, 0xacfd616f, 0xac6560ec, 0xabcd6068, 0xab365fe4, 0xaaa05f5e, 1070 0xaa0a5ed7, 0xa9765e50, 0xa8e25dc8, 0xa84f5d3e, 0xa7bd5cb4, 0xa72c5c29, 1071 0xa69c5b9d, 0xa60c5b10, 0xa57e5a82, 0xa4f059f4, 0xa4635964, 0xa3d758d4, 1072 0xa34c5843, 0xa2c257b1, 0xa238571e, 0xa1b0568a, 0xa12955f6, 0xa0a25560, 1073 0xa01c54ca, 0x9f985433, 0x9f14539b, 0x9e915303, 0x9e0f5269, 0x9d8e51cf, 1074 0x9d0e5134, 0x9c8f5098, 0x9c114ffb, 0x9b944f5e, 0x9b174ec0, 0x9a9c4e21, 1075 0x9a224d81, 0x99a94ce1, 0x99304c40, 0x98b94b9e, 0x98434afb, 0x97ce4a58, 1076 0x975949b4, 0x96e6490f, 0x9674486a, 0x960347c4, 0x9592471d, 0x95234675, 1077 0x94b545cd, 0x94484524, 0x93dc447b, 0x937143d1, 0x93074326, 0x929e427a, 1078 0x923641ce, 0x91cf4121, 0x91694074, 0x91053fc6, 0x90a13f17, 0x903e3e68, 1079 0x8fdd3db8, 0x8f7d3d08, 0x8f1d3c57, 0x8ebf3ba5, 0x8e623af3, 0x8e063a40, 1080 0x8dab398d, 0x8d5138d9, 0x8cf83825, 0x8ca13770, 0x8c4a36ba, 0x8bf53604, 1081 0x8ba0354e, 0x8b4d3497, 0x8afb33df, 0x8aaa3327, 0x8a5a326e, 0x8a0c31b5, 1082 0x89be30fc, 0x89723042, 0x89272f87, 0x88dd2ecc, 0x88942e11, 0x884c2d55, 1083 0x88052c99, 0x87c02bdc, 0x877b2b1f, 0x87382a62, 0x86f629a4, 0x86b628e5, 1084 0x86762827, 0x86372768, 0x85fa26a8, 0x85be25e8, 0x85832528, 0x85492467, 1085 0x851123a7, 0x84d922e5, 0x84a32224, 0x846e2162, 0x843a209f, 0x84071fdd, 1086 0x83d61f1a, 0x83a61e57, 0x83771d93, 0x83491cd0, 0x831c1c0c, 0x82f11b47, 1087 0x82c61a83, 0x829d19be, 0x827618f9, 0x824f1833, 0x822a176e, 0x820516a8, 1088 0x81e215e2, 0x81c1151c, 0x81a01455, 0x8181138f, 0x816312c8, 0x81461201, 1089 0x812a113a, 0x81101073, 0x80f60fab, 0x80de0ee4, 0x80c80e1c, 0x80b20d54, 1090 0x809e0c8c, 0x808b0bc4, 0x80790afb, 0x80680a33, 0x8059096b, 0x804b08a2, 1091 0x803e07d9, 0x80320711, 0x80270648, 0x801e057f, 0x801604b6, 0x800f03ed, 1092 0x800a0324, 0x8006025b, 0x80020192, 0x800100c9, 0x80000000, 0x8001ff37, 1093 0x8002fe6e, 0x8006fda5, 0x800afcdc, 0x800ffc13, 0x8016fb4a, 0x801efa81, 1094 0x8027f9b8, 0x8032f8ef, 0x803ef827, 0x804bf75e, 0x8059f695, 0x8068f5cd, 1095 0x8079f505, 0x808bf43c, 0x809ef374, 0x80b2f2ac, 0x80c8f1e4, 0x80def11c, 1096 0x80f6f055, 0x8110ef8d, 0x812aeec6, 0x8146edff, 0x8163ed38, 0x8181ec71, 1097 0x81a0ebab, 0x81c1eae4, 0x81e2ea1e, 0x8205e958, 0x822ae892, 0x824fe7cd, 1098 0x8276e707, 0x829de642, 0x82c6e57d, 0x82f1e4b9, 0x831ce3f4, 0x8349e330, 1099 0x8377e26d, 0x83a6e1a9, 0x83d6e0e6, 0x8407e023, 0x843adf61, 0x846ede9e, 1100 0x84a3dddc, 0x84d9dd1b, 0x8511dc59, 0x8549db99, 0x8583dad8, 0x85beda18, 1101 0x85fad958, 0x8637d898, 0x8676d7d9, 0x86b6d71b, 0x86f6d65c, 0x8738d59e, 1102 0x877bd4e1, 0x87c0d424, 0x8805d367, 0x884cd2ab, 0x8894d1ef, 0x88ddd134, 1103 0x8927d079, 0x8972cfbe, 0x89becf04, 0x8a0cce4b, 0x8a5acd92, 0x8aaaccd9, 1104 0x8afbcc21, 0x8b4dcb69, 0x8ba0cab2, 0x8bf5c9fc, 0x8c4ac946, 0x8ca1c890, 1105 0x8cf8c7db, 0x8d51c727, 0x8dabc673, 0x8e06c5c0, 0x8e62c50d, 0x8ebfc45b, 1106 0x8f1dc3a9, 0x8f7dc2f8, 0x8fddc248, 0x903ec198, 0x90a1c0e9, 0x9105c03a, 1107 0x9169bf8c, 0x91cfbedf, 0x9236be32, 0x929ebd86, 0x9307bcda, 0x9371bc2f, 1108 0x93dcbb85, 0x9448badc, 0x94b5ba33, 0x9523b98b, 0x9592b8e3, 0x9603b83c, 1109 0x9674b796, 0x96e6b6f1, 0x9759b64c, 0x97ceb5a8, 0x9843b505, 0x98b9b462, 1110 0x9930b3c0, 0x99a9b31f, 0x9a22b27f, 0x9a9cb1df, 0x9b17b140, 0x9b94b0a2, 1111 0x9c11b005, 0x9c8faf68, 0x9d0eaecc, 0x9d8eae31, 0x9e0fad97, 0x9e91acfd, 1112 0x9f14ac65, 0x9f98abcd, 0xa01cab36, 0xa0a2aaa0, 0xa129aa0a, 0xa1b0a976, 1113 0xa238a8e2, 0xa2c2a84f, 0xa34ca7bd, 0xa3d7a72c, 0xa463a69c, 0xa4f0a60c, 1114 0xa57ea57e, 0xa60ca4f0, 0xa69ca463, 0xa72ca3d7, 0xa7bda34c, 0xa84fa2c2, 1115 0xa8e2a238, 0xa976a1b0, 0xaa0aa129, 0xaaa0a0a2, 0xab36a01c, 0xabcd9f98, 1116 0xac659f14, 0xacfd9e91, 0xad979e0f, 0xae319d8e, 0xaecc9d0e, 0xaf689c8f, 1117 0xb0059c11, 0xb0a29b94, 0xb1409b17, 0xb1df9a9c, 0xb27f9a22, 0xb31f99a9, 1118 0xb3c09930, 0xb46298b9, 0xb5059843, 0xb5a897ce, 0xb64c9759, 0xb6f196e6, 1119 0xb7969674, 0xb83c9603, 0xb8e39592, 0xb98b9523, 0xba3394b5, 0xbadc9448, 1120 0xbb8593dc, 0xbc2f9371, 0xbcda9307, 0xbd86929e, 0xbe329236, 0xbedf91cf, 1121 0xbf8c9169, 0xc03a9105, 0xc0e990a1, 0xc198903e, 0xc2488fdd, 0xc2f88f7d, 1122 0xc3a98f1d, 0xc45b8ebf, 0xc50d8e62, 0xc5c08e06, 0xc6738dab, 0xc7278d51, 1123 0xc7db8cf8, 0xc8908ca1, 0xc9468c4a, 0xc9fc8bf5, 0xcab28ba0, 0xcb698b4d, 1124 0xcc218afb, 0xccd98aaa, 0xcd928a5a, 0xce4b8a0c, 0xcf0489be, 0xcfbe8972, 1125 0xd0798927, 0xd13488dd, 0xd1ef8894, 0xd2ab884c, 0xd3678805, 0xd42487c0, 1126 0xd4e1877b, 0xd59e8738, 0xd65c86f6, 0xd71b86b6, 0xd7d98676, 0xd8988637, 1127 0xd95885fa, 0xda1885be, 0xdad88583, 0xdb998549, 0xdc598511, 0xdd1b84d9, 1128 0xdddc84a3, 0xde9e846e, 0xdf61843a, 0xe0238407, 0xe0e683d6, 0xe1a983a6, 1129 0xe26d8377, 0xe3308349, 0xe3f4831c, 0xe4b982f1, 0xe57d82c6, 0xe642829d, 1130 0xe7078276, 0xe7cd824f, 0xe892822a, 0xe9588205, 0xea1e81e2, 0xeae481c1, 1131 0xebab81a0, 0xec718181, 0xed388163, 0xedff8146, 0xeec6812a, 0xef8d8110, 1132 0xf05580f6, 0xf11c80de, 0xf1e480c8, 0xf2ac80b2, 0xf374809e, 0xf43c808b, 1133 0xf5058079, 0xf5cd8068, 0xf6958059, 0xf75e804b, 0xf827803e, 0xf8ef8032, 1134 0xf9b88027, 0xfa81801e, 0xfb4a8016, 0xfc13800f, 0xfcdc800a, 0xfda58006, 1135 0xfe6e8002, 0xff378001, 0x00008000, 0x00c98001, 0x01928002, 0x025b8006, 1136 0x0324800a, 0x03ed800f, 0x04b68016, 0x057f801e, 0x06488027, 0x07118032, 1137 0x07d9803e, 0x08a2804b, 0x096b8059, 0x0a338068, 0x0afb8079, 0x0bc4808b, 1138 0x0c8c809e, 0x0d5480b2, 0x0e1c80c8, 0x0ee480de, 0x0fab80f6, 0x10738110, 1139 0x113a812a, 0x12018146, 0x12c88163, 0x138f8181, 0x145581a0, 0x151c81c1, 1140 0x15e281e2, 0x16a88205, 0x176e822a, 0x1833824f, 0x18f98276, 0x19be829d, 1141 0x1a8382c6, 0x1b4782f1, 0x1c0c831c, 0x1cd08349, 0x1d938377, 0x1e5783a6, 1142 0x1f1a83d6, 0x1fdd8407, 0x209f843a, 0x2162846e, 0x222484a3, 0x22e584d9, 1143 0x23a78511, 0x24678549, 0x25288583, 0x25e885be, 0x26a885fa, 0x27688637, 1144 0x28278676, 0x28e586b6, 0x29a486f6, 0x2a628738, 0x2b1f877b, 0x2bdc87c0, 1145 0x2c998805, 0x2d55884c, 0x2e118894, 0x2ecc88dd, 0x2f878927, 0x30428972, 1146 0x30fc89be, 0x31b58a0c, 0x326e8a5a, 0x33278aaa, 0x33df8afb, 0x34978b4d, 1147 0x354e8ba0, 0x36048bf5, 0x36ba8c4a, 0x37708ca1, 0x38258cf8, 0x38d98d51, 1148 0x398d8dab, 0x3a408e06, 0x3af38e62, 0x3ba58ebf, 0x3c578f1d, 0x3d088f7d, 1149 0x3db88fdd, 0x3e68903e, 0x3f1790a1, 0x3fc69105, 0x40749169, 0x412191cf, 1150 0x41ce9236, 0x427a929e, 0x43269307, 0x43d19371, 0x447b93dc, 0x45249448, 1151 0x45cd94b5, 0x46759523, 0x471d9592, 0x47c49603, 0x486a9674, 0x490f96e6, 1152 0x49b49759, 0x4a5897ce, 0x4afb9843, 0x4b9e98b9, 0x4c409930, 0x4ce199a9, 1153 0x4d819a22, 0x4e219a9c, 0x4ec09b17, 0x4f5e9b94, 0x4ffb9c11, 0x50989c8f, 1154 0x51349d0e, 0x51cf9d8e, 0x52699e0f, 0x53039e91, 0x539b9f14, 0x54339f98, 1155 0x54caa01c, 0x5560a0a2, 0x55f6a129, 0x568aa1b0, 0x571ea238, 0x57b1a2c2, 1156 0x5843a34c, 0x58d4a3d7, 0x5964a463, 0x59f4a4f0, 0x5a82a57e, 0x5b10a60c, 1157 0x5b9da69c, 0x5c29a72c, 0x5cb4a7bd, 0x5d3ea84f, 0x5dc8a8e2, 0x5e50a976, 1158 0x5ed7aa0a, 0x5f5eaaa0, 0x5fe4ab36, 0x6068abcd, 0x60ecac65, 0x616facfd, 1159 0x61f1ad97, 0x6272ae31, 0x62f2aecc, 0x6371af68, 0x63efb005, 0x646cb0a2, 1160 0x64e9b140, 0x6564b1df, 0x65deb27f, 0x6657b31f, 0x66d0b3c0, 0x6747b462, 1161 0x67bdb505, 0x6832b5a8, 0x68a7b64c, 0x691ab6f1, 0x698cb796, 0x69fdb83c, 1162 0x6a6eb8e3, 0x6addb98b, 0x6b4bba33, 0x6bb8badc, 0x6c24bb85, 0x6c8fbc2f, 1163 0x6cf9bcda, 0x6d62bd86, 0x6dcabe32, 0x6e31bedf, 0x6e97bf8c, 0x6efbc03a, 1164 0x6f5fc0e9, 0x6fc2c198, 0x7023c248, 0x7083c2f8, 0x70e3c3a9, 0x7141c45b, 1165 0x719ec50d, 0x71fac5c0, 0x7255c673, 0x72afc727, 0x7308c7db, 0x735fc890, 1166 0x73b6c946, 0x740bc9fc, 0x7460cab2, 0x74b3cb69, 0x7505cc21, 0x7556ccd9, 1167 0x75a6cd92, 0x75f4ce4b, 0x7642cf04, 0x768ecfbe, 0x76d9d079, 0x7723d134, 1168 0x776cd1ef, 0x77b4d2ab, 0x77fbd367, 0x7840d424, 0x7885d4e1, 0x78c8d59e, 1169 0x790ad65c, 0x794ad71b, 0x798ad7d9, 0x79c9d898, 0x7a06d958, 0x7a42da18, 1170 0x7a7ddad8, 0x7ab7db99, 0x7aefdc59, 0x7b27dd1b, 0x7b5ddddc, 0x7b92de9e, 1171 0x7bc6df61, 0x7bf9e023, 0x7c2ae0e6, 0x7c5ae1a9, 0x7c89e26d, 0x7cb7e330, 1172 0x7ce4e3f4, 0x7d0fe4b9, 0x7d3ae57d, 0x7d63e642, 0x7d8ae707, 0x7db1e7cd, 1173 0x7dd6e892, 0x7dfbe958, 0x7e1eea1e, 0x7e3feae4, 0x7e60ebab, 0x7e7fec71, 1174 0x7e9ded38, 0x7ebaedff, 0x7ed6eec6, 0x7ef0ef8d, 0x7f0af055, 0x7f22f11c, 1175 0x7f38f1e4, 0x7f4ef2ac, 0x7f62f374, 0x7f75f43c, 0x7f87f505, 0x7f98f5cd, 1176 0x7fa7f695, 0x7fb5f75e, 0x7fc2f827, 0x7fcef8ef, 0x7fd9f9b8, 0x7fe2fa81, 1177 0x7feafb4a, 0x7ff1fc13, 0x7ff6fcdc, 0x7ffafda5, 0x7ffefe6e, 0x7fffff37, 1178 1179 }, 1180 1181 // WORD8 bit_rev_1024[256]= 1182 {0x00, 0x40, 0x80, 0xc0, 0x10, 0x50, 0x90, 0xd0, 0x20, 0x60, 0xa0, 0xe0, 1183 0x30, 0x70, 0xb0, 0xf0, 0x04, 0x44, 0x84, 0xc4, 0x14, 0x54, 0x94, 0xd4, 1184 0x24, 0x64, 0xa4, 0xe4, 0x34, 0x74, 0xb4, 0xf4, 0x08, 0x48, 0x88, 0xc8, 1185 0x18, 0x58, 0x98, 0xd8, 0x28, 0x68, 0xa8, 0xe8, 0x38, 0x78, 0xb8, 0xf8, 1186 0x0c, 0x4c, 0x8c, 0xcc, 0x1c, 0x5c, 0x9c, 0xdc, 0x2c, 0x6c, 0xac, 0xec, 1187 0x3c, 0x7c, 0xbc, 0xfc, 0x01, 0x41, 0x81, 0xc1, 0x11, 0x51, 0x91, 0xd1, 1188 0x21, 0x61, 0xa1, 0xe1, 0x31, 0x71, 0xb1, 0xf1, 0x05, 0x45, 0x85, 0xc5, 1189 0x15, 0x55, 0x95, 0xd5, 0x25, 0x65, 0xa5, 0xe5, 0x35, 0x75, 0xb5, 0xf5, 1190 0x09, 0x49, 0x89, 0xc9, 0x19, 0x59, 0x99, 0xd9, 0x29, 0x69, 0xa9, 0xe9, 1191 0x39, 0x79, 0xb9, 0xf9, 0x0d, 0x4d, 0x8d, 0xcd, 0x1d, 0x5d, 0x9d, 0xdd, 1192 0x2d, 0x6d, 0xad, 0xed, 0x3d, 0x7d, 0xbd, 0xfd, 0x02, 0x42, 0x82, 0xc2, 1193 0x12, 0x52, 0x92, 0xd2, 0x22, 0x62, 0xa2, 0xe2, 0x32, 0x72, 0xb2, 0xf2, 1194 0x06, 0x46, 0x86, 0xc6, 0x16, 0x56, 0x96, 0xd6, 0x26, 0x66, 0xa6, 0xe6, 1195 0x36, 0x76, 0xb6, 0xf6, 0x0a, 0x4a, 0x8a, 0xca, 0x1a, 0x5a, 0x9a, 0xda, 1196 0x2a, 0x6a, 0xaa, 0xea, 0x3a, 0x7a, 0xba, 0xfa, 0x0e, 0x4e, 0x8e, 0xce, 1197 0x1e, 0x5e, 0x9e, 0xde, 0x2e, 0x6e, 0xae, 0xee, 0x3e, 0x7e, 0xbe, 0xfe, 1198 0x03, 0x43, 0x83, 0xc3, 0x13, 0x53, 0x93, 0xd3, 0x23, 0x63, 0xa3, 0xe3, 1199 0x33, 0x73, 0xb3, 0xf3, 0x07, 0x47, 0x87, 0xc7, 0x17, 0x57, 0x97, 0xd7, 1200 0x27, 0x67, 0xa7, 0xe7, 0x37, 0x77, 0xb7, 0xf7, 0x0b, 0x4b, 0x8b, 0xcb, 1201 0x1b, 0x5b, 0x9b, 0xdb, 0x2b, 0x6b, 0xab, 0xeb, 0x3b, 0x7b, 0xbb, 0xfb, 1202 0x0f, 0x4f, 0x8f, 0xcf, 0x1f, 0x5f, 0x9f, 0xdf, 0x2f, 0x6f, 0xaf, 0xef, 1203 0x3f, 0x7f, 0xbf, 0xff}, 1204 1205 // WORD8 bit_rev_512[64]= 1206 {0x00, 0x10, 0x20, 0x30, 0x04, 0x14, 0x24, 0x34, 0x08, 0x18, 0x28, 1207 0x38, 0x0c, 0x1c, 0x2c, 0x3c, 0x01, 0x11, 0x21, 0x31, 0x05, 0x15, 1208 0x25, 0x35, 0x09, 0x19, 0x29, 0x39, 0x0d, 0x1d, 0x2d, 0x3d, 0x02, 1209 0x12, 0x22, 0x32, 0x06, 0x16, 0x26, 0x36, 0x0a, 0x1a, 0x2a, 0x3a, 1210 0x0e, 0x1e, 0x2e, 0x3e, 0x03, 0x13, 0x23, 0x33, 0x07, 0x17, 0x27, 1211 0x37, 0x0b, 0x1b, 0x2b, 0x3b, 0x0f, 0x1f, 0x2f, 0x3f}, 1212 1213 // WORD8 bit_rev_128[16]= 1214 {0x00, 0x04, 0x08, 0x0c, 0x01, 0x05, 0x09, 0x0d, 0x02, 0x06, 0x0a, 0x0e, 1215 0x03, 0x07, 0x0b, 0x0f}, 1216 1217 // WORD8 bit_rev_32[4]= 1218 { 1219 0x00, 0x01, 0x02, 0x03, 1220 }, 1221 // const WORD32 w_256[504] = 1222 { 1223 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 1224 0x03242abf, 0x7ff62182, 0x0647d97c, 0x7fd8878e, 0x096a9049, 0x7fa736b4, 1225 0x0647d97c, 0x7fd8878e, 0x0c8bd35e, 0x7f62368f, 0x12c8106f, 0x7e9d55fc, 1226 0x096a9049, 0x7fa736b4, 0x12c8106f, 0x7e9d55fc, 0x1c0b826b, 0x7ce3ceb2, 1227 0x0c8bd35e, 0x7f62368f, 0x18f8b83c, 0x7d8a5f40, 0x25280c5e, 0x7a7d055b, 1228 0x0fab272b, 0x7f0991c4, 0x1f19f97b, 0x7c29fbee, 0x2e110a62, 0x776c4edb, 1229 0x12c8106f, 0x7e9d55fc, 0x25280c5e, 0x7a7d055b, 0x36ba2014, 0x73b5ebd1, 1230 0x15e21445, 0x7e1d93ea, 0x2b1f34eb, 0x78848414, 0x3f1749b8, 0x6f5f02b2, 1231 0x18f8b83c, 0x7d8a5f40, 0x30fbc54d, 0x7641af3d, 0x471cece7, 0x6a6d98a4, 1232 0x1c0b826b, 0x7ce3ceb2, 0x36ba2014, 0x73b5ebd1, 0x4ebfe8a5, 0x64e88926, 1233 0x1f19f97b, 0x7c29fbee, 0x3c56ba70, 0x70e2cbc6, 0x55f5a4d2, 0x5ed77c8a, 1234 0x2223a4c5, 0x7b5d039e, 0x41ce1e65, 0x6dca0d14, 0x5cb420e0, 0x5842dd54, 1235 0x25280c5e, 0x7a7d055b, 0x471cece7, 0x6a6d98a4, 0x62f201ac, 0x5133cc94, 1236 0x2826b928, 0x798a23b1, 0x4c3fdff4, 0x66cf8120, 0x68a69e81, 0x49b41533, 1237 0x2b1f34eb, 0x78848414, 0x5133cc94, 0x62f201ac, 0x6dca0d15, 0x41ce1e64, 1238 0x2e110a62, 0x776c4edb, 0x55f5a4d2, 0x5ed77c8a, 0x72552c85, 0x398cdd32, 1239 0x30fbc54d, 0x7641af3d, 0x5a82799a, 0x5a82799a, 0x7641af3d, 0x30fbc54d, 1240 0x33def287, 0x7504d345, 0x5ed77c8a, 0x55f5a4d2, 0x798a23b1, 0x2826b928, 1241 0x36ba2014, 0x73b5ebd1, 0x62f201ac, 0x5133cc94, 0x7c29fbee, 0x1f19f97b, 1242 0x398cdd33, 0x72552c85, 0x66cf8120, 0x4c3fdff3, 0x7e1d93ea, 0x15e21444, 1243 0x3c56ba70, 0x70e2cbc6, 0x6a6d98a4, 0x471cece6, 0x7f62368f, 0x0c8bd35e, 1244 0x3f1749b8, 0x6f5f02b2, 0x6dca0d15, 0x41ce1e64, 0x7ff62182, 0x03242abf, 1245 0x41ce1e65, 0x6dca0d14, 0x70e2cbc6, 0x3c56ba70, 0x7fd8878e, 0xf9b82684, 1246 0x447acd51, 0x6c242960, 0x73b5ebd1, 0x36ba2013, 0x7f0991c3, 0xf054d8d5, 1247 0x471cece7, 0x6a6d98a4, 0x7641af3d, 0x30fbc54d, 0x7d8a5f40, 0xe70747c4, 1248 0x49b41534, 0x68a69e81, 0x78848414, 0x2b1f34eb, 0x7b5d039d, 0xdddc5b3b, 1249 0x4c3fdff4, 0x66cf8120, 0x7a7d055b, 0x25280c5d, 0x78848414, 0xd4e0cb15, 1250 0x4ebfe8a5, 0x64e88926, 0x7c29fbee, 0x1f19f97b, 0x7504d345, 0xcc210d79, 1251 0x5133cc94, 0x62f201ac, 0x7d8a5f40, 0x18f8b83c, 0x70e2cbc6, 0xc3a94590, 1252 0x539b2af0, 0x60ec3830, 0x7e9d55fc, 0x12c8106e, 0x6c242960, 0xbb8532b0, 1253 0x55f5a4d2, 0x5ed77c8a, 0x7f62368f, 0x0c8bd35e, 0x66cf811f, 0xb3c0200d, 1254 0x5842dd55, 0x5cb420e0, 0x7fd8878e, 0x0647d97c, 0x60ec3830, 0xac64d511, 1255 0x5a82799a, 0x5a82799a, 0x7fffffff, 0x00000000, 0x5a82799a, 0xa57d8667, 1256 0x5cb420e0, 0x5842dd54, 0x7fd8878e, 0xf9b82684, 0x539b2aef, 0x9f13c7d1, 1257 0x5ed77c8a, 0x55f5a4d2, 0x7f62368f, 0xf3742ca2, 0x4c3fdff3, 0x99307ee1, 1258 0x60ec3830, 0x539b2aef, 0x7e9d55fc, 0xed37ef92, 0x447acd50, 0x93dbd6a0, 1259 0x62f201ac, 0x5133cc94, 0x7d8a5f40, 0xe70747c4, 0x3c56ba6f, 0x8f1d343b, 1260 0x64e88926, 0x4ebfe8a4, 0x7c29fbee, 0xe0e60685, 0x33def287, 0x8afb2cbb, 1261 0x66cf8120, 0x4c3fdff3, 0x7a7d055b, 0xdad7f3a3, 0x2b1f34eb, 0x877b7bed, 1262 0x68a69e81, 0x49b41533, 0x78848414, 0xd4e0cb15, 0x2223a4c5, 0x84a2fc63, 1263 0x6a6d98a4, 0x471cece6, 0x7641af3d, 0xcf043ab3, 0x18f8b83c, 0x8275a0c1, 1264 0x6c242960, 0x447acd50, 0x73b5ebd1, 0xc945dfed, 0x0fab272a, 0x80f66e3d, 1265 0x6dca0d15, 0x41ce1e64, 0x70e2cbc6, 0xc3a94590, 0x0647d97b, 0x80277873, 1266 0x6f5f02b2, 0x3f1749b8, 0x6dca0d14, 0xbe31e19c, 0xfcdbd541, 0x8009de7f, 1267 0x70e2cbc6, 0x3c56ba70, 0x6a6d98a4, 0xb8e3131a, 0xf3742ca2, 0x809dc972, 1268 0x72552c85, 0x398cdd32, 0x66cf811f, 0xb3c0200d, 0xea1debbc, 0x81e26c17, 1269 0x73b5ebd1, 0x36ba2013, 0x62f201ac, 0xaecc336c, 0xe0e60685, 0x83d60413, 1270 0x7504d345, 0x33def287, 0x5ed77c89, 0xaa0a5b2e, 0xd7d946d8, 0x8675dc50, 1271 0x7641af3d, 0x30fbc54d, 0x5a82799a, 0xa57d8667, 0xcf043ab3, 0x89be50c5, 1272 0x776c4edb, 0x2e110a62, 0x55f5a4d2, 0xa1288377, 0xc67322ce, 0x8daad37d, 1273 0x78848414, 0x2b1f34eb, 0x5133cc94, 0x9d0dfe54, 0xbe31e19c, 0x9235f2ed, 1274 0x798a23b1, 0x2826b928, 0x4c3fdff3, 0x99307ee1, 0xb64beacd, 0x97596181, 1275 0x7a7d055b, 0x25280c5d, 0x471cece6, 0x9592675c, 0xaecc336c, 0x9d0dfe55, 1276 0x7b5d039e, 0x2223a4c5, 0x41ce1e64, 0x9235f2ec, 0xa7bd22ac, 0xa34bdf22, 1277 0x7c29fbee, 0x1f19f97b, 0x3c56ba6f, 0x8f1d343b, 0xa1288377, 0xaa0a5b30, 1278 0x7ce3ceb2, 0x1c0b826a, 0x36ba2013, 0x8c4a1430, 0x9b1776da, 0xb140175d, 1279 0x7d8a5f40, 0x18f8b83c, 0x30fbc54d, 0x89be50c4, 0x9592675c, 0xb8e3131b, 1280 0x7e1d93ea, 0x15e21444, 0x2b1f34eb, 0x877b7bed, 0x90a0fd4f, 0xc0e8b64a, 1281 0x7e9d55fc, 0x12c8106e, 0x25280c5d, 0x8582faa6, 0x8c4a1430, 0xc945dfee, 1282 0x7f0991c4, 0x0fab272b, 0x1f19f97a, 0x83d60413, 0x8893b125, 0xd1eef5a0, 1283 0x7f62368f, 0x0c8bd35e, 0x18f8b83c, 0x8275a0c1, 0x8582faa6, 0xdad7f3a5, 1284 0x7fa736b4, 0x096a9049, 0x12c8106e, 0x8162aa05, 0x831c314f, 0xe3f47d98, 1285 0x7fd8878e, 0x0647d97c, 0x0c8bd35d, 0x809dc972, 0x8162aa05, 0xed37ef94, 1286 0x7ff62182, 0x03242abf, 0x0647d97b, 0x80277873, 0x8058c94d, 0xf6956fb9, 1287 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 1288 0x0c8bd35e, 0x7f62368f, 0x18f8b83c, 0x7d8a5f40, 0x25280c5e, 0x7a7d055b, 1289 0x18f8b83c, 0x7d8a5f40, 0x30fbc54d, 0x7641af3d, 0x471cece7, 0x6a6d98a4, 1290 0x25280c5e, 0x7a7d055b, 0x471cece7, 0x6a6d98a4, 0x62f201ac, 0x5133cc94, 1291 0x30fbc54d, 0x7641af3d, 0x5a82799a, 0x5a82799a, 0x7641af3d, 0x30fbc54d, 1292 0x3c56ba70, 0x70e2cbc6, 0x6a6d98a4, 0x471cece6, 0x7f62368f, 0x0c8bd35e, 1293 0x471cece7, 0x6a6d98a4, 0x7641af3d, 0x30fbc54d, 0x7d8a5f40, 0xe70747c4, 1294 0x5133cc94, 0x62f201ac, 0x7d8a5f40, 0x18f8b83c, 0x70e2cbc6, 0xc3a94590, 1295 0x5a82799a, 0x5a82799a, 0x7fffffff, 0x00000000, 0x5a82799a, 0xa57d8667, 1296 0x62f201ac, 0x5133cc94, 0x7d8a5f40, 0xe70747c4, 0x3c56ba6f, 0x8f1d343b, 1297 0x6a6d98a4, 0x471cece6, 0x7641af3d, 0xcf043ab3, 0x18f8b83c, 0x8275a0c1, 1298 0x70e2cbc6, 0x3c56ba70, 0x6a6d98a4, 0xb8e3131a, 0xf3742ca2, 0x809dc972, 1299 0x7641af3d, 0x30fbc54d, 0x5a82799a, 0xa57d8667, 0xcf043ab3, 0x89be50c5, 1300 0x7a7d055b, 0x25280c5d, 0x471cece6, 0x9592675c, 0xaecc336c, 0x9d0dfe55, 1301 0x7d8a5f40, 0x18f8b83c, 0x30fbc54d, 0x89be50c4, 0x9592675c, 0xb8e3131b, 1302 0x7f62368f, 0x0c8bd35e, 0x18f8b83c, 0x8275a0c1, 0x8582faa6, 0xdad7f3a5, 1303 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 1304 0x30fbc54d, 0x7641af3d, 0x5a82799a, 0x5a82799a, 0x7641af3d, 0x30fbc54d, 1305 0x5a82799a, 0x5a82799a, 0x7fffffff, 0x00000000, 0x5a82799a, 0xa57d8667, 1306 0x7641af3d, 0x30fbc54d, 0x5a82799a, 0xa57d8667, 0xcf043ab3, 0x89be50c5, 1307 }, 1308 1309 // WORD32 low_overlap_win[512]; 1310 { 1311 0, 0, 0, 0, 0, 0, 1312 0, 0, 0, 0, 0, 0, 1313 0, 0, 0, 0, 0, 0, 1314 0, 0, 0, 0, 0, 0, 1315 0, 0, 0, 0, 0, 0, 1316 0, 0, 0, 0, 0, 0, 1317 0, 0, 0, 0, 0, 0, 1318 0, 0, 0, 0, 0, 0, 1319 0, 0, 0, 0, 0, 0, 1320 0, 0, 0, 0, 0, 0, 1321 0, 0, 0, 0, 0, 0, 1322 0, 0, 0, 0, 0, 0, 1323 0, 0, 0, 0, 0, 0, 1324 0, 0, 0, 0, 0, 0, 1325 0, 0, 0, 0, 0, 0, 1326 0, 0, 0, 0, 0, 0, 1327 0, 0, 0, 0, 0, 0, 1328 0, 0, 0, 0, 0, 0, 1329 0, 0, 0, 0, 0, 0, 1330 0, 0, 0, 0, 0, 0, 1331 0, 0, 0, 0, 0, 0, 1332 0, 0, 0, 0, 0, 0, 1333 0, 0, 0, 0, 0, 0, 1334 0, 0, 0, 0, 0, 0, 1335 0, 0, 0, 0, 0, 0, 1336 0, 0, 0, 0, 0, 0, 1337 0, 0, 0, 0, 0, 0, 1338 0, 0, 0, 0, 0, 0, 1339 0, 0, 0, 0, 0, 0, 1340 0, 0, 0, 0, 0, 0, 1341 0, 0, 0, 0, 0, 0, 1342 0, 0, 0, 0, 0, 0, 1343 6588355, 19764075, 32936819, 46104602, 59265442, 72417357, 1344 85558366, 98686490, 111799753, 124896178, 137973795, 151030634, 1345 164064728, 177074114, 190056834, 203010932, 215934457, 228825463, 1346 241682009, 254502159, 267283981, 280025551, 292724951, 305380267, 1347 317989594, 330551034, 343062693, 355522688, 367929143, 380280189, 1348 392573967, 404808624, 416982318, 429093217, 441139495, 453119340, 1349 465030947, 476872521, 488642280, 500338452, 511959274, 523502998, 1350 534967883, 546352205, 557654248, 568872310, 580004702, 591049747, 1351 602005783, 612871159, 623644238, 634323399, 644907034, 655393547, 1352 665781361, 676068911, 686254647, 696337035, 706314558, 716185713, 1353 725949012, 735602987, 745146182, 754577161, 763894503, 773096806, 1354 782182683, 791150766, 799999705, 808728167, 817334837, 825818420, 1355 834177638, 842411231, 850517961, 858496605, 866345963, 874064853, 1356 881652112, 889106597, 896427186, 903612776, 910662286, 917574653, 1357 924348836, 930983817, 937478594, 943832191, 950043650, 956112036, 1358 962036435, 967815955, 973449725, 978936897, 984276645, 989468165, 1359 994510674, 999403414, 1004145647, 1008736660, 1013175760, 1017462280, 1360 1021595574, 1025575020, 1029400017, 1033069991, 1036584388, 1039942680, 1361 1043144359, 1046188946, 1049075979, 1051805026, 1054375675, 1056787539, 1362 1059040255, 1061133483, 1063066908, 1064840239, 1066453209, 1067905576, 1363 1069197119, 1070327646, 1071296985, 1072104991, 1072751541, 1073236539, 1364 1073559912, 1073721611, 1073741823, 1073741823, 1073741823, 1073741823, 1365 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1366 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1367 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1368 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1369 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1370 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1371 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1372 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1373 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1374 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1375 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1376 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1377 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1378 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1379 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1380 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1381 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1382 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1383 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1384 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1385 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1386 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1387 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1388 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1389 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1390 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1391 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1392 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1393 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1394 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1395 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1396 1073741823, 1073741823, 1397 }, 1398 // WORD32 window_sine_512[512]; 1399 {1647098, 4941280, 8235415, 11529473, 14823423, 18117232, 1400 21410872, 24704309, 27997515, 31290456, 34583103, 37875425, 1401 41167390, 44458968, 47750127, 51040837, 54331066, 57620784, 1402 60909960, 64198562, 67486560, 70773923, 74060620, 77346619, 1403 80631891, 83916404, 87200127, 90483029, 93765079, 97046247, 1404 100326501, 103605811, 106884146, 110161475, 113437767, 116712991, 1405 119987117, 123260113, 126531950, 129802595, 133072018, 136340189, 1406 139607077, 142872650, 146136879, 149399733, 152661180, 155921190, 1407 159179733, 162436777, 165692293, 168946249, 172198614, 175449359, 1408 178698453, 181945864, 185191563, 188435519, 191677702, 194918080, 1409 198156623, 201393302, 204628084, 207860941, 211091841, 214320755, 1410 217547651, 220772499, 223995270, 227215932, 230434456, 233650810, 1411 236864966, 240076892, 243286558, 246493934, 249698990, 252901696, 1412 256102022, 259299937, 262495411, 265688415, 268878918, 272066890, 1413 275252301, 278435122, 281615322, 284792871, 287967740, 291139898, 1414 294309315, 297475963, 300639811, 303800829, 306958987, 310114256, 1415 313266607, 316416009, 319562432, 322705848, 325846226, 328983537, 1416 332117752, 335248841, 338376774, 341501522, 344623056, 347741346, 1417 350856364, 353968078, 357076461, 360181484, 363283116, 366381328, 1418 369476092, 372567379, 375655158, 378739402, 381820081, 384897167, 1419 387970629, 391040440, 394106570, 397168990, 400227673, 403282588, 1420 406333707, 409381002, 412424443, 415464003, 418499652, 421531362, 1421 424559105, 427582851, 430602573, 433618242, 436629829, 439637307, 1422 442640646, 445639819, 448634798, 451625554, 454612059, 457594286, 1423 460572205, 463545789, 466515010, 469479840, 472440251, 475396215, 1424 478347705, 481294692, 484237149, 487175049, 490108362, 493037063, 1425 495961123, 498880515, 501795211, 504705185, 507610407, 510510852, 1426 513406492, 516297299, 519183247, 522064308, 524940455, 527811662, 1427 530677900, 533539143, 536395365, 539246537, 542092635, 544933629, 1428 547769495, 550600205, 553425732, 556246050, 559061133, 561870953, 1429 564675486, 567474703, 570268578, 573057087, 575840201, 578617895, 1430 581390144, 584156920, 586918197, 589673950, 592424154, 595168781, 1431 597907806, 600641203, 603368947, 606091011, 608807371, 611518001, 1432 614222874, 616921967, 619615253, 622302706, 624984303, 627660016, 1433 630329822, 632993695, 635651611, 638303543, 640949467, 643589358, 1434 646223192, 648850943, 651472587, 654088098, 656697454, 659300628, 1435 661897597, 664488336, 667072820, 669651025, 672222928, 674788503, 1436 677347727, 679900576, 682447025, 684987050, 687520628, 690047735, 1437 692568347, 695082441, 697589992, 700090976, 702585372, 705073154, 1438 707554300, 710028786, 712496590, 714957686, 717412054, 719859669, 1439 722300508, 724734549, 727161768, 729582143, 731995650, 734402268, 1440 736801974, 739194744, 741580557, 743959390, 746331220, 748696026, 1441 751053784, 753404474, 755748072, 758084557, 760413906, 762736098, 1442 765051111, 767358923, 769659512, 771952857, 774238936, 776517727, 1443 778789210, 781053362, 783310163, 785559591, 787801625, 790036244, 1444 792263427, 794483152, 796695400, 798900149, 801097378, 803287068, 1445 805469196, 807643743, 809810688, 811970011, 814121691, 816265708, 1446 818402043, 820530674, 822651582, 824764747, 826870150, 828967769, 1447 831057585, 833139580, 835213733, 837280024, 839338434, 841388945, 1448 843431535, 845466188, 847492882, 849511599, 851522321, 853525027, 1449 855519700, 857506321, 859484870, 861455329, 863417680, 865371905, 1450 867317984, 869255899, 871185633, 873107167, 875020482, 876925562, 1451 878822388, 880710942, 882591207, 884463164, 886326796, 888182086, 1452 890029016, 891867568, 893697726, 895519472, 897332790, 899137661, 1453 900934069, 902721997, 904501429, 906272346, 908034734, 909788575, 1454 911533853, 913270551, 914998653, 916718143, 918429004, 920131220, 1455 921824776, 923509655, 925185842, 926853321, 928512076, 930162091, 1456 931803351, 933435841, 935059545, 936674448, 938280534, 939877789, 1457 941466198, 943045745, 944616416, 946178195, 947731069, 949275023, 1458 950810041, 952336110, 953853216, 955361343, 956860478, 958350607, 1459 959831716, 961303790, 962766816, 964220780, 965665668, 967101468, 1460 968528164, 969945745, 971354195, 972753503, 974143656, 975524639, 1461 976896440, 978259046, 979612445, 980956623, 982291568, 983617267, 1462 984933708, 986240878, 987538766, 988827358, 990106643, 991376609, 1463 992637244, 993888536, 995130473, 996363043, 997586235, 998800037, 1464 1000004439, 1001199428, 1002384993, 1003561124, 1004727808, 1005885036, 1465 1007032796, 1008171077, 1009299869, 1010419161, 1011528943, 1012629204, 1466 1013719933, 1014801121, 1015872757, 1016934832, 1017987335, 1019030256, 1467 1020063585, 1021087314, 1022101431, 1023105928, 1024100795, 1025086023, 1468 1026061603, 1027027525, 1027983780, 1028930359, 1029867253, 1030794455, 1469 1031711953, 1032619741, 1033517810, 1034406151, 1035284755, 1036153615, 1470 1037012722, 1037862069, 1038701647, 1039531448, 1040351464, 1041161689, 1471 1041962114, 1042752731, 1043533533, 1044304514, 1045065665, 1045816979, 1472 1046558450, 1047290070, 1048011833, 1048723731, 1049425759, 1050117909, 1473 1050800175, 1051472550, 1052135028, 1052787603, 1053430269, 1054063020, 1474 1054685850, 1055298752, 1055901722, 1056494753, 1057077839, 1057650977, 1475 1058214159, 1058767381, 1059310637, 1059843923, 1060367233, 1060880562, 1476 1061383906, 1061877260, 1062360620, 1062833979, 1063297335, 1063750683, 1477 1064194019, 1064627337, 1065050636, 1065463909, 1065867154, 1066260366, 1478 1066643543, 1067016680, 1067379774, 1067732821, 1068075818, 1068408762, 1479 1068731650, 1069044478, 1069347245, 1069639946, 1069922579, 1070195142, 1480 1070457631, 1070710046, 1070952382, 1071184638, 1071406811, 1071618900, 1481 1071820903, 1072012817, 1072194641, 1072366373, 1072528012, 1072679556, 1482 1072821003, 1072952352, 1073073602, 1073184752, 1073285801, 1073376748, 1483 1073457591, 1073528331, 1073588967, 1073639497, 1073679922, 1073710241, 1484 1073730454, 1073740560}, 1485 // WORD32 cosine_array_1024[512]; 1486 { 1487 2147483008, 2147432448, 1647099, 14823777, 2147301120, 2147088896, 1488 27999896, 41174960, 2146795776, 2146421888, 54348476, 67519944, 1489 2145967232, 2145431680, 80688872, 93854760, 2144815488, 2144118400, 1490 107017112, 120175440, 2143340672, 2142482304, 133329240, 146478032, 1491 2141543168, 2140523392, 159621296, 172758544, 2139423104, 2138242176, 1492 185889296, 199013056, 2136980864, 2135639040, 212129312, 225237600, 1493 2134216832, 2132714240, 238337392, 251428208, 2131131264, 2129468160, 1494 264509568, 277580960, 2127724928, 2125901568, 290641920, 303691904, 1495 2123998080, 2122014720, 316730496, 329757120, 2119951360, 2117808256, 1496 342771360, 355772672, 2115585408, 2113282944, 368760608, 381734656, 1497 2110900864, 2108439296, 394694336, 407639136, 2105898368, 2103278208, 1498 420568608, 433482240, 2100578816, 2097800320, 446379552, 459260064, 1499 2094942848, 2092006528, 472123296, 484968736, 2088991488, 2085897728, 1500 497795904, 510604352, 2082725376, 2079474688, 523393568, 536163072, 1501 2076145792, 2072738560, 548912384, 561641024, 2069253376, 2065690368, 1502 574348544, 587034432, 2062049536, 2058331008, 599698240, 612339456, 1503 2054535040, 2050661632, 624957632, 637552256, 2046711040, 2042683520, 1504 650122880, 662668992, 2038578944, 2034397696, 675190208, 687685952, 1505 2030139904, 2025805568, 700155840, 712599360, 2021394944, 2016908288, 1506 725016064, 737405504, 2012345728, 2007707392, 749767104, 762100544, 1507 2002993408, 1998204032, 774405248, 786680768, 1993339392, 1988399744, 1508 798926720, 811142592, 1983385216, 1978296064, 823327936, 835482240, 1509 1973132416, 1967894528, 847605120, 859696064, 1962582400, 1957196544, 1510 871754688, 883780416, 1951736832, 1946203776, 895772928, 907731712, 1511 1940597376, 1934918016, 919656256, 931546240, 1929165696, 1923340800, 1512 943401152, 955220544, 1917443456, 1911473920, 967003968, 978750976, 1513 1905432448, 1899319168, 990461120, 1002134016, 1893134464, 1886878464, 1514 1013769152, 1025366080, 1880551424, 1874153600, 1036924480, 1048443776, 1515 1867685120, 1861146496, 1059923648, 1071363584, 1854537600, 1847859072, 1516 1082763264, 1094122112, 1841110784, 1834293376, 1105439744, 1116715776, 1517 1827406720, 1820451328, 1127949696, 1139141248, 1813427456, 1806335232, 1518 1150289920, 1161395200, 1799175040, 1791947136, 1172456832, 1183474304, 1519 1784651776, 1777289216, 1194447232, 1205375104, 1769859712, 1762363520, 1520 1216257664, 1227094400, 1754801024, 1747172480, 1237884928, 1248628992, 1521 1739478144, 1731718400, 1259325824, 1269975424, 1723893376, 1716003456, 1522 1280577152, 1291130624, 1708048896, 1700030080, 1301635584, 1312091392, 1523 1691947136, 1683800704, 1322497920, 1332854656, 1675590656, 1667317632, 1524 1343161088, 1353417088, 1658981888, 1650583680, 1363622016, 1373775744, 1525 1642123264, 1633601024, 1383877632, 1393927424, 1625017216, 1616372352, 1526 1403924864, 1413869312, 1607666560, 1598900352, 1423760512, 1433598208, 1527 1590073856, 1581187456, 1443381888, 1453111296, 1572241536, 1563236480, 1528 1462785920, 1472405376, 1554172544, 1545050112, 1481969536, 1491477888, 1529 1535869440, 1526631040, 1500930048, 1510325760, 1517335040, 1507982080, 1530 1519664512, 1528946048, 1498572160, 1489105920, 1538170112, 1547336192, 1531 1479583616, 1470005632, 1556444032, 1565493376, 1460372352, 1450683904, 1532 1574483712, 1583414656, 1440941056, 1431143808, 1592286080, 1601097600, 1533 1421292672, 1411388032, 1609848832, 1618539392, 1401430400, 1391419904, 1534 1627169024, 1635737344, 1381356928, 1371242112, 1644244224, 1652689152, 1535 1361075584, 1350857728, 1661071744, 1669391872, 1340589184, 1330270080, 1536 1677649152, 1685843328, 1319900928, 1309481984, 1693973888, 1702040832, 1537 1299013760, 1288496768, 1710043648, 1717981952, 1277931136, 1267317376, 1538 1725855744, 1733664512, 1256656000, 1245947264, 1741408000, 1749085824, 1539 1235191680, 1224389504, 1756697984, 1764243840, 1213541248, 1202647296, 1540 1771723392, 1779136128, 1191708032, 1180723968, 1786481920, 1793760512, 1541 1169695488, 1158622848, 1800971520, 1808114816, 1147506688, 1136347264, 1542 1815189888, 1822196736, 1125145088, 1113900544, 1829134848, 1836004224, 1543 1102614144, 1091286144, 1842804480, 1849535232, 1079917056, 1068507264, 1544 1856196480, 1862787712, 1057057344, 1045567552, 1869308928, 1875759744, 1545 1034038400, 1022470400, 1882139904, 1888449152, 1010863808, 999219200, 1546 1894687360, 1900854272, 987536960, 975817536, 1906949632, 1912973056, 1547 964061376, 952268928, 1918924544, 1924803840, 940440640, 928576960, 1548 1930610688, 1936344704, 916678272, 904745088, 1942005888, 1947593984, 1549 892777856, 880777024, 1953108736, 1958549888, 868742976, 856676288, 1550 1963917440, 1969211008, 844577280, 832446528, 1974430336, 1979575424, 1551 820284416, 808091392, 1984645888, 1989641728, 795867968, 783614592, 1552 1994562688, 1999408512, 771331712, 759019776, 2004178944, 2008874112, 1553 746679232, 734310592, 2013493504, 2018037120, 721914368, 709490880, 1554 2022504832, 2026896256, 697040768, 684564352, 2031211520, 2035450240, 1555 672062144, 659534720, 2039612288, 2043697664, 646982400, 634405696, 1556 2047705984, 2051637248, 621805184, 609181184, 2055491328, 2059267840, 1557 596534336, 583864960, 2062967040, 2066588416, 571173632, 558460736, 1558 2070132096, 2073597696, 545726912, 532972480, 2076985344, 2080294784, 1559 520197984, 507403936, 2083525888, 2086678528, 494590752, 481758976, 1560 2089752576, 2092748032, 468909024, 456041440, 2095664640, 2098502400, 1561 443156704, 430255264, 2101261056, 2103940736, 417337632, 404404288, 1562 2106541056, 2109062144, 391455712, 378492384, 2111503872, 2113865984, 1563 365514816, 352523488, 2116148608, 2118351488, 339518912, 326501504, 1564 2120474752, 2122518016, 313471840, 300430368, 2124481408, 2126364928, 1565 287377600, 274313984, 2128168320, 2129891456, 261240048, 248156272, 1566 2131534592, 2133097344, 235063168, 221961200, 2134579840, 2135982080, 1567 208850896, 195732704, 2137303808, 2138545024, 182607152, 169474736, 1568 2139705728, 2140785920, 156335920, 143191232, 2141785472, 2142704384, 1569 130041152, 116886168, 2143542656, 2144300288, 103726792, 90563504, 1570 2144977152, 2145573120, 77396808, 64227204, 2146088448, 2146523008, 1571 51055176, 37881228, 2146876672, 2147149568, 24705852, 11529547, 1572 2147341568, 2147452672, 1573 }, 1574 // const WORD32 low_overlap_win_480[480] 1575 {0, 0, 0, 0, 0, 0, 1576 0, 0, 0, 0, 0, 0, 1577 0, 0, 0, 0, 0, 0, 1578 0, 0, 0, 0, 0, 0, 1579 0, 0, 0, 0, 0, 0, 1580 0, 0, 0, 0, 0, 0, 1581 0, 0, 0, 0, 0, 0, 1582 0, 0, 0, 0, 0, 0, 1583 0, 0, 0, 0, 0, 0, 1584 0, 0, 0, 0, 0, 0, 1585 0, 0, 0, 0, 0, 0, 1586 0, 0, 0, 0, 0, 0, 1587 0, 0, 0, 0, 0, 0, 1588 0, 0, 0, 0, 0, 0, 1589 0, 0, 0, 0, 0, 0, 1590 0, 0, 0, 0, 0, 0, 1591 0, 0, 0, 0, 0, 0, 1592 0, 0, 0, 0, 0, 0, 1593 0, 0, 0, 0, 0, 0, 1594 0, 0, 0, 0, 0, 0, 1595 0, 0, 0, 0, 0, 0, 1596 0, 0, 0, 0, 0, 0, 1597 0, 0, 0, 0, 0, 0, 1598 0, 0, 0, 0, 0, 0, 1599 0, 0, 0, 0, 0, 0, 1600 0, 0, 0, 0, 0, 0, 1601 0, 0, 0, 0, 0, 0, 1602 0, 0, 0, 0, 0, 0, 1603 0, 0, 0, 0, 0, 0, 1604 0, 0, 0, 0, 0, 0, 1605 7027573, 21081516, 35131847, 49176158, 63212044, 77237098, 1606 91248918, 105245103, 119223254, 133180978, 147115881, 161025577, 1607 174907682, 188759818, 202579610, 216364692, 230112700, 243821280, 1608 257488083, 271110766, 284686996, 298214446, 311690798, 325113744, 1609 338480984, 351790226, 365039191, 378225608, 391347219, 404401774, 1610 417387037, 430300783, 443140798, 455904885, 468590854, 481196532, 1611 493719760, 506158392, 518510295, 530773355, 542945470, 555024554, 1612 567008537, 578895366, 590683004, 602369432, 613952647, 625430664, 1613 636801517, 648063257, 659213956, 670251701, 681174602, 691980787, 1614 702668405, 713235624, 723680634, 734001645, 744196888, 754264618, 1615 764203108, 774010655, 783685580, 793226225, 802630954, 811898156, 1616 821026244, 830013654, 838858844, 847560301, 856116533, 864526073, 1617 872787481, 880899342, 888860265, 896668886, 904323868, 911823899, 1618 919167693, 926353993, 933381566, 940249210, 946955747, 953500027, 1619 959880930, 966097363, 972148260, 978032584, 983749328, 989297511, 1620 994676183, 999884422, 1004921336, 1009786063, 1014477767, 1018995646, 1621 1023338926, 1027506861, 1031498739, 1035313874, 1038951614, 1042411335, 1622 1045692444, 1048794379, 1051716608, 1054458631, 1057019978, 1059400211, 1623 1061598920, 1063615730, 1065450295, 1067102300, 1068571463, 1069857532, 1624 1070960286, 1071879537, 1072615126, 1073166929, 1073534850, 1073718826, 1625 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1626 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1627 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1628 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1629 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1630 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1631 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1632 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1633 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1634 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1635 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1636 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1637 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1638 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1639 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1640 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1641 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1642 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1643 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1644 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1645 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1646 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1647 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1648 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1649 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1650 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1651 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1652 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1653 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1654 1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823}, 1655 // WORD32 window_sine_480[480]; 1656 {1756905, 5270696, 8784431, 12298072, 15811582, 19324922, 1657 22838055, 26350943, 29863549, 33375836, 36887765, 40399299, 1658 43910400, 47421031, 50931154, 54440732, 57949727, 61458101, 1659 64965817, 68472837, 71979124, 75484640, 78989348, 82493210, 1660 85996188, 89498246, 92999345, 96499448, 99998518, 103496516, 1661 106993407, 110489151, 113983713, 117477053, 120969136, 124459923, 1662 127949377, 131437461, 134924138, 138409369, 141893118, 145375348, 1663 148856021, 152335099, 155812547, 159288325, 162762398, 166234728, 1664 169705277, 173174009, 176640887, 180105873, 183568930, 187030021, 1665 190489109, 193946157, 197401129, 200853986, 204304692, 207753211, 1666 211199504, 214643536, 218085269, 221524666, 224961691, 228396307, 1667 231828477, 235258165, 238685333, 242109944, 245531963, 248951353, 1668 252368076, 255782097, 259193379, 262601885, 266007578, 269410423, 1669 272810383, 276207421, 279601501, 282992587, 286380642, 289765631, 1670 293147516, 296526261, 299901832, 303274190, 306643301, 310009128, 1671 313371635, 316730785, 320086544, 323438875, 326787743, 330133110, 1672 333474943, 336813204, 340147858, 343478869, 346806202, 350129821, 1673 353449690, 356765774, 360078037, 363386445, 366690960, 369991549, 1674 373288175, 376580804, 379869400, 383153928, 386434352, 389710639, 1675 392982751, 396250655, 399514316, 402773698, 406028767, 409279487, 1676 412525825, 415767744, 419005212, 422238191, 425466650, 428690551, 1677 431909862, 435124547, 438334573, 441539904, 444740507, 447936347, 1678 451127389, 454313601, 457494947, 460671394, 463842908, 467009454, 1679 470170999, 473327508, 476478949, 479625287, 482766489, 485902520, 1680 489033348, 492158939, 495279259, 498394275, 501503954, 504608262, 1681 507707166, 510800633, 513888630, 516971123, 520048080, 523119468, 1682 526185253, 529245403, 532299886, 535348668, 538391717, 541429001, 1683 544460486, 547486140, 550505931, 553519827, 556527795, 559529802, 1684 562525818, 565515810, 568499745, 571477593, 574449320, 577414895, 1685 580374287, 583327463, 586274392, 589215043, 592149384, 595077383, 1686 597999010, 600914232, 603823019, 606725340, 609621163, 612510457, 1687 615393193, 618269337, 621138861, 624001732, 626857921, 629707397, 1688 632550130, 635386088, 638215242, 641037560, 643853014, 646661573, 1689 649463207, 652257885, 655045578, 657826256, 660599890, 663366449, 1690 666125903, 668878224, 671623382, 674361348, 677092091, 679815584, 1691 682531796, 685240699, 687942263, 690636460, 693323261, 696002637, 1692 698674559, 701338999, 703995929, 706645319, 709287141, 711921368, 1693 714547970, 717166920, 719778190, 722381752, 724977578, 727565639, 1694 730145909, 732718360, 735282964, 737839694, 740388522, 742929421, 1695 745462364, 747987323, 750504272, 753013184, 755514032, 758006789, 1696 760491428, 762967923, 765436247, 767896374, 770348277, 772791930, 1697 775227308, 777654383, 780073131, 782483524, 784885538, 787279146, 1698 789664323, 792041044, 794409282, 796769013, 799120211, 801462851, 1699 803796908, 806122357, 808439173, 810747332, 813046807, 815337576, 1700 817619614, 819892895, 822157396, 824413092, 826659959, 828897974, 1701 831127111, 833347348, 835558661, 837761025, 839954418, 842138815, 1702 844314194, 846480531, 848637802, 850785986, 852925058, 855054996, 1703 857175777, 859287379, 861389778, 863482952, 865566879, 867641537, 1704 869706903, 871762955, 873809671, 875847029, 877875008, 879893585, 1705 881902740, 883902450, 885892694, 887873451, 889844699, 891806418, 1706 893758587, 895701184, 897634188, 899557580, 901471339, 903375443, 1707 905269873, 907154608, 909029628, 910894913, 912750443, 914596199, 1708 916432160, 918258306, 920074619, 921881079, 923677666, 925464361, 1709 927241145, 929007999, 930764904, 932511841, 934248792, 935975738, 1710 937692661, 939399541, 941096361, 942783103, 944459749, 946126280, 1711 947782678, 949428927, 951065008, 952690904, 954306597, 955912071, 1712 957507308, 959092290, 960667001, 962231424, 963785543, 965329340, 1713 966862800, 968385905, 969898639, 971400986, 972892931, 974374457, 1714 975845548, 977306188, 978756362, 980196055, 981625250, 983043933, 1715 984452089, 985849701, 987236756, 988613239, 989979134, 991334427, 1716 992679104, 994013151, 995336552, 996649294, 997951362, 999242743, 1717 1000523424, 1001793389, 1003052626, 1004301121, 1005538861, 1006765832, 1718 1007982022, 1009187417, 1010382005, 1011565772, 1012738706, 1013900794, 1719 1015052024, 1016192384, 1017321862, 1018440444, 1019548120, 1020644877, 1720 1021730705, 1022805590, 1023869522, 1024922488, 1025964479, 1026995483, 1721 1028015488, 1029024484, 1030022460, 1031009406, 1031985310, 1032950162, 1722 1033903952, 1034846670, 1035778306, 1036698849, 1037608290, 1038506619, 1723 1039393827, 1040269903, 1041134839, 1041988625, 1042831253, 1043662712, 1724 1044482995, 1045292092, 1046089995, 1046876695, 1047652184, 1048416454, 1725 1049169495, 1049911301, 1050641864, 1051361174, 1052069226, 1052766010, 1726 1053451521, 1054125750, 1054788690, 1055440334, 1056080675, 1056709706, 1727 1057327421, 1057933812, 1058528874, 1059112600, 1059684984, 1060246020, 1728 1060795701, 1061334021, 1061860976, 1062376559, 1062880765, 1063373588, 1729 1063855024, 1064325066, 1064783710, 1065230952, 1065666785, 1066091206, 1730 1066504210, 1066905793, 1067295950, 1067674677, 1068041971, 1068397826, 1731 1068742240, 1069075208, 1069396727, 1069706794, 1070005405, 1070292558, 1732 1070568248, 1070832474, 1071085231, 1071326518, 1071556333, 1071774671, 1733 1071981532, 1072176913, 1072360812, 1072533226, 1072694155, 1072843595, 1734 1072981547, 1073108008, 1073222976, 1073326452, 1073418433, 1073498918, 1735 1073567907, 1073625399, 1073671393, 1073705890, 1073728887, 1073740386}, 1736 // UWORD8 re_arr_tab_16[240]; 1737 { 1738 1739 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195, 210, 1740 225, 16, 31, 46, 61, 76, 91, 106, 121, 136, 151, 166, 181, 196, 211, 1741 226, 1, 32, 47, 62, 77, 92, 107, 122, 137, 152, 167, 182, 197, 212, 1742 227, 2, 17, 48, 63, 78, 93, 108, 123, 138, 153, 168, 183, 198, 213, 1743 228, 3, 18, 33, 64, 79, 94, 109, 124, 139, 154, 169, 184, 199, 214, 1744 229, 4, 19, 34, 49, 80, 95, 110, 125, 140, 155, 170, 185, 200, 215, 1745 230, 5, 20, 35, 50, 65, 96, 111, 126, 141, 156, 171, 186, 201, 216, 1746 231, 6, 21, 36, 51, 66, 81, 112, 127, 142, 157, 172, 187, 202, 217, 1747 232, 7, 22, 37, 52, 67, 82, 97, 128, 143, 158, 173, 188, 203, 218, 1748 233, 8, 23, 38, 53, 68, 83, 98, 113, 144, 159, 174, 189, 204, 219, 1749 234, 9, 24, 39, 54, 69, 84, 99, 114, 129, 160, 175, 190, 205, 220, 1750 235, 10, 25, 40, 55, 70, 85, 100, 115, 130, 145, 176, 191, 206, 221, 1751 236, 11, 26, 41, 56, 71, 86, 101, 116, 131, 146, 161, 192, 207, 222, 1752 237, 12, 27, 42, 57, 72, 87, 102, 117, 132, 147, 162, 177, 208, 223, 1753 238, 13, 28, 43, 58, 73, 88, 103, 118, 133, 148, 163, 178, 193, 224, 1754 239, 14, 29, 44, 59, 74, 89, 104, 119, 134, 149, 164, 179, 194, 209}, 1755 // UWORD8 re_arr_tab_sml_240[MDCT_LEN >> 1] = 1756 {0, 160, 80, 96, 16, 176, 192, 112, 32, 48, 208, 128, 144, 64, 224, 1757 225, 145, 65, 81, 1, 161, 177, 97, 17, 33, 193, 113, 129, 49, 209, 1758 210, 130, 50, 66, 226, 146, 162, 82, 2, 18, 178, 98, 114, 34, 194, 1759 195, 115, 35, 51, 211, 131, 147, 67, 227, 3, 163, 83, 99, 19, 179, 1760 180, 100, 20, 36, 196, 116, 132, 52, 212, 228, 148, 68, 84, 4, 164, 1761 165, 85, 5, 21, 181, 101, 117, 37, 197, 213, 133, 53, 69, 229, 149, 1762 150, 70, 230, 6, 166, 86, 102, 22, 182, 198, 118, 38, 54, 214, 134, 1763 135, 55, 215, 231, 151, 71, 87, 7, 167, 183, 103, 23, 39, 199, 119, 1764 120, 40, 200, 216, 136, 56, 72, 232, 152, 168, 88, 8, 24, 184, 104, 1765 105, 25, 185, 201, 121, 41, 57, 217, 137, 153, 73, 233, 9, 169, 89, 1766 90, 10, 170, 186, 106, 26, 42, 202, 122, 138, 58, 218, 234, 154, 74, 1767 75, 235, 155, 171, 91, 11, 27, 187, 107, 123, 43, 203, 219, 139, 59, 1768 60, 220, 140, 156, 76, 236, 12, 172, 92, 108, 28, 188, 204, 124, 44, 1769 45, 205, 125, 141, 61, 221, 237, 157, 77, 93, 13, 173, 189, 109, 29, 1770 30, 190, 110, 126, 46, 206, 222, 142, 62, 78, 238, 158, 174, 94, 14, 1771 15, 175, 95, 111, 31, 191, 207, 127, 47, 63, 223, 143, 159, 79, 239}, 1772 1773 // WORD32 cosine_array_960[480] = 1774 { 1775 2147482880, 2147425408, 1756906, 15812012, 2147275904, 2147034496, 1776 29866440, 43919588, 2146701056, 2146275712, 57970856, 72019640, 1777 2145758336, 2145149056, 86065336, 100107352, 2144447872, 2143654912, 1778 114145072, 128177912, 2142770048, 2141793536, 142205248, 156226512, 1779 2140725120, 2139565056, 170241056, 184248336, 2138313344, 2136969984, 1780 198247712, 212238592, 2135535104, 2134008832, 226220384, 240192480, 1781 2132391040, 2130681984, 254154288, 268105216, 2128881536, 2126990080, 1782 282044640, 295972000, 2125007360, 2122933632, 309886688, 323788096, 1783 2120769024, 2118513536, 337675616, 351548704, 2116167296, 2113730432, 1784 365406720, 379249056, 2111202944, 2108585088, 393075168, 406884448, 1785 2105876864, 2103078528, 420676288, 434450112, 2100189952, 2097211520, 1786 448205344, 461941344, 2094143232, 2090985216, 475657568, 489353408, 1787 2087737600, 2084400640, 503028320, 516681664, 2080974336, 2077458944, 1788 530312864, 543921344, 2073854464, 2070161280, 557506560, 571067840, 1789 2066379264, 2062508800, 584604672, 598116480, 2058550016, 2054503040, 1790 611602688, 625062656, 2050368000, 2046145152, 638495872, 651901696, 1791 2041834752, 2037436800, 665279680, 678629120, 2032951552, 2028379264, 1792 691949440, 705240192, 2023720064, 2018974208, 718500672, 731730432, 1793 2014141824, 2009223168, 744928832, 758095296, 2004218368, 1999127808, 1794 771229312, 784330240, 1993951616, 1988690048, 797397632, 810430848, 1795 1983343232, 1977911424, 823429312, 836392576, 1972394880, 1966793856, 1796 849319936, 862210944, 1961108608, 1955339392, 875065024, 887881600, 1797 1949486464, 1943549824, 900660160, 913400192, 1937530112, 1931427328, 1798 926100992, 938762176, 1925241856, 1918973824, 951383168, 963963392, 1799 1912623616, 1906191616, 976502272, 988999360, 1899677824, 1893082624, 1800 1001454080, 1013865920, 1886406400, 1879649408, 1026234304, 1038558720, 1801 1872811776, 1865894016, 1050838720, 1063073600, 1858896256, 1851819008, 1802 1075262976, 1087406336, 1844662272, 1837426560, 1099503104, 1111552768, 1803 1830112256, 1822719360, 1123554816, 1135508736, 1815248512, 1807699840, 1804 1147414016, 1159270016, 1800073856, 1792370688, 1171076480, 1182832768, 1805 1784590720, 1776734336, 1194538496, 1206192896, 1768801792, 1760793472, 1806 1217795712, 1229346304, 1752709760, 1744551040, 1240844288, 1252289024, 1807 1736317440, 1728009600, 1263680256, 1275017216, 1719627648, 1711172096, 1808 1286299648, 1297526912, 1702643200, 1694041344, 1308698624, 1319814272, 1809 1685367040, 1676620416, 1330873472, 1341875584, 1667801984, 1658912128, 1810 1352820224, 1363706880, 1649951232, 1640919680, 1374535168, 1385304576, 1811 1631817728, 1622646016, 1396014592, 1406664832, 1613404672, 1604094336, 1812 1417254784, 1427784064, 1594715136, 1585267712, 1438252160, 1448658688, 1813 1575752448, 1566169600, 1459003136, 1469285120, 1556519680, 1546803072, 1814 1479504128, 1489659776, 1537020160, 1527171456, 1499751552, 1509779200, 1815 1517257344, 1507278336, 1519742080, 1529639936, 1497234560, 1487126784, 1816 1539472128, 1549238528, 1476955264, 1466720512, 1558938496, 1568571648, 1817 1456422784, 1446062848, 1578137728, 1587636096, 1435640832, 1425157376, 1818 1597066496, 1606428416, 1414612992, 1404007808, 1615721600, 1624945536, 1819 1393342592, 1382617728, 1634099840, 1643184256, 1371833472, 1360990592, 1820 1652198144, 1661141376, 1350089344, 1339130368, 1670013440, 1678813824, 1821 1328113920, 1317040640, 1687542400, 1696198656, 1305910912, 1294725248, 1822 1704782336, 1713292928, 1283484032, 1272188032, 1721730176, 1730093568, 1823 1260837376, 1249432832, 1738382848, 1746597760, 1237974656, 1226463488, 1824 1754737792, 1762802688, 1214899712, 1203283968, 1770792064, 1778705536, 1825 1191616768, 1179898368, 1786542976, 1794303744, 1168129536, 1156310656, 1826 1801987584, 1809594368, 1144442112, 1132524672, 1817123584, 1824574976, 1827 1120558720, 1108544640, 1831948160, 1839243008, 1096483200, 1084374784, 1828 1846458880, 1853595776, 1072219904, 1060019072, 1860653312, 1867630976, 1829 1047772800, 1035481728, 1874528768, 1881346176, 1023146240, 1010766912, 1830 1888083072, 1894739072, 998344320, 985878976, 1901313920, 1907807232, 1831 973371392, 960822080, 1914219008, 1920548608, 948231616, 935600576, 1832 1926796032, 1932960896, 922929408, 910218752, 1939042944, 1945041920, 1833 897469056, 884680960, 1950957568, 1956789632, 871854912, 858991552, 1834 1962537856, 1968202112, 846091392, 833155008, 1973782016, 1979277312, 1835 820182912, 807175680, 1984687872, 1990013440, 794133888, 781058048, 1836 1995253760, 2000408576, 767948800, 754806592, 2005477632, 2010460928, 1837 741632064, 728425792, 2015357952, 2020168832, 715188352, 701920192, 1838 2024893056, 2029530496, 688622016, 675294336, 2034081024, 2038544512, 1839 661937728, 648552768, 2042920576, 2047209216, 635140032, 621700032, 1840 2051410048, 2055523072, 608233472, 594740864, 2059548032, 2063484800, 1841 581222720, 567679680, 2067333120, 2071092864, 554112384, 540521280, 1842 2074763904, 2078346112, 526907072, 513270272, 2081839360, 2085243264, 1843 499611488, 485931296, 2088557952, 2091783168, 472230304, 458509088, 1844 2094918784, 2097964544, 444768224, 431008288, 2100920576, 2103786496, 1845 417229920, 403433664, 2106562432, 2109248000, 389620128, 375789888, 1846 2111843328, 2114348160, 361943552, 348081728, 2116762368, 2119085952, 1847 334204992, 320313920, 2121318656, 2123460608, 306409152, 292491232, 1848 2125511552, 2127471488, 278560800, 264618448, 2129340288, 2131117824, 1849 250664736, 236700304, 2132804096, 2134398976, 222725728, 208741600, 1850 2135902464, 2137314432, 194748544, 180747136, 2138634880, 2139863680, 1851 166737984, 152721696, 2141000832, 2142046208, 138698864, 124670096, 1852 2142999936, 2143861760, 110635984, 96597136, 2144631808, 2145309952, 1853 82554144, 68507616, 2145896320, 2146390656, 54458156, 40406360, 1854 2146793088, 2147103488, 26352836, 12298181, 2147321984, 2147448448, 1855 }, 1856 1857 // WORD32 w_16[24] = 1858 { 1859 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 0x00000000, 0x7fffffff, 1860 0x30fbc54d, 0x7641af3d, 0x5a82799a, 0x5a82799a, 0x7641af3d, 0x30fbc54d, 1861 0x5a82799a, 0x5a82799a, 0x7fffffff, 0x00000000, 0x5a82799a, 0xa57d8667, 1862 0x7641af3d, 0x30fbc54d, 0x5a82799a, 0xa57d8667, 0xcf043ab3, 0x89be50c5, 1863 }, 1864 1865 // WORD32 window_sine_480_eld[1920]; 1866 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1878 17, 72, 118, 176, 239, 307, 378, 451, 524, 597, 1879 669, 741, 812, 883, 954, 1024, 1095, 1165, 1235, 1305, 1880 1375, 1444, 1514, 1583, 1652, 1722, 1792, 1863, 1933, 2005, 1881 2077, 2150, 2224, 2299, 2374, 2451, 2529, 2607, 2686, 2766, 1882 2847, 2928, 3009, 3091, 3174, 3256, 3339, 3423, 3507, 3591, 1883 3676, 3760, 3846, 3932, 4018, 4104, 4191, 4278, 4366, 4454, 1884 4542, 4631, 4720, 4809, 4899, 4988, 5078, 5168, 5257, 5347, 1885 5436, 5524, 5613, 5702, 5790, 5878, 5967, 6056, 6144, 6233, 1886 6321, 6410, 6498, 6586, 6673, 6761, 6848, 6934, 7020, 7106, 1887 7192, 7276, 7361, 7445, 7529, 7614, 7698, 7781, 7865, 7947, 1888 8030, 8112, 8193, 8274, 8354, 8434, 8514, 8594, 8673, 8751, 1889 8830, 8908, 8985, 9063, 9139, 9216, 9292, 9367, 9442, 9517, 1890 9621, 9695, 9769, 9842, 9915, 9988, 10060, 10132, 10203, 10274, 1891 10345, 10415, 10485, 10554, 10623, 10691, 10760, 10827, 10895, 10962, 1892 11029, 11095, 11161, 11226, 11291, 11356, 11420, 11484, 11548, 11611, 1893 11674, 11736, 11798, 11859, 11921, 11981, 12042, 12102, 12161, 12220, 1894 12279, 12337, 12395, 12452, 12509, 12565, 12621, 12677, 12732, 12787, 1895 12841, 12895, 12948, 13000, 13053, 13104, 13156, 13206, 13257, 13306, 1896 13356, 13404, 13452, 13500, 13547, 13594, 13639, 13685, 13730, 13774, 1897 13818, 13861, 13904, 13946, 13988, 14029, 14069, 14109, 14148, 14187, 1898 14225, 14263, 14300, 14336, 14372, 14408, 14443, 14477, 14511, 14544, 1899 14577, 14609, 14641, 14673, 14704, 14734, 14764, 14794, 14823, 14852, 1900 14881, 14909, 14938, 14966, 14994, 15021, 15049, 15076, 15104, 15131, 1901 15159, 15186, 15213, 15239, 15265, 15289, 15312, 15333, 15351, 15372, 1902 15382, 15386, 15392, 15398, 15404, 15411, 15418, 15425, 15431, 15438, 1903 15444, 15451, 15458, 15464, 15471, 15478, 15485, 15492, 15499, 15505, 1904 15512, 15519, 15526, 15534, 15541, 15548, 15555, 15562, 15569, 15577, 1905 15584, 15592, 15599, 15606, 15614, 15621, 15629, 15637, 15644, 15652, 1906 15660, 15668, 15675, 15683, 15691, 15699, 15707, 15715, 15723, 15731, 1907 15740, 15748, 15756, 15764, 15773, 15781, 15789, 15798, 15806, 15815, 1908 15824, 15832, 15841, 15849, 15858, 15867, 15876, 15884, 15893, 15902, 1909 15911, 15920, 15929, 15938, 15947, 15956, 15965, 15974, 15983, 15993, 1910 16002, 16011, 16020, 16030, 16039, 16048, 16057, 16067, 16076, 16086, 1911 16095, 16104, 16114, 16123, 16133, 16142, 16152, 16161, 16171, 16181, 1912 16190, 16200, 16209, 16219, 16229, 16238, 16248, 16258, 16267, 16277, 1913 16287, 16296, 16306, 16316, 16326, 16335, 16345, 16355, 16365, 16374, 1914 16394, 16403, 16413, 16423, 16433, 16443, 16452, 16462, 16472, 16482, 1915 16492, 16502, 16511, 16521, 16531, 16541, 16551, 16561, 16570, 16580, 1916 16590, 16600, 16610, 16619, 16629, 16639, 16649, 16659, 16668, 16678, 1917 16688, 16698, 16707, 16717, 16727, 16737, 16746, 16756, 16766, 16775, 1918 16785, 16795, 16804, 16814, 16823, 16833, 16842, 16852, 16861, 16871, 1919 16880, 16890, 16899, 16909, 16918, 16927, 16937, 16946, 16955, 16964, 1920 16974, 16983, 16992, 17001, 17010, 17019, 17028, 17037, 17046, 17055, 1921 17064, 17072, 17081, 17090, 17099, 17107, 17116, 17125, 17133, 17142, 1922 17150, 17159, 17167, 17175, 17184, 17192, 17200, 17209, 17217, 17225, 1923 17233, 17241, 17249, 17257, 17265, 17273, 17281, 17289, 17297, 17305, 1924 17312, 17320, 17328, 17335, 17343, 17351, 17358, 17366, 17373, 17381, 1925 17388, 17396, 17403, 17411, 17418, 17426, 17433, 17440, 17446, 17452, 1926 17454, 17449, 17444, 17437, 17428, 17418, 17407, 17396, 17385, 17374, 1927 17363, 17352, 17340, 17329, 17316, 17304, 17291, 17278, 17264, 17250, 1928 17236, 17221, 17207, 17193, 17179, 17165, 17150, 17136, 17121, 17107, 1929 17091, 17076, 17059, 17042, 17024, 17005, 16986, 16966, 16945, 16923, 1930 16901, 16878, 16855, 16831, 16807, 16783, 16759, 16734, 16709, 16684, 1931 16658, 16633, 16607, 16581, 16554, 16527, 16500, 16471, 16443, 16414, 1932 16384, 16353, 16322, 16290, 16257, 16224, 16190, 16155, 16120, 16085, 1933 16050, 16016, 15981, 15947, 15912, 15878, 15843, 15807, 15771, 15735, 1934 15697, 15659, 15621, 15581, 15542, 15502, 15461, 15421, 15380, 15339, 1935 15299, 15259, 15219, 15180, 15140, 15099, 15058, 15016, 14974, 14931, 1936 14887, 14844, 14800, 14757, 14714, 14671, 14628, 14584, 14541, 14497, 1937 14453, 14408, 14364, 14319, 14274, 14229, 14184, 14139, 14094, 14049, 1938 14004, 13958, 13912, 13865, 13819, 13772, 13725, 13678, 13631, 13584, 1939 13537, 13491, 13444, 13396, 13349, 13301, 13253, 13205, 13156, 13106, 1940 13057, 13008, 12960, 12912, 12864, 12817, 12770, 12723, 12675, 12626, 1941 12576, 12526, 12475, 12424, 12373, 12321, 12270, 12220, 12170, 12120, 1942 12071, 12022, 11974, 11926, 11878, 11829, 11780, 11730, 11679, 11627, 1943 11575, 11521, 11467, 11414, 11360, 11307, 11255, 11203, 11152, 11101, 1944 11051, 11001, 10952, 10903, 10853, 10804, 10755, 10705, 10656, 10605, 1945 10554, 10503, 10450, 10397, 10343, 10289, 10234, 10179, 10124, 10069, 1946 10014, 9960, 9907, 9854, 9803, 9752, 9703, 9654, 9606, 9559, 1947 9513, 9466, 9419, 9371, 9322, 9271, 9219, 9165, 9109, 9053, 1948 8996, 8939, 8883, 8828, 8775, 8723, 8674, 8625, 8578, 8532, 1949 8486, 8440, 8392, 8344, 8295, 8244, 8192, 8140, 8088, 8036, 1950 7983, 7931, 7879, 7829, 7779, 7731, 7682, 7634, 7586, 7537, 1951 7488, 7439, 7390, 7340, 7290, 7241, 7192, 7144, 7096, 7049, 1952 7001, 6953, 6904, 6856, 6807, 6757, 6708, 6659, 6610, 6561, 1953 6513, 6465, 6418, 6370, 6323, 6277, 6230, 6183, 6137, 6090, 1954 6044, 5997, 5951, 5905, 5858, 5812, 5766, 5720, 5674, 5628, 1955 5583, 5537, 5491, 5446, 5401, 5355, 5310, 5265, 5221, 5175, 1956 5130, 5084, 5037, 4991, 4945, 4899, 4853, 4807, 4761, 4716, 1957 4671, 4626, 4581, 4536, 4491, 4447, 4403, 4359, 4315, 4271, 1958 4228, 4185, 4142, 4099, 4056, 4014, 3972, 3929, 3887, 3846, 1959 3804, 3762, 3721, 3680, 3639, 3598, 3558, 3517, 3477, 3437, 1960 3397, 3357, 3318, 3278, 3239, 3199, 3160, 3122, 3083, 3044, 1961 3006, 2967, 2929, 2891, 2853, 2815, 2778, 2741, 2704, 2668, 1962 2620, 2585, 2550, 2515, 2481, 2447, 2413, 2380, 2347, 2314, 1963 2281, 2248, 2215, 2183, 2151, 2119, 2087, 2055, 2024, 1993, 1964 1962, 1931, 1901, 1870, 1840, 1810, 1781, 1751, 1722, 1693, 1965 1664, 1636, 1608, 1579, 1552, 1524, 1497, 1470, 1443, 1416, 1966 1390, 1364, 1338, 1312, 1287, 1261, 1236, 1212, 1187, 1163, 1967 1139, 1115, 1092, 1068, 1045, 1022, 1000, 977, 955, 934, 1968 912, 891, 869, 848, 828, 807, 787, 767, 747, 728, 1969 709, 690, 671, 652, 634, 616, 598, 581, 563, 546, 1970 529, 513, 496, 480, 464, 448, 433, 417, 402, 387, 1971 372, 358, 344, 329, 316, 302, 289, 276, 263, 251, 1972 238, 226, 214, 203, 191, 180, 169, 158, 147, 137, 1973 127, 117, 107, 97, 88, 78, 70, 61, 52, 44, 1974 36, 28, 21, 13, 6, -2, -9, -16, -23, -30, 1975 -37, -43, -49, -55, -60, -65, -69, -73, -78, -81, 1976 -85, -89, -93, -97, -101, -105, -109, -113, -116, -120, 1977 -123, -126, -129, -131, -133, -135, -137, -138, -139, -140, 1978 -141, -142, -143, -143, -144, -144, -145, -145, -146, -146, 1979 -147, -147, -147, -147, -147, -147, -147, -146, -146, -145, 1980 -144, -143, -141, -140, -139, -137, -135, -134, -132, -130, 1981 -129, -127, -125, -123, -122, -120, -118, -116, -114, -111, 1982 -109, -107, -104, -102, -99, -96, -94, -91, -88, -86, 1983 -83, -81, -78, -75, -72, -70, -67, -64, -61, -58, 1984 -55, -52, -49, -46, -44, -41, -38, -35, -32, -29, 1985 -26, -23, -20, -17, -14, -11, -9, -6, -3, 0, 1986 0, 3, 6, 8, 11, 14, 17, 19, 22, 24, 1987 27, 29, 32, 34, 37, 39, 42, 44, 46, 48, 1988 50, 53, 55, 57, 59, 61, 62, 64, 66, 67, 1989 69, 71, 72, 74, 75, 76, 78, 79, 80, 81, 1990 82, 83, 84, 85, 86, 86, 87, 87, 88, 88, 1991 88, 89, 89, 89, 90, 90, 90, 90, 90, 90, 1992 90, 89, 89, 88, 88, 87, 86, 85, 85, 84, 1993 83, 82, 81, 80, 78, 77, 76, 75, 74, 73, 1994 72, 70, 69, 68, 66, 65, 63, 61, 59, 57, 1995 55, 53, 51, 49, 47, 44, 42, 40, 38, 36, 1996 34, 32, 30, 28, 26, 23, 21, 19, 16, 14, 1997 11, 8, 6, 3, 1, -2, -4, -7, -9, -12, 1998 -14, -17, -20, -22, -25, -27, -30, -32, -35, -38, 1999 -40, -43, -45, -48, -50, -53, -55, -58, -60, -63, 2000 -65, -68, -70, -73, -75, -78, -80, -82, -85, -87, 2001 -90, -92, -94, -97, -99, -102, -104, -106, -109, -111, 2002 -113, -116, -118, -121, -123, -125, -128, -130, -133, -135, 2003 -138, -140, -143, -145, -148, -151, -153, -156, -159, -162, 2004 -165, -168, -170, -173, -176, -178, -181, -183, -185, -188, 2005 -190, -192, -194, -196, -197, -199, -201, -202, -204, -205, 2006 -206, -208, -209, -210, -211, -212, -213, -214, -214, -215, 2007 -216, -216, -217, -218, -218, -218, -219, -219, -219, -219, 2008 -219, -219, -220, -219, -219, -219, -219, -219, -218, -218, 2009 -218, -217, -217, -216, -216, -215, -214, -214, -213, -212, 2010 -214, -214, -213, -212, -211, -211, -210, -209, -208, -207, 2011 -206, -204, -203, -202, -201, -199, -198, -196, -195, -193, 2012 -192, -190, -189, -187, -185, -184, -182, -180, -178, -176, 2013 -175, -173, -171, -169, -167, -165, -163, -162, -160, -158, 2014 -156, -154, -152, -150, -149, -147, -145, -143, -142, -140, 2015 -139, -137, -135, -134, -133, -131, -130, -129, -127, -126, 2016 -125, -123, -122, -120, -118, -117, -115, -113, -111, -109, 2017 -107, -105, -103, -100, -98, -96, -94, -91, -89, -87, 2018 -84, -82, -79, -77, -75, -72, -70, -67, -65, -63, 2019 -60, -58, -56, -53, -51, -49, -47, -44, -42, -40, 2020 -38, -36, -34, -32, -30, -28, -26, -25, -23, -21, 2021 -20, -18, -16, -15, -13, -12, -10, -9, -8, -6, 2022 -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 2023 5, 6, 6, 7, 8, 8, 9, 9, 9, 10, 2024 10, 10, 11, 11, 11, 12, 12, 12, 12, 13, 2025 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 2026 12, 12, 12, 12, 11, 11, 11, 11, 11, 10, 2027 10, 10, 10, 9, 9, 9, 9, 8, 8, 8, 2028 8, 7, 7, 7, 6, 6, 6, 6, 5, 5, 2029 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 2030 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2031 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 2032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2036 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2037 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2038 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 2039 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 2040 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 2041 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2042 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2043 6, 6, 5, 5, 5, 5, 5, 5, 4, 4, 2044 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2045 1, 1, 1, 0, 0, 0, -1, -1, -1, -2, 2046 -2, -2, -3, -3, -4, -4, -5, -5, -5, -6, 2047 -6, -7, -7, -7, -8, -8, -9, -9, -10, -10, 2048 -10, -11, -11, -12, -12, -13, -13, -13, -14, -14, 2049 -15, -15, -15, -16, -16, -16, -17, -17, -17, -18, 2050 -18, -18, -19, -19, -19, -19, -20, -20, -20, -20, 2051 -21, -21, -21, -21, -21, -22, -22, -22, -22, -22, 2052 -22, -22, -22, -22, -23, -23, -23, -23, -23, -23, 2053 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 2054 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 2055 -22, -22, -22, -22, -22, -22, -22, -22, -22, -21, 2056 -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, 2057 -19, -19, -19, -19, -19, -18, -18, -18, -18, -17}, 2058 // WORD16 window_sine_512_eld[2048]; 2059 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2061 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2062 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2065 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2071 0, 0, 0, 0, 0, 0, 0, 0, 56, 93, 2072 139, 192, 251, 314, 380, 447, 515, 583, 651, 718, 2073 784, 849, 914, 979, 1044, 1109, 1174, 1239, 1304, 1368, 2074 1433, 1498, 1563, 1628, 1693, 1758, 1824, 1890, 1956, 2022, 2075 2090, 2157, 2226, 2295, 2365, 2436, 2508, 2580, 2653, 2727, 2076 2802, 2877, 2952, 3029, 3105, 3182, 3260, 3338, 3416, 3494, 2077 3573, 3652, 3731, 3811, 3891, 3971, 4052, 4133, 4214, 4296, 2078 4378, 4460, 4542, 4625, 4708, 4791, 4874, 4957, 5041, 5125, 2079 5209, 5293, 5377, 5460, 5544, 5627, 5710, 5794, 5877, 5960, 2080 6042, 6125, 6208, 6291, 6373, 6456, 6538, 6620, 6702, 6784, 2081 6865, 6947, 7028, 7108, 7189, 7269, 7349, 7428, 7507, 7586, 2082 7665, 7743, 7821, 7899, 7976, 8054, 8131, 8207, 8283, 8359, 2083 8434, 8510, 8584, 8659, 8733, 8807, 8880, 8953, 9026, 9099, 2084 9171, 9243, 9314, 9385, 9456, 9526, 9583, 9653, 9723, 9792, 2085 9860, 9929, 9997, 10064, 10132, 10199, 10265, 10331, 10397, 10463, 2086 10528, 10593, 10657, 10721, 10785, 10849, 10912, 10974, 11037, 11099, 2087 11161, 11222, 11283, 11344, 11404, 11464, 11524, 11583, 11642, 11701, 2088 11759, 11817, 11875, 11932, 11989, 12045, 12102, 12157, 12213, 12268, 2089 12322, 12377, 12431, 12484, 12537, 12590, 12642, 12694, 12746, 12797, 2090 12848, 12898, 12948, 12997, 13046, 13095, 13143, 13191, 13238, 13285, 2091 13331, 13377, 13422, 13467, 13512, 13556, 13599, 13642, 13685, 13727, 2092 13769, 13810, 13850, 13891, 13930, 13969, 14008, 14046, 14084, 14121, 2093 14158, 14194, 14230, 14265, 14300, 14334, 14368, 14401, 14434, 14466, 2094 14498, 14530, 14561, 14591, 14621, 14651, 14680, 14709, 14738, 14766, 2095 14794, 14821, 14849, 14876, 14902, 14929, 14955, 14981, 15007, 15033, 2096 15059, 15085, 15111, 15137, 15162, 15188, 15213, 15238, 15262, 15285, 2097 15307, 15327, 15345, 15361, 15384, 15388, 15394, 15400, 15406, 15412, 2098 15418, 15425, 15431, 15437, 15443, 15449, 15456, 15462, 15468, 15475, 2099 15481, 15487, 15494, 15500, 15507, 15513, 15520, 15526, 15533, 15540, 2100 15546, 15553, 15560, 15567, 15574, 15580, 15587, 15594, 15601, 15608, 2101 15615, 15622, 15630, 15637, 15644, 15651, 15658, 15666, 15673, 15680, 2102 15688, 15695, 15703, 15710, 15718, 15725, 15733, 15741, 15748, 15756, 2103 15764, 15772, 15780, 15787, 15795, 15803, 15811, 15819, 15827, 15835, 2104 15843, 15852, 15860, 15868, 15876, 15884, 15893, 15901, 15909, 15918, 2105 15926, 15935, 15943, 15952, 15960, 15969, 15977, 15986, 15994, 16003, 2106 16012, 16020, 16029, 16038, 16046, 16055, 16064, 16073, 16081, 16090, 2107 16099, 16108, 16117, 16126, 16135, 16144, 16152, 16161, 16170, 16179, 2108 16188, 16197, 16206, 16215, 16224, 16233, 16242, 16251, 16261, 16270, 2109 16279, 16288, 16297, 16306, 16315, 16324, 16334, 16343, 16352, 16361, 2110 16370, 16379, 16389, 16398, 16407, 16416, 16425, 16435, 16444, 16453, 2111 16462, 16472, 16481, 16490, 16499, 16508, 16518, 16527, 16536, 16545, 2112 16554, 16564, 16573, 16582, 16591, 16600, 16610, 16619, 16628, 16637, 2113 16646, 16656, 16665, 16674, 16683, 16692, 16701, 16710, 16720, 16729, 2114 16738, 16747, 16756, 16765, 16774, 16783, 16792, 16801, 16810, 16819, 2115 16828, 16837, 16846, 16855, 16864, 16873, 16882, 16890, 16899, 16908, 2116 16917, 16926, 16934, 16943, 16952, 16960, 16969, 16978, 16986, 16995, 2117 17003, 17012, 17020, 17029, 17037, 17045, 17054, 17062, 17070, 17078, 2118 17087, 17095, 17103, 17111, 17119, 17127, 17135, 17143, 17151, 17159, 2119 17167, 17175, 17183, 17191, 17198, 17206, 17214, 17221, 17229, 17237, 2120 17244, 17252, 17259, 17267, 17274, 17282, 17289, 17296, 17304, 17311, 2121 17318, 17325, 17333, 17340, 17347, 17354, 17361, 17368, 17375, 17382, 2122 17389, 17396, 17403, 17410, 17417, 17424, 17431, 17438, 17444, 17449, 2123 17446, 17444, 17440, 17434, 17426, 17417, 17408, 17398, 17388, 17377, 2124 17367, 17357, 17347, 17336, 17326, 17315, 17303, 17292, 17280, 17267, 2125 17254, 17241, 17228, 17215, 17202, 17188, 17175, 17162, 17149, 17135, 2126 17122, 17108, 17094, 17080, 17065, 17049, 17033, 17016, 16999, 16980, 2127 16962, 16942, 16922, 16901, 16880, 16858, 16836, 16814, 16792, 16769, 2128 16746, 16723, 16699, 16676, 16652, 16628, 16604, 16579, 16555, 16529, 2129 16504, 16478, 16451, 16424, 16397, 16368, 16340, 16310, 16280, 16249, 2130 16218, 16186, 16154, 16121, 16088, 16055, 16023, 15990, 15958, 15926, 2131 15894, 15861, 15828, 15795, 15761, 15727, 15692, 15656, 15620, 15583, 2132 15546, 15508, 15471, 15433, 15395, 15357, 15319, 15281, 15244, 15207, 2133 15169, 15132, 15094, 15055, 15016, 14976, 14936, 14895, 14855, 14814, 2134 14773, 14733, 14692, 14652, 14611, 14570, 14530, 14488, 14447, 14406, 2135 14364, 14322, 14280, 14238, 14195, 14153, 14111, 14068, 14025, 13983, 2136 13940, 13897, 13854, 13810, 13767, 13723, 13680, 13636, 13593, 13549, 2137 13505, 13462, 13418, 13374, 13330, 13286, 13241, 13195, 13150, 13104, 2138 13058, 13013, 12968, 12923, 12879, 12835, 12792, 12748, 12703, 12658, 2139 12612, 12565, 12518, 12471, 12423, 12376, 12328, 12281, 12233, 12187, 2140 12140, 12095, 12049, 12004, 11959, 11915, 11870, 11825, 11779, 11732, 2141 11684, 11635, 11586, 11536, 11486, 11435, 11385, 11336, 11287, 11239, 2142 11191, 11143, 11096, 11050, 11003, 10957, 10911, 10865, 10819, 10773, 2143 10727, 10680, 10633, 10585, 10537, 10488, 10439, 10389, 10338, 10287, 2144 10236, 10184, 10133, 10081, 10030, 9979, 9929, 9880, 9832, 9784, 2145 9737, 9691, 9646, 9602, 9558, 9514, 9470, 9426, 9381, 9334, 2146 9286, 9237, 9186, 9134, 9081, 9028, 8974, 8921, 8869, 8818, 2147 8769, 8721, 8675, 8630, 8586, 8542, 8499, 8455, 8410, 8365, 2148 8318, 8270, 8222, 8173, 8124, 8074, 8026, 7976, 7926, 7878, 2149 7831, 7784, 7738, 7693, 7647, 7602, 7556, 7509, 7463, 7416, 2150 7369, 7322, 7275, 7228, 7182, 7137, 7091, 7046, 7001, 6955, 2151 6909, 6863, 6817, 6770, 6723, 6676, 6629, 6583, 6537, 6491, 2152 6446, 6401, 6356, 6311, 6267, 6222, 6178, 6133, 6089, 6045, 2153 6000, 5956, 5912, 5868, 5824, 5780, 5736, 5692, 5648, 5604, 2154 5560, 5516, 5473, 5429, 5386, 5343, 5300, 5257, 5214, 5171, 2155 5128, 5085, 5043, 5000, 4958, 4915, 4873, 4831, 4789, 4747, 2156 4705, 4664, 4622, 4581, 4539, 4498, 4457, 4416, 4375, 4334, 2157 4293, 4253, 4212, 4172, 4132, 4092, 4052, 4012, 3972, 3933, 2158 3893, 3854, 3815, 3776, 3737, 3699, 3660, 3622, 3583, 3545, 2159 3507, 3469, 3432, 3394, 3357, 3319, 3282, 3245, 3208, 3171, 2160 3135, 3098, 3062, 3025, 2989, 2953, 2917, 2881, 2846, 2810, 2161 2775, 2740, 2706, 2671, 2638, 2604, 2572, 2539, 2507, 2475, 2162 2443, 2411, 2380, 2349, 2318, 2287, 2256, 2226, 2195, 2165, 2163 2135, 2105, 2075, 2046, 2016, 1987, 1958, 1929, 1901, 1872, 2164 1844, 1816, 1788, 1760, 1733, 1706, 1679, 1652, 1625, 1599, 2165 1572, 1546, 1521, 1495, 1470, 1444, 1419, 1395, 1370, 1346, 2166 1322, 1298, 1274, 1250, 1227, 1204, 1181, 1158, 1136, 1114, 2167 1092, 1070, 1048, 1027, 1005, 984, 964, 943, 923, 903, 2168 883, 863, 843, 824, 805, 786, 767, 749, 730, 712, 2169 694, 677, 659, 642, 625, 608, 592, 575, 559, 543, 2170 527, 512, 496, 481, 466, 451, 436, 422, 408, 394, 2171 380, 366, 352, 339, 326, 313, 301, 288, 276, 264, 2172 252, 241, 229, 218, 207, 196, 185, 175, 165, 155, 2173 145, 135, 125, 116, 107, 98, 89, 80, 72, 63, 2174 55, 48, 40, 33, 25, 18, 11, 4, -3, -9, 2175 -16, -23, -29, -35, -41, -47, -53, -58, -62, -67, 2176 -71, -75, -79, -82, -86, -89, -93, -97, -101, -104, 2177 -108, -112, -115, -118, -122, -125, -127, -130, -132, -134, 2178 -136, -137, -138, -139, -140, -141, -142, -143, -143, -144, 2179 -144, -145, -145, -146, -146, -146, -147, -147, -147, -147, 2180 -147, -147, -147, -146, -146, -145, -144, -143, -142, -141, 2181 -140, -138, -137, -135, -134, -132, -130, -129, -127, -126, 2182 -124, -122, -121, -119, -117, -115, -113, -111, -109, -106, 2183 -104, -102, -99, -97, -94, -92, -89, -87, -85, -82, 2184 -80, -77, -74, -72, -69, -67, -64, -61, -59, -56, 2185 -53, -50, -48, -45, -42, -39, -37, -34, -31, -28, 2186 -26, -23, -20, -17, -15, -12, -9, -7, -4, -1, 2187 1, 4, 7, 9, 12, 14, 17, 19, 22, 24, 2188 27, 29, 31, 34, 36, 38, 40, 43, 45, 47, 2189 49, 51, 53, 55, 57, 59, 60, 62, 64, 65, 2190 67, 69, 70, 71, 73, 74, 76, 77, 78, 79, 2191 81, 82, 83, 84, 84, 85, 86, 86, 87, 88, 2192 88, 88, 89, 89, 89, 90, 90, 90, 90, 91, 2193 91, 91, 91, 90, 90, 90, 89, 89, 88, 88, 2194 87, 86, 85, 84, 83, 83, 82, 81, 80, 79, 2195 78, 77, 75, 74, 73, 72, 71, 70, 68, 67, 2196 66, 64, 62, 61, 59, 57, 55, 53, 51, 49, 2197 47, 44, 42, 40, 38, 36, 34, 33, 31, 29, 2198 27, 25, 23, 20, 18, 16, 13, 11, 8, 6, 2199 3, 1, -1, -4, -6, -9, -11, -13, -16, -18, 2200 -21, -23, -25, -28, -30, -33, -35, -38, -40, -43, 2201 -45, -47, -50, -52, -55, -57, -59, -62, -64, -66, 2202 -69, -71, -73, -76, -78, -80, -83, -85, -87, -89, 2203 -92, -94, -96, -99, -101, -103, -105, -107, -110, -112, 2204 -114, -116, -119, -121, -123, -125, -128, -130, -132, -135, 2205 -137, -139, -142, -144, -146, -149, -151, -154, -156, -159, 2206 -162, -164, -167, -170, -172, -175, -178, -180, -182, -185, 2207 -187, -189, -191, -193, -195, -197, -199, -201, -202, -204, 2208 -205, -207, -208, -209, -210, -211, -213, -214, -214, -215, 2209 -216, -217, -218, -219, -219, -220, -220, -221, -221, -222, 2210 -222, -222, -222, -223, -223, -223, -223, -223, -223, -223, 2211 -223, -222, -222, -222, -222, -221, -221, -220, -220, -219, 2212 -219, -218, -217, -217, -216, -215, -215, -214, -213, -213, 2213 -212, -211, -210, -210, -209, -208, -207, -206, -205, -204, 2214 -202, -201, -200, -199, -197, -196, -195, -193, -192, -190, 2215 -189, -187, -185, -184, -182, -181, -179, -177, -176, -174, 2216 -172, -170, -169, -167, -165, -163, -162, -160, -158, -156, 2217 -154, -153, -151, -149, -148, -146, -144, -143, -141, -140, 2218 -138, -137, -135, -134, -133, -131, -130, -129, -128, -127, 2219 -125, -124, -123, -121, -120, -118, -116, -115, -113, -111, 2220 -109, -107, -105, -103, -101, -99, -97, -95, -93, -91, 2221 -88, -86, -84, -82, -79, -77, -75, -73, -70, -68, 2222 -66, -64, -61, -59, -57, -55, -53, -51, -49, -46, 2223 -44, -42, -40, -39, -37, -35, -33, -31, -29, -28, 2224 -26, -24, -22, -21, -19, -18, -16, -15, -13, -12, 2225 -11, -9, -8, -7, -6, -5, -4, -3, -2, -1, 2226 0, 1, 2, 3, 4, 5, 5, 6, 7, 7, 2227 8, 8, 9, 9, 10, 10, 10, 10, 11, 11, 2228 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 2229 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 2230 12, 12, 11, 11, 11, 11, 11, 10, 10, 10, 2231 10, 9, 9, 9, 9, 9, 8, 8, 8, 7, 2232 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 2233 5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2234 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2235 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2236 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2238 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2240 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2241 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2242 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 2243 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 2244 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 2245 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2246 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2247 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2248 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 2249 4, 4, 3, 3, 3, 3, 2, 2, 2, 1, 2250 1, 1, 0, 0, 0, -1, -1, -1, -2, -2, 2251 -2, -3, -3, -3, -4, -4, -5, -5, -5, -6, 2252 -6, -7, -7, -7, -8, -8, -9, -9, -9, -10, 2253 -10, -11, -11, -11, -12, -12, -13, -13, -13, -14, 2254 -14, -14, -15, -15, -16, -16, -16, -17, -17, -17, 2255 -18, -18, -18, -18, -19, -19, -19, -19, -20, -20, 2256 -20, -20, -21, -21, -21, -21, -21, -22, -22, -22, 2257 -22, -22, -22, -22, -22, -23, -23, -23, -23, -23, 2258 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 2259 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, 2260 -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, 2261 -22, -22, -22, -22, -22, -22, -22, -21, -21, -21, 2262 -21, -21, -21, -20, -20, -20, -20, -20, -20, -19, 2263 -19, -19, -19, -18, -18, -18, -18, -18} 2264 2265 }; 2266