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 <string.h> 21 #include "ixheaacd_sbr_common.h" 22 #include <ixheaacd_type_def.h> 23 #include "ixheaacd_defines.h" 24 #include "ixheaacd_bitbuffer.h" 25 #include "ixheaacd_pns.h" 26 27 #include <ixheaacd_aac_rom.h> 28 #include "ixheaacd_pulsedata.h" 29 30 #include "ixheaacd_drc_data_struct.h" 31 #include "ixheaacd_lt_predict.h" 32 #include "ixheaacd_channelinfo.h" 33 #include "ixheaacd_drc_dec.h" 34 35 #include "ixheaacd_sbrdecoder.h" 36 #include "ixheaacd_sbr_const.h" 37 38 #include "ixheaacd_sbrdecsettings.h" 39 #include "ixheaacd_sbr_scale.h" 40 #include "ixheaacd_lpp_tran.h" 41 #include "ixheaacd_env_extr_part.h" 42 #include <ixheaacd_sbr_rom.h> 43 #include "ixheaacd_hybrid.h" 44 #include "ixheaacd_ps_dec.h" 45 #include "ixheaacd_env_extr.h" 46 #include "ixheaacd_common_rom.h" 47 #include "ixheaacd_qmf_dec.h" 48 49 const ia_env_calc_tables_struct ixheaacd_aac_dec_env_calc_tables = { 50 {(WORD16)0x4027, 0, (WORD16)0x4000, 1, (WORD16)0x7fb2, 1, (WORD16)0x56bc, 51 67}, 52 53 // const WORD16 sbr_lim_bands_per_octave_q13[4] = 54 {(WORD16)0x2000, (WORD16)0x2666, (WORD16)0x4000, (WORD16)0x6000}, 55 56 // const WORD16 sbr_smooth_filter[4] = 57 {(WORD16)0x5555, (WORD16)0x461d, (WORD16)0x3387, (WORD16)0x1bb8}, 58 59 // const WORD16 sbr_inv_int_table[INV_INT_TABLE_SIZE] = 60 {(WORD16)0x7fff, (WORD16)0x7fff, (WORD16)0x4000, (WORD16)0x2aab, 61 (WORD16)0x2000, (WORD16)0x199a, (WORD16)0x1555, (WORD16)0x1249, 62 (WORD16)0x1000, (WORD16)0x0e39, (WORD16)0x0ccd, (WORD16)0x0ba3, 63 (WORD16)0x0aab, (WORD16)0x09d9, (WORD16)0x0925, (WORD16)0x0889, 64 (WORD16)0x0800, (WORD16)0x0788, (WORD16)0x071c, (WORD16)0x06bd, 65 (WORD16)0x0666, (WORD16)0x0618, (WORD16)0x05d1, (WORD16)0x0591, 66 (WORD16)0x0555, (WORD16)0x051f, (WORD16)0x04ec, (WORD16)0x04be, 67 (WORD16)0x0492, (WORD16)0x046a, (WORD16)0x0444, (WORD16)0x0421, 68 (WORD16)0x0400, (WORD16)0x03e1, (WORD16)0x03c4, (WORD16)0x03a8, 69 (WORD16)0x038e, (WORD16)0x0376, (WORD16)0x035e, (WORD16)0x0348, 70 (WORD16)0x0333, (WORD16)0x031f, (WORD16)0x030c, (WORD16)0x02fa, 71 (WORD16)0x02e9, (WORD16)0x02d8, (WORD16)0x02c8, (WORD16)0x02b9}, 72 73 // const WORD32 sbr_rand_ph[SBR_NF_NO_RANDOM_VAL + MAX_FREQ_COEFFS] = 74 {((WORD32)0xf801 << 16) | ((WORD32)0xfb3e & 0xFFFF), 75 ((WORD32)0x07c5 << 16) | ((WORD32)0xfa99 & 0xFFFF), 76 ((WORD32)0x0121 << 16) | ((WORD32)0xf865 & 0xFFFF), 77 ((WORD32)0xfc3d << 16) | ((WORD32)0xfd03 & 0xFFFF), 78 ((WORD32)0x0675 << 16) | ((WORD32)0x025f & 0xFFFF), 79 ((WORD32)0xfce2 << 16) | ((WORD32)0x072a & 0xFFFF), 80 ((WORD32)0xffea << 16) | ((WORD32)0xfaa5 & 0xFFFF), 81 ((WORD32)0xf8b3 << 16) | ((WORD32)0xff14 & 0xFFFF), 82 ((WORD32)0x0463 << 16) | ((WORD32)0x0605 & 0xFFFF), 83 ((WORD32)0x0333 << 16) | ((WORD32)0xf816 & 0xFFFF), 84 ((WORD32)0xf803 << 16) | ((WORD32)0xf8f3 & 0xFFFF), 85 ((WORD32)0xf85c << 16) | ((WORD32)0x0746 & 0xFFFF), 86 ((WORD32)0xfc58 << 16) | ((WORD32)0xfb76 & 0xFFFF), 87 ((WORD32)0xfa2a << 16) | ((WORD32)0xf829 & 0xFFFF), 88 ((WORD32)0x060d << 16) | ((WORD32)0x01ad & 0xFFFF), 89 ((WORD32)0x0091 << 16) | ((WORD32)0xf9bd & 0xFFFF), 90 ((WORD32)0x05f6 << 16) | ((WORD32)0xf8b5 & 0xFFFF), 91 ((WORD32)0xf849 << 16) | ((WORD32)0xf86c & 0xFFFF), 92 ((WORD32)0x026f << 16) | ((WORD32)0xfc0c & 0xFFFF), 93 ((WORD32)0x0553 << 16) | ((WORD32)0x052c & 0xFFFF), 94 ((WORD32)0x0756 << 16) | ((WORD32)0x0167 & 0xFFFF), 95 ((WORD32)0xfa57 << 16) | ((WORD32)0x0434 & 0xFFFF), 96 ((WORD32)0xfa65 << 16) | ((WORD32)0xfc5f & 0xFFFF), 97 ((WORD32)0xf80a << 16) | ((WORD32)0xf8cb & 0xFFFF), 98 ((WORD32)0x07da << 16) | ((WORD32)0xf9ce & 0xFFFF), 99 ((WORD32)0xfba0 << 16) | ((WORD32)0xffcb & 0xFFFF), 100 ((WORD32)0xffdd << 16) | ((WORD32)0x0006 & 0xFFFF), 101 ((WORD32)0xf91c << 16) | ((WORD32)0x0367 & 0xFFFF), 102 ((WORD32)0xf817 << 16) | ((WORD32)0xf8f8 & 0xFFFF), 103 ((WORD32)0x0424 << 16) | ((WORD32)0x055b & 0xFFFF), 104 ((WORD32)0xf807 << 16) | ((WORD32)0xfb5a & 0xFFFF), 105 ((WORD32)0xf801 << 16) | ((WORD32)0x07df & 0xFFFF), 106 ((WORD32)0x046c << 16) | ((WORD32)0x04c2 & 0xFFFF), 107 ((WORD32)0x02c4 << 16) | ((WORD32)0x0797 & 0xFFFF), 108 ((WORD32)0x0503 << 16) | ((WORD32)0xfa0c & 0xFFFF), 109 ((WORD32)0xf9d4 << 16) | ((WORD32)0xfd4a & 0xFFFF), 110 ((WORD32)0xf8ac << 16) | ((WORD32)0x004c & 0xFFFF), 111 ((WORD32)0xf9e6 << 16) | ((WORD32)0xf8b1 & 0xFFFF), 112 ((WORD32)0x0662 << 16) | ((WORD32)0xf88c & 0xFFFF), 113 ((WORD32)0x045c << 16) | ((WORD32)0xff0c & 0xFFFF), 114 ((WORD32)0xf926 << 16) | ((WORD32)0x0365 & 0xFFFF), 115 ((WORD32)0xf892 << 16) | ((WORD32)0x023b & 0xFFFF), 116 ((WORD32)0xff10 << 16) | ((WORD32)0xf804 & 0xFFFF), 117 ((WORD32)0x01b5 << 16) | ((WORD32)0xf8be & 0xFFFF), 118 ((WORD32)0xf9e8 << 16) | ((WORD32)0x07fb & 0xFFFF), 119 ((WORD32)0x07d9 << 16) | ((WORD32)0xf855 & 0xFFFF), 120 ((WORD32)0xf920 << 16) | ((WORD32)0x07a9 & 0xFFFF), 121 ((WORD32)0xf889 << 16) | ((WORD32)0x03f4 & 0xFFFF), 122 ((WORD32)0x0270 << 16) | ((WORD32)0xfa5b & 0xFFFF), 123 ((WORD32)0x06d3 << 16) | ((WORD32)0x03be & 0xFFFF), 124 ((WORD32)0x074e << 16) | ((WORD32)0xf803 & 0xFFFF), 125 ((WORD32)0xff87 << 16) | ((WORD32)0x05a9 & 0xFFFF), 126 ((WORD32)0x0246 << 16) | ((WORD32)0x02c5 & 0xFFFF), 127 ((WORD32)0x079f << 16) | ((WORD32)0xfb9c & 0xFFFF), 128 ((WORD32)0xf9b7 << 16) | ((WORD32)0xf9f4 & 0xFFFF), 129 ((WORD32)0xf856 << 16) | ((WORD32)0xfe5e & 0xFFFF), 130 ((WORD32)0x0698 << 16) | ((WORD32)0x07bb & 0xFFFF), 131 ((WORD32)0xfac9 << 16) | ((WORD32)0xf8e7 & 0xFFFF), 132 ((WORD32)0xf882 << 16) | ((WORD32)0x07fd & 0xFFFF), 133 ((WORD32)0x0750 << 16) | ((WORD32)0xf823 & 0xFFFF), 134 ((WORD32)0xfa5e << 16) | ((WORD32)0x04b4 & 0xFFFF), 135 ((WORD32)0x000c << 16) | ((WORD32)0x04f1 & 0xFFFF), 136 ((WORD32)0x0720 << 16) | ((WORD32)0x0439 & 0xFFFF), 137 ((WORD32)0xfa81 << 16) | ((WORD32)0x0677 & 0xFFFF), 138 ((WORD32)0x05c6 << 16) | ((WORD32)0xfa76 & 0xFFFF), 139 ((WORD32)0xfaf7 << 16) | ((WORD32)0x0117 & 0xFFFF), 140 ((WORD32)0x0265 << 16) | ((WORD32)0xfc51 & 0xFFFF), 141 ((WORD32)0xf8a8 << 16) | ((WORD32)0xfa14 & 0xFFFF), 142 ((WORD32)0x07f2 << 16) | ((WORD32)0x0344 & 0xFFFF), 143 ((WORD32)0x0697 << 16) | ((WORD32)0xfa14 & 0xFFFF), 144 ((WORD32)0xf81e << 16) | ((WORD32)0xf801 & 0xFFFF), 145 ((WORD32)0xf854 << 16) | ((WORD32)0xf810 & 0xFFFF), 146 ((WORD32)0xfe4a << 16) | ((WORD32)0xf887 & 0xFFFF), 147 ((WORD32)0xfa7f << 16) | ((WORD32)0xfdd9 & 0xFFFF), 148 ((WORD32)0x0759 << 16) | ((WORD32)0x00c0 & 0xFFFF), 149 ((WORD32)0xf851 << 16) | ((WORD32)0x02e3 & 0xFFFF), 150 ((WORD32)0x0422 << 16) | ((WORD32)0xfa4a & 0xFFFF), 151 ((WORD32)0x04e4 << 16) | ((WORD32)0x03c2 & 0xFFFF), 152 ((WORD32)0x03c9 << 16) | ((WORD32)0xfdd0 & 0xFFFF), 153 ((WORD32)0x0748 << 16) | ((WORD32)0x07bd & 0xFFFF), 154 ((WORD32)0x0396 << 16) | ((WORD32)0x07f0 & 0xFFFF), 155 ((WORD32)0x0554 << 16) | ((WORD32)0x07ba & 0xFFFF), 156 ((WORD32)0x05fe << 16) | ((WORD32)0xf8cf & 0xFFFF), 157 ((WORD32)0xf809 << 16) | ((WORD32)0x0439 & 0xFFFF), 158 ((WORD32)0x07cb << 16) | ((WORD32)0xfea7 & 0xFFFF), 159 ((WORD32)0x05d1 << 16) | ((WORD32)0xfc28 & 0xFFFF), 160 ((WORD32)0x07a2 << 16) | ((WORD32)0x0582 & 0xFFFF), 161 ((WORD32)0xfa2a << 16) | ((WORD32)0xf9df & 0xFFFF), 162 ((WORD32)0xf92c << 16) | ((WORD32)0x0719 & 0xFFFF), 163 ((WORD32)0xf97d << 16) | ((WORD32)0xf834 & 0xFFFF), 164 ((WORD32)0xf8f7 << 16) | ((WORD32)0x05fb & 0xFFFF), 165 ((WORD32)0xfa46 << 16) | ((WORD32)0xf81d & 0xFFFF), 166 ((WORD32)0x06af << 16) | ((WORD32)0x06b2 & 0xFFFF), 167 ((WORD32)0xfc27 << 16) | ((WORD32)0xf818 & 0xFFFF), 168 ((WORD32)0x07c5 << 16) | ((WORD32)0x0668 & 0xFFFF), 169 ((WORD32)0x0429 << 16) | ((WORD32)0x066b & 0xFFFF), 170 ((WORD32)0xffef << 16) | ((WORD32)0xf9de & 0xFFFF), 171 ((WORD32)0xfa60 << 16) | ((WORD32)0x046e & 0xFFFF), 172 ((WORD32)0xf854 << 16) | ((WORD32)0xfc8a & 0xFFFF), 173 ((WORD32)0x07c4 << 16) | ((WORD32)0x00bf & 0xFFFF), 174 ((WORD32)0xf89c << 16) | ((WORD32)0x06d7 & 0xFFFF), 175 ((WORD32)0xfa71 << 16) | ((WORD32)0x07e4 & 0xFFFF), 176 ((WORD32)0x0220 << 16) | ((WORD32)0x05dd & 0xFFFF), 177 ((WORD32)0x023e << 16) | ((WORD32)0x012a & 0xFFFF), 178 ((WORD32)0xfa12 << 16) | ((WORD32)0x07f2 & 0xFFFF), 179 ((WORD32)0xffdc << 16) | ((WORD32)0xf964 & 0xFFFF), 180 ((WORD32)0xfb97 << 16) | ((WORD32)0xf817 & 0xFFFF), 181 ((WORD32)0x07d6 << 16) | ((WORD32)0xf87a & 0xFFFF), 182 ((WORD32)0xf810 << 16) | ((WORD32)0x055d & 0xFFFF), 183 ((WORD32)0xfa96 << 16) | ((WORD32)0x0103 & 0xFFFF), 184 ((WORD32)0x00bb << 16) | ((WORD32)0xfe5b & 0xFFFF), 185 ((WORD32)0xfa44 << 16) | ((WORD32)0xf82d & 0xFFFF), 186 ((WORD32)0x067b << 16) | ((WORD32)0x044c & 0xFFFF), 187 ((WORD32)0x0340 << 16) | ((WORD32)0xfde2 & 0xFFFF), 188 ((WORD32)0xfa96 << 16) | ((WORD32)0x078f & 0xFFFF), 189 ((WORD32)0x06f3 << 16) | ((WORD32)0xfe89 & 0xFFFF), 190 ((WORD32)0xf80a << 16) | ((WORD32)0xffca & 0xFFFF), 191 ((WORD32)0x06bf << 16) | ((WORD32)0x00d5 & 0xFFFF), 192 ((WORD32)0xff43 << 16) | ((WORD32)0x0590 & 0xFFFF), 193 ((WORD32)0x07ff << 16) | ((WORD32)0xff03 & 0xFFFF), 194 ((WORD32)0xf99f << 16) | ((WORD32)0xf8ac & 0xFFFF), 195 ((WORD32)0x07b5 << 16) | ((WORD32)0x07bb & 0xFFFF), 196 ((WORD32)0xf99b << 16) | ((WORD32)0x0525 & 0xFFFF), 197 ((WORD32)0xff13 << 16) | ((WORD32)0x0249 & 0xFFFF), 198 ((WORD32)0xfcce << 16) | ((WORD32)0x0788 & 0xFFFF), 199 ((WORD32)0x07ed << 16) | ((WORD32)0xf8a3 & 0xFFFF), 200 ((WORD32)0x024a << 16) | ((WORD32)0xf8b8 & 0xFFFF), 201 ((WORD32)0xf956 << 16) | ((WORD32)0xfa9d & 0xFFFF), 202 ((WORD32)0x07a2 << 16) | ((WORD32)0x03ef & 0xFFFF), 203 ((WORD32)0xff7c << 16) | ((WORD32)0x0043 & 0xFFFF), 204 ((WORD32)0xf809 << 16) | ((WORD32)0x0364 & 0xFFFF), 205 ((WORD32)0xfac3 << 16) | ((WORD32)0x069b & 0xFFFF), 206 ((WORD32)0xf980 << 16) | ((WORD32)0xfbdf & 0xFFFF), 207 ((WORD32)0xf807 << 16) | ((WORD32)0x06c2 & 0xFFFF), 208 ((WORD32)0x0006 << 16) | ((WORD32)0x052e & 0xFFFF), 209 ((WORD32)0x059d << 16) | ((WORD32)0xfe5d & 0xFFFF), 210 ((WORD32)0x07b5 << 16) | ((WORD32)0x0342 & 0xFFFF), 211 ((WORD32)0xfa7d << 16) | ((WORD32)0x074f & 0xFFFF), 212 ((WORD32)0xfd36 << 16) | ((WORD32)0x05b8 & 0xFFFF), 213 ((WORD32)0x075c << 16) | ((WORD32)0x0552 & 0xFFFF), 214 ((WORD32)0xf814 << 16) | ((WORD32)0x06df & 0xFFFF), 215 ((WORD32)0x0582 << 16) | ((WORD32)0x0474 & 0xFFFF), 216 ((WORD32)0xf80b << 16) | ((WORD32)0xfe65 & 0xFFFF), 217 ((WORD32)0x078a << 16) | ((WORD32)0xf806 & 0xFFFF), 218 ((WORD32)0xfa9b << 16) | ((WORD32)0x03f7 & 0xFFFF), 219 ((WORD32)0xfc36 << 16) | ((WORD32)0xf921 & 0xFFFF), 220 ((WORD32)0x0125 << 16) | ((WORD32)0xf878 & 0xFFFF), 221 ((WORD32)0xfda9 << 16) | ((WORD32)0x0076 & 0xFFFF), 222 ((WORD32)0x0381 << 16) | ((WORD32)0xf9b0 & 0xFFFF), 223 ((WORD32)0xfd18 << 16) | ((WORD32)0x0531 & 0xFFFF), 224 ((WORD32)0xff4d << 16) | ((WORD32)0x07d1 & 0xFFFF), 225 ((WORD32)0xf848 << 16) | ((WORD32)0xfbaf & 0xFFFF), 226 ((WORD32)0x0471 << 16) | ((WORD32)0x0650 & 0xFFFF), 227 ((WORD32)0x05e2 << 16) | ((WORD32)0x07b7 & 0xFFFF), 228 ((WORD32)0xfd87 << 16) | ((WORD32)0xf98c & 0xFFFF), 229 ((WORD32)0x0049 << 16) | ((WORD32)0xf837 & 0xFFFF), 230 ((WORD32)0x07e6 << 16) | ((WORD32)0x03df & 0xFFFF), 231 ((WORD32)0xf977 << 16) | ((WORD32)0xf8bc & 0xFFFF), 232 ((WORD32)0x056e << 16) | ((WORD32)0x0681 & 0xFFFF), 233 ((WORD32)0xfebc << 16) | ((WORD32)0x06d3 & 0xFFFF), 234 ((WORD32)0x0675 << 16) | ((WORD32)0xfe06 & 0xFFFF), 235 ((WORD32)0x03d3 << 16) | ((WORD32)0xfc4b & 0xFFFF), 236 ((WORD32)0x07b6 << 16) | ((WORD32)0x0314 & 0xFFFF), 237 ((WORD32)0xf812 << 16) | ((WORD32)0xfe01 & 0xFFFF), 238 ((WORD32)0x06a6 << 16) | ((WORD32)0xf86b & 0xFFFF), 239 ((WORD32)0xfb4d << 16) | ((WORD32)0x001a & 0xFFFF), 240 ((WORD32)0x07a5 << 16) | ((WORD32)0xf928 & 0xFFFF), 241 ((WORD32)0xf848 << 16) | ((WORD32)0xfae1 & 0xFFFF), 242 ((WORD32)0xf837 << 16) | ((WORD32)0x00fe & 0xFFFF), 243 ((WORD32)0x0750 << 16) | ((WORD32)0x04a3 & 0xFFFF), 244 ((WORD32)0xf802 << 16) | ((WORD32)0x05b0 & 0xFFFF), 245 ((WORD32)0xf90d << 16) | ((WORD32)0xfe60 & 0xFFFF), 246 ((WORD32)0xfde7 << 16) | ((WORD32)0xfa8a & 0xFFFF), 247 ((WORD32)0xfe07 << 16) | ((WORD32)0xf8fd & 0xFFFF), 248 ((WORD32)0x0031 << 16) | ((WORD32)0x022d & 0xFFFF), 249 ((WORD32)0x0691 << 16) | ((WORD32)0xf931 & 0xFFFF), 250 ((WORD32)0x0715 << 16) | ((WORD32)0xf8d4 & 0xFFFF), 251 ((WORD32)0xfe8c << 16) | ((WORD32)0xfde8 & 0xFFFF), 252 ((WORD32)0x00c0 << 16) | ((WORD32)0x0463 & 0xFFFF), 253 ((WORD32)0xfba0 << 16) | ((WORD32)0x07ae & 0xFFFF), 254 ((WORD32)0x02f7 << 16) | ((WORD32)0xfb35 & 0xFFFF), 255 ((WORD32)0xfa5f << 16) | ((WORD32)0x074c & 0xFFFF), 256 ((WORD32)0xfd3b << 16) | ((WORD32)0xf80b & 0xFFFF), 257 ((WORD32)0xfa7f << 16) | ((WORD32)0xfd95 & 0xFFFF), 258 ((WORD32)0xfdda << 16) | ((WORD32)0x06a6 & 0xFFFF), 259 ((WORD32)0x03ed << 16) | ((WORD32)0xfc5f & 0xFFFF), 260 ((WORD32)0x031e << 16) | ((WORD32)0x07a4 & 0xFFFF), 261 ((WORD32)0xf82e << 16) | ((WORD32)0x006d & 0xFFFF), 262 ((WORD32)0xfe9d << 16) | ((WORD32)0xf894 & 0xFFFF), 263 ((WORD32)0x07ff << 16) | ((WORD32)0x04aa & 0xFFFF), 264 ((WORD32)0xface << 16) | ((WORD32)0x057e & 0xFFFF), 265 ((WORD32)0xff0a << 16) | ((WORD32)0xfb6e & 0xFFFF), 266 ((WORD32)0xfb49 << 16) | ((WORD32)0xfd36 & 0xFFFF), 267 ((WORD32)0xfca8 << 16) | ((WORD32)0x014d & 0xFFFF), 268 ((WORD32)0x07fe << 16) | ((WORD32)0x00e4 & 0xFFFF), 269 ((WORD32)0xfb78 << 16) | ((WORD32)0xf8c3 & 0xFFFF), 270 ((WORD32)0x0788 << 16) | ((WORD32)0x02d3 & 0xFFFF), 271 ((WORD32)0xf9f1 << 16) | ((WORD32)0x044b & 0xFFFF), 272 ((WORD32)0x01a5 << 16) | ((WORD32)0xf872 & 0xFFFF), 273 ((WORD32)0x0800 << 16) | ((WORD32)0x0663 & 0xFFFF), 274 ((WORD32)0x0254 << 16) | ((WORD32)0x02d5 & 0xFFFF), 275 ((WORD32)0xfaf9 << 16) | ((WORD32)0x031a & 0xFFFF), 276 ((WORD32)0x037a << 16) | ((WORD32)0xf81e & 0xFFFF), 277 ((WORD32)0xf823 << 16) | ((WORD32)0x01af & 0xFFFF), 278 ((WORD32)0x0190 << 16) | ((WORD32)0xf876 & 0xFFFF), 279 ((WORD32)0xf85d << 16) | ((WORD32)0x07df & 0xFFFF), 280 ((WORD32)0x0778 << 16) | ((WORD32)0xfa54 & 0xFFFF), 281 ((WORD32)0xf92e << 16) | ((WORD32)0xff55 & 0xFFFF), 282 ((WORD32)0xf916 << 16) | ((WORD32)0xfc56 & 0xFFFF), 283 ((WORD32)0x031c << 16) | ((WORD32)0x07c8 & 0xFFFF), 284 ((WORD32)0x075d << 16) | ((WORD32)0xfb01 & 0xFFFF), 285 ((WORD32)0x0722 << 16) | ((WORD32)0x0465 & 0xFFFF), 286 ((WORD32)0xfd0e << 16) | ((WORD32)0x07b7 & 0xFFFF), 287 ((WORD32)0x0783 << 16) | ((WORD32)0xf8cd & 0xFFFF), 288 ((WORD32)0x07f1 << 16) | ((WORD32)0xffb3 & 0xFFFF), 289 ((WORD32)0xf87a << 16) | ((WORD32)0x034e & 0xFFFF), 290 ((WORD32)0x07fb << 16) | ((WORD32)0xfea7 & 0xFFFF), 291 ((WORD32)0xfd21 << 16) | ((WORD32)0xfc45 & 0xFFFF), 292 ((WORD32)0x006b << 16) | ((WORD32)0xfdf3 & 0xFFFF), 293 ((WORD32)0x02f0 << 16) | ((WORD32)0xfce8 & 0xFFFF), 294 ((WORD32)0x0755 << 16) | ((WORD32)0xfd8e & 0xFFFF), 295 ((WORD32)0x0585 << 16) | ((WORD32)0x0747 & 0xFFFF), 296 ((WORD32)0xfce8 << 16) | ((WORD32)0x07f6 & 0xFFFF), 297 ((WORD32)0xfda9 << 16) | ((WORD32)0x02ff & 0xFFFF), 298 ((WORD32)0xfb2f << 16) | ((WORD32)0x06f1 & 0xFFFF), 299 ((WORD32)0xf835 << 16) | ((WORD32)0x07b8 & 0xFFFF), 300 ((WORD32)0x0714 << 16) | ((WORD32)0x049a & 0xFFFF), 301 ((WORD32)0x006a << 16) | ((WORD32)0x01b4 & 0xFFFF), 302 ((WORD32)0xfbb8 << 16) | ((WORD32)0x07c8 & 0xFFFF), 303 ((WORD32)0xfc0c << 16) | ((WORD32)0x07db & 0xFFFF), 304 ((WORD32)0xf816 << 16) | ((WORD32)0xfcc8 & 0xFFFF), 305 ((WORD32)0xf827 << 16) | ((WORD32)0xfa2c & 0xFFFF), 306 ((WORD32)0xfdd0 << 16) | ((WORD32)0x07ff & 0xFFFF), 307 ((WORD32)0x0081 << 16) | ((WORD32)0xfba3 & 0xFFFF), 308 ((WORD32)0xfe5d << 16) | ((WORD32)0xfedd & 0xFFFF), 309 ((WORD32)0x054c << 16) | ((WORD32)0x05cd & 0xFFFF), 310 ((WORD32)0xf938 << 16) | ((WORD32)0x0031 & 0xFFFF), 311 ((WORD32)0xf8e0 << 16) | ((WORD32)0x071c & 0xFFFF), 312 ((WORD32)0x07ac << 16) | ((WORD32)0x0624 & 0xFFFF), 313 ((WORD32)0x05e1 << 16) | ((WORD32)0xffb3 & 0xFFFF), 314 ((WORD32)0xfd76 << 16) | ((WORD32)0xfd0e & 0xFFFF), 315 ((WORD32)0xfd45 << 16) | ((WORD32)0x0338 & 0xFFFF), 316 ((WORD32)0x03d3 << 16) | ((WORD32)0xfcd9 & 0xFFFF), 317 ((WORD32)0x07dd << 16) | ((WORD32)0x0029 & 0xFFFF), 318 ((WORD32)0xfd86 << 16) | ((WORD32)0xfe8e & 0xFFFF), 319 ((WORD32)0x0800 << 16) | ((WORD32)0xfde6 & 0xFFFF), 320 ((WORD32)0xf88c << 16) | ((WORD32)0xf823 & 0xFFFF), 321 ((WORD32)0x07fe << 16) | ((WORD32)0xf997 & 0xFFFF), 322 ((WORD32)0xfdeb << 16) | ((WORD32)0xf9ec & 0xFFFF), 323 ((WORD32)0xfd25 << 16) | ((WORD32)0x018b & 0xFFFF), 324 ((WORD32)0xf802 << 16) | ((WORD32)0x05f9 & 0xFFFF), 325 ((WORD32)0x06ed << 16) | ((WORD32)0x0473 & 0xFFFF), 326 ((WORD32)0x02ac << 16) | ((WORD32)0x06e5 & 0xFFFF), 327 ((WORD32)0x07ec << 16) | ((WORD32)0x005e & 0xFFFF), 328 ((WORD32)0xfaaa << 16) | ((WORD32)0xf8ab & 0xFFFF), 329 ((WORD32)0x051f << 16) | ((WORD32)0x0141 & 0xFFFF), 330 ((WORD32)0x07f7 << 16) | ((WORD32)0x03ab & 0xFFFF), 331 ((WORD32)0xfaed << 16) | ((WORD32)0x01b0 & 0xFFFF), 332 ((WORD32)0xff62 << 16) | ((WORD32)0xf8d5 & 0xFFFF), 333 ((WORD32)0x07e3 << 16) | ((WORD32)0x070f & 0xFFFF), 334 ((WORD32)0x0668 << 16) | ((WORD32)0xfd0d & 0xFFFF), 335 ((WORD32)0x0645 << 16) | ((WORD32)0x03a4 & 0xFFFF), 336 ((WORD32)0x00b2 << 16) | ((WORD32)0x067a & 0xFFFF), 337 ((WORD32)0xf90e << 16) | ((WORD32)0x0326 & 0xFFFF), 338 ((WORD32)0xfcd8 << 16) | ((WORD32)0xfaa8 & 0xFFFF), 339 ((WORD32)0x07d4 << 16) | ((WORD32)0xfa34 & 0xFFFF), 340 ((WORD32)0xf866 << 16) | ((WORD32)0x072a & 0xFFFF), 341 ((WORD32)0x015c << 16) | ((WORD32)0x0460 & 0xFFFF), 342 ((WORD32)0xf9d9 << 16) | ((WORD32)0xf84d & 0xFFFF), 343 ((WORD32)0x07fb << 16) | ((WORD32)0x036a & 0xFFFF), 344 ((WORD32)0x07a3 << 16) | ((WORD32)0x07c3 & 0xFFFF), 345 ((WORD32)0x07f7 << 16) | ((WORD32)0xfbac & 0xFFFF), 346 ((WORD32)0x023f << 16) | ((WORD32)0xf92c & 0xFFFF), 347 ((WORD32)0x06d2 << 16) | ((WORD32)0xfad6 & 0xFFFF), 348 ((WORD32)0xfbf4 << 16) | ((WORD32)0xfabb & 0xFFFF), 349 ((WORD32)0xf839 << 16) | ((WORD32)0xfe27 & 0xFFFF), 350 ((WORD32)0x07a2 << 16) | ((WORD32)0xf810 & 0xFFFF), 351 ((WORD32)0xf83f << 16) | ((WORD32)0x05e7 & 0xFFFF), 352 ((WORD32)0x0278 << 16) | ((WORD32)0x0352 & 0xFFFF), 353 ((WORD32)0xfe0a << 16) | ((WORD32)0x050e & 0xFFFF), 354 ((WORD32)0xfd4c << 16) | ((WORD32)0xfce8 & 0xFFFF), 355 ((WORD32)0xff89 << 16) | ((WORD32)0xff72 & 0xFFFF), 356 ((WORD32)0xfe2b << 16) | ((WORD32)0x07c4 & 0xFFFF), 357 ((WORD32)0xfe85 << 16) | ((WORD32)0x03ce & 0xFFFF), 358 ((WORD32)0xff29 << 16) | ((WORD32)0xf8fa & 0xFFFF), 359 ((WORD32)0xfa40 << 16) | ((WORD32)0x063e & 0xFFFF), 360 ((WORD32)0x07fc << 16) | ((WORD32)0x0734 & 0xFFFF), 361 ((WORD32)0x049b << 16) | ((WORD32)0xf8b8 & 0xFFFF), 362 ((WORD32)0x0250 << 16) | ((WORD32)0x07b4 & 0xFFFF), 363 ((WORD32)0x0360 << 16) | ((WORD32)0x03da & 0xFFFF), 364 ((WORD32)0x0778 << 16) | ((WORD32)0xfc84 & 0xFFFF), 365 ((WORD32)0xf83c << 16) | ((WORD32)0x06ee & 0xFFFF), 366 ((WORD32)0x02f0 << 16) | ((WORD32)0x0539 & 0xFFFF), 367 ((WORD32)0xf983 << 16) | ((WORD32)0x00b4 & 0xFFFF), 368 ((WORD32)0xfde7 << 16) | ((WORD32)0xf894 & 0xFFFF), 369 ((WORD32)0x06b8 << 16) | ((WORD32)0x0478 & 0xFFFF), 370 ((WORD32)0xf802 << 16) | ((WORD32)0xf851 & 0xFFFF), 371 ((WORD32)0x05f9 << 16) | ((WORD32)0x00f9 & 0xFFFF), 372 ((WORD32)0xfa05 << 16) | ((WORD32)0xfdd9 & 0xFFFF), 373 ((WORD32)0x07aa << 16) | ((WORD32)0xf9ad & 0xFFFF), 374 ((WORD32)0x07a3 << 16) | ((WORD32)0xff50 & 0xFFFF), 375 ((WORD32)0x03e6 << 16) | ((WORD32)0x0800 & 0xFFFF), 376 ((WORD32)0x03b5 << 16) | ((WORD32)0x00e1 & 0xFFFF), 377 ((WORD32)0xf9e1 << 16) | ((WORD32)0x0723 & 0xFFFF), 378 ((WORD32)0x0497 << 16) | ((WORD32)0x02d3 & 0xFFFF), 379 ((WORD32)0x0608 << 16) | ((WORD32)0x07bd & 0xFFFF), 380 ((WORD32)0xfb44 << 16) | ((WORD32)0xf8d9 & 0xFFFF), 381 ((WORD32)0x0602 << 16) | ((WORD32)0xfda2 & 0xFFFF), 382 ((WORD32)0xf81d << 16) | ((WORD32)0x0201 & 0xFFFF), 383 ((WORD32)0xfcbd << 16) | ((WORD32)0xf8cc & 0xFFFF), 384 ((WORD32)0x055b << 16) | ((WORD32)0x07e4 & 0xFFFF), 385 ((WORD32)0xf834 << 16) | ((WORD32)0xfffc & 0xFFFF), 386 ((WORD32)0x0736 << 16) | ((WORD32)0x07fc & 0xFFFF), 387 ((WORD32)0xf905 << 16) | ((WORD32)0x07f0 & 0xFFFF), 388 ((WORD32)0xf8ad << 16) | ((WORD32)0xfebe & 0xFFFF), 389 ((WORD32)0xffbc << 16) | ((WORD32)0xfd06 & 0xFFFF), 390 ((WORD32)0x0094 << 16) | ((WORD32)0xf8e5 & 0xFFFF), 391 ((WORD32)0x07f6 << 16) | ((WORD32)0x07c4 & 0xFFFF), 392 ((WORD32)0xfa02 << 16) | ((WORD32)0x0800 & 0xFFFF), 393 ((WORD32)0x005e << 16) | ((WORD32)0x07fc & 0xFFFF), 394 ((WORD32)0xf8e0 << 16) | ((WORD32)0xfd75 & 0xFFFF), 395 ((WORD32)0xf94c << 16) | ((WORD32)0x07d0 & 0xFFFF), 396 ((WORD32)0x02ad << 16) | ((WORD32)0xf91a & 0xFFFF), 397 ((WORD32)0xf806 << 16) | ((WORD32)0x0776 & 0xFFFF), 398 ((WORD32)0xfe2c << 16) | ((WORD32)0x0183 & 0xFFFF), 399 ((WORD32)0x0561 << 16) | ((WORD32)0xffb5 & 0xFFFF), 400 ((WORD32)0xff97 << 16) | ((WORD32)0xf898 & 0xFFFF), 401 ((WORD32)0x07ff << 16) | ((WORD32)0x077d & 0xFFFF), 402 ((WORD32)0x055b << 16) | ((WORD32)0x07ea & 0xFFFF), 403 ((WORD32)0xf808 << 16) | ((WORD32)0xfc6d & 0xFFFF), 404 ((WORD32)0x0692 << 16) | ((WORD32)0x07f7 & 0xFFFF), 405 ((WORD32)0x07ef << 16) | ((WORD32)0x05c3 & 0xFFFF), 406 ((WORD32)0xfac7 << 16) | ((WORD32)0x042d & 0xFFFF), 407 ((WORD32)0x0783 << 16) | ((WORD32)0xfa02 & 0xFFFF), 408 ((WORD32)0x07bd << 16) | ((WORD32)0x0745 & 0xFFFF), 409 ((WORD32)0xfe39 << 16) | ((WORD32)0x0492 & 0xFFFF), 410 ((WORD32)0xfc78 << 16) | ((WORD32)0xf896 & 0xFFFF), 411 ((WORD32)0xf925 << 16) | ((WORD32)0x071c & 0xFFFF), 412 ((WORD32)0x0758 << 16) | ((WORD32)0xfc4b & 0xFFFF), 413 ((WORD32)0x05ce << 16) | ((WORD32)0xf802 & 0xFFFF), 414 ((WORD32)0xf806 << 16) | ((WORD32)0x04a8 & 0xFFFF), 415 ((WORD32)0x0636 << 16) | ((WORD32)0x078c & 0xFFFF), 416 ((WORD32)0x009e << 16) | ((WORD32)0x04b1 & 0xFFFF), 417 ((WORD32)0xfb84 << 16) | ((WORD32)0x069a & 0xFFFF), 418 ((WORD32)0x07df << 16) | ((WORD32)0x0328 & 0xFFFF), 419 ((WORD32)0x03ce << 16) | ((WORD32)0x057d & 0xFFFF), 420 ((WORD32)0x0541 << 16) | ((WORD32)0x0177 & 0xFFFF), 421 ((WORD32)0x0043 << 16) | ((WORD32)0xfa01 & 0xFFFF), 422 ((WORD32)0xfce8 << 16) | ((WORD32)0x041b & 0xFFFF), 423 ((WORD32)0xf836 << 16) | ((WORD32)0xf847 & 0xFFFF), 424 ((WORD32)0xfbbd << 16) | ((WORD32)0xf8b0 & 0xFFFF), 425 ((WORD32)0x07fc << 16) | ((WORD32)0x04e4 & 0xFFFF), 426 ((WORD32)0xfbfb << 16) | ((WORD32)0xf8e5 & 0xFFFF), 427 ((WORD32)0x0029 << 16) | ((WORD32)0x06d1 & 0xFFFF), 428 ((WORD32)0x07ff << 16) | ((WORD32)0x0791 & 0xFFFF), 429 ((WORD32)0x06a2 << 16) | ((WORD32)0xff7e & 0xFFFF), 430 ((WORD32)0xfb4f << 16) | ((WORD32)0x07bf & 0xFFFF), 431 ((WORD32)0xfe98 << 16) | ((WORD32)0xfc26 & 0xFFFF), 432 ((WORD32)0x06ad << 16) | ((WORD32)0xfef5 & 0xFFFF), 433 ((WORD32)0x007a << 16) | ((WORD32)0x01a4 & 0xFFFF), 434 ((WORD32)0x0685 << 16) | ((WORD32)0xf86d & 0xFFFF), 435 ((WORD32)0xfc67 << 16) | ((WORD32)0x0346 & 0xFFFF), 436 ((WORD32)0xf8d2 << 16) | ((WORD32)0x07fd & 0xFFFF), 437 ((WORD32)0x032d << 16) | ((WORD32)0xfa03 & 0xFFFF), 438 ((WORD32)0xff65 << 16) | ((WORD32)0x05ed & 0xFFFF), 439 ((WORD32)0x061c << 16) | ((WORD32)0x0357 & 0xFFFF), 440 ((WORD32)0xfa0a << 16) | ((WORD32)0x0794 & 0xFFFF), 441 ((WORD32)0x0531 << 16) | ((WORD32)0x034f & 0xFFFF), 442 ((WORD32)0x04fc << 16) | ((WORD32)0xf88d & 0xFFFF), 443 ((WORD32)0x0361 << 16) | ((WORD32)0xff62 & 0xFFFF), 444 ((WORD32)0x0037 << 16) | ((WORD32)0xff91 & 0xFFFF), 445 ((WORD32)0x0666 << 16) | ((WORD32)0x0753 & 0xFFFF), 446 ((WORD32)0xf9a7 << 16) | ((WORD32)0xfd1a & 0xFFFF), 447 ((WORD32)0x051c << 16) | ((WORD32)0x00a6 & 0xFFFF), 448 ((WORD32)0x043b << 16) | ((WORD32)0x04ce & 0xFFFF), 449 ((WORD32)0x05f0 << 16) | ((WORD32)0x005c & 0xFFFF), 450 ((WORD32)0x07ed << 16) | ((WORD32)0xfe72 & 0xFFFF), 451 ((WORD32)0xf991 << 16) | ((WORD32)0xf8eb & 0xFFFF), 452 ((WORD32)0xfad5 << 16) | ((WORD32)0x05c7 & 0xFFFF), 453 ((WORD32)0x00ef << 16) | ((WORD32)0xf94f & 0xFFFF), 454 ((WORD32)0xf865 << 16) | ((WORD32)0xf83f & 0xFFFF), 455 ((WORD32)0xfb06 << 16) | ((WORD32)0x069f & 0xFFFF), 456 ((WORD32)0x003e << 16) | ((WORD32)0xf805 & 0xFFFF), 457 ((WORD32)0xf829 << 16) | ((WORD32)0x02ec & 0xFFFF), 458 ((WORD32)0xf800 << 16) | ((WORD32)0xfd1e & 0xFFFF), 459 ((WORD32)0x0721 << 16) | ((WORD32)0xf82b & 0xFFFF), 460 ((WORD32)0x00d5 << 16) | ((WORD32)0x0630 & 0xFFFF), 461 ((WORD32)0x07ad << 16) | ((WORD32)0xfd2a & 0xFFFF), 462 ((WORD32)0x0411 << 16) | ((WORD32)0x07b0 & 0xFFFF), 463 ((WORD32)0x015c << 16) | ((WORD32)0xf9da & 0xFFFF), 464 ((WORD32)0x0212 << 16) | ((WORD32)0x07fe & 0xFFFF), 465 ((WORD32)0xffe9 << 16) | ((WORD32)0x07e1 & 0xFFFF), 466 ((WORD32)0xf9a2 << 16) | ((WORD32)0x07c5 & 0xFFFF), 467 ((WORD32)0xf80f << 16) | ((WORD32)0xf809 & 0xFFFF), 468 ((WORD32)0xf803 << 16) | ((WORD32)0x0026 & 0xFFFF), 469 ((WORD32)0xfa56 << 16) | ((WORD32)0x02b2 & 0xFFFF), 470 ((WORD32)0xfa5d << 16) | ((WORD32)0x0776 & 0xFFFF), 471 ((WORD32)0x07fd << 16) | ((WORD32)0xf81a & 0xFFFF), 472 ((WORD32)0xfaee << 16) | ((WORD32)0xfeaf & 0xFFFF), 473 ((WORD32)0xfeb3 << 16) | ((WORD32)0xf853 & 0xFFFF), 474 ((WORD32)0xfc82 << 16) | ((WORD32)0xf86a & 0xFFFF), 475 ((WORD32)0xf803 << 16) | ((WORD32)0x07b3 & 0xFFFF), 476 ((WORD32)0xfea8 << 16) | ((WORD32)0xf815 & 0xFFFF), 477 ((WORD32)0xf8f6 << 16) | ((WORD32)0xfa43 & 0xFFFF), 478 ((WORD32)0x0389 << 16) | ((WORD32)0xf884 & 0xFFFF), 479 ((WORD32)0x0777 << 16) | ((WORD32)0xf802 & 0xFFFF), 480 ((WORD32)0xf87c << 16) | ((WORD32)0xfb7d & 0xFFFF), 481 ((WORD32)0xf8ea << 16) | ((WORD32)0x03cf & 0xFFFF), 482 ((WORD32)0x07ff << 16) | ((WORD32)0xf94a & 0xFFFF), 483 ((WORD32)0xf9f8 << 16) | ((WORD32)0x0011 & 0xFFFF), 484 ((WORD32)0x0783 << 16) | ((WORD32)0xff19 & 0xFFFF), 485 ((WORD32)0x06cf << 16) | ((WORD32)0x0430 & 0xFFFF), 486 ((WORD32)0x032d << 16) | ((WORD32)0x068b & 0xFFFF), 487 ((WORD32)0xfd0a << 16) | ((WORD32)0xf909 & 0xFFFF), 488 ((WORD32)0xfd1e << 16) | ((WORD32)0x02c6 & 0xFFFF), 489 ((WORD32)0xf887 << 16) | ((WORD32)0xf93e & 0xFFFF), 490 ((WORD32)0xfac7 << 16) | ((WORD32)0xfe86 & 0xFFFF), 491 ((WORD32)0x00f5 << 16) | ((WORD32)0x07fe & 0xFFFF), 492 ((WORD32)0x078b << 16) | ((WORD32)0x06a7 & 0xFFFF), 493 ((WORD32)0x0602 << 16) | ((WORD32)0xfd28 & 0xFFFF), 494 ((WORD32)0x048a << 16) | ((WORD32)0xfe13 & 0xFFFF), 495 ((WORD32)0x03c0 << 16) | ((WORD32)0xfd97 & 0xFFFF), 496 ((WORD32)0x07c9 << 16) | ((WORD32)0xf809 & 0xFFFF), 497 ((WORD32)0xfcf0 << 16) | ((WORD32)0x07e2 & 0xFFFF), 498 ((WORD32)0x0348 << 16) | ((WORD32)0x002b & 0xFFFF), 499 ((WORD32)0x00c5 << 16) | ((WORD32)0x005a & 0xFFFF), 500 ((WORD32)0xf92d << 16) | ((WORD32)0x0751 & 0xFFFF), 501 ((WORD32)0x071c << 16) | ((WORD32)0xf805 & 0xFFFF), 502 ((WORD32)0xfc25 << 16) | ((WORD32)0xf841 & 0xFFFF), 503 ((WORD32)0x0235 << 16) | ((WORD32)0x04b1 & 0xFFFF), 504 ((WORD32)0xfabb << 16) | ((WORD32)0x04b5 & 0xFFFF), 505 ((WORD32)0x07e8 << 16) | ((WORD32)0x0800 & 0xFFFF), 506 ((WORD32)0xfe59 << 16) | ((WORD32)0x045e & 0xFFFF), 507 ((WORD32)0xfb08 << 16) | ((WORD32)0xfb35 & 0xFFFF), 508 ((WORD32)0x01a0 << 16) | ((WORD32)0xf90d & 0xFFFF), 509 ((WORD32)0xf82d << 16) | ((WORD32)0x07b4 & 0xFFFF), 510 ((WORD32)0x00e4 << 16) | ((WORD32)0x01b8 & 0xFFFF), 511 ((WORD32)0xfcb1 << 16) | ((WORD32)0x0242 & 0xFFFF), 512 ((WORD32)0x01ee << 16) | ((WORD32)0x041b & 0xFFFF), 513 ((WORD32)0xfab0 << 16) | ((WORD32)0xff57 & 0xFFFF), 514 ((WORD32)0xfbb4 << 16) | ((WORD32)0xf830 & 0xFFFF), 515 ((WORD32)0xf839 << 16) | ((WORD32)0x01c4 & 0xFFFF), 516 ((WORD32)0x06fe << 16) | ((WORD32)0xfefa & 0xFFFF), 517 ((WORD32)0x0186 << 16) | ((WORD32)0x0021 & 0xFFFF), 518 ((WORD32)0xfc4b << 16) | ((WORD32)0xf861 & 0xFFFF), 519 ((WORD32)0xff6f << 16) | ((WORD32)0xf871 & 0xFFFF), 520 ((WORD32)0xf89b << 16) | ((WORD32)0xff2a & 0xFFFF), 521 ((WORD32)0xf94b << 16) | ((WORD32)0xffdd & 0xFFFF), 522 ((WORD32)0x0604 << 16) | ((WORD32)0xf801 & 0xFFFF), 523 ((WORD32)0xfca2 << 16) | ((WORD32)0x07fa & 0xFFFF), 524 ((WORD32)0xfa3b << 16) | ((WORD32)0xfd33 & 0xFFFF), 525 ((WORD32)0x064f << 16) | ((WORD32)0x043a & 0xFFFF), 526 ((WORD32)0x07cb << 16) | ((WORD32)0xfddd & 0xFFFF), 527 ((WORD32)0x07f0 << 16) | ((WORD32)0xfb70 & 0xFFFF), 528 ((WORD32)0x0625 << 16) | ((WORD32)0xf9e1 & 0xFFFF), 529 ((WORD32)0xf971 << 16) | ((WORD32)0xfa1e & 0xFFFF), 530 ((WORD32)0x068e << 16) | ((WORD32)0x07fa & 0xFFFF), 531 ((WORD32)0xfddd << 16) | ((WORD32)0x0583 & 0xFFFF), 532 ((WORD32)0xfc89 << 16) | ((WORD32)0x06d3 & 0xFFFF), 533 ((WORD32)0x07f0 << 16) | ((WORD32)0x075a & 0xFFFF), 534 ((WORD32)0xf98b << 16) | ((WORD32)0xfd64 & 0xFFFF), 535 ((WORD32)0x0372 << 16) | ((WORD32)0xfe3f & 0xFFFF), 536 ((WORD32)0x056b << 16) | ((WORD32)0xf85d & 0xFFFF), 537 ((WORD32)0x047e << 16) | ((WORD32)0xfa58 & 0xFFFF), 538 ((WORD32)0x00de << 16) | ((WORD32)0xff4f & 0xFFFF), 539 ((WORD32)0x074c << 16) | ((WORD32)0xfab9 & 0xFFFF), 540 ((WORD32)0xfc15 << 16) | ((WORD32)0x0481 & 0xFFFF), 541 ((WORD32)0xf8e1 << 16) | ((WORD32)0xfa44 & 0xFFFF), 542 ((WORD32)0x0539 << 16) | ((WORD32)0x0546 & 0xFFFF), 543 ((WORD32)0x0565 << 16) | ((WORD32)0xf977 & 0xFFFF), 544 ((WORD32)0xfc2e << 16) | ((WORD32)0xfea8 & 0xFFFF), 545 ((WORD32)0xf806 << 16) | ((WORD32)0xf884 & 0xFFFF), 546 ((WORD32)0xf8bb << 16) | ((WORD32)0x04f6 & 0xFFFF), 547 ((WORD32)0xff78 << 16) | ((WORD32)0xfe18 & 0xFFFF), 548 ((WORD32)0x07f4 << 16) | ((WORD32)0x0181 & 0xFFFF), 549 ((WORD32)0x07d1 << 16) | ((WORD32)0xfdb5 & 0xFFFF), 550 ((WORD32)0x0796 << 16) | ((WORD32)0xf833 & 0xFFFF), 551 ((WORD32)0xf85e << 16) | ((WORD32)0xf9a2 & 0xFFFF), 552 ((WORD32)0xfc12 << 16) | ((WORD32)0x02a2 & 0xFFFF), 553 ((WORD32)0x07fe << 16) | ((WORD32)0x071f & 0xFFFF), 554 ((WORD32)0x0409 << 16) | ((WORD32)0xf91f & 0xFFFF), 555 ((WORD32)0x03c6 << 16) | ((WORD32)0xfe81 & 0xFFFF), 556 ((WORD32)0xfb09 << 16) | ((WORD32)0x0600 & 0xFFFF), 557 ((WORD32)0xfc7e << 16) | ((WORD32)0x0800 & 0xFFFF), 558 ((WORD32)0x07e4 << 16) | ((WORD32)0xfbb7 & 0xFFFF), 559 ((WORD32)0xfb14 << 16) | ((WORD32)0xf8d7 & 0xFFFF), 560 ((WORD32)0xffb1 << 16) | ((WORD32)0xfa69 & 0xFFFF), 561 ((WORD32)0xfd98 << 16) | ((WORD32)0xff63 & 0xFFFF), 562 ((WORD32)0x035a << 16) | ((WORD32)0x002d & 0xFFFF), 563 ((WORD32)0xf91c << 16) | ((WORD32)0x07ea & 0xFFFF), 564 ((WORD32)0x0561 << 16) | ((WORD32)0xfeec & 0xFFFF), 565 ((WORD32)0xfa57 << 16) | ((WORD32)0xf9e0 & 0xFFFF), 566 ((WORD32)0x0786 << 16) | ((WORD32)0x00b9 & 0xFFFF), 567 ((WORD32)0xf969 << 16) | ((WORD32)0x00b7 & 0xFFFF), 568 ((WORD32)0xfd6f << 16) | ((WORD32)0x0403 & 0xFFFF), 569 ((WORD32)0x049c << 16) | ((WORD32)0xf815 & 0xFFFF), 570 ((WORD32)0xfd18 << 16) | ((WORD32)0x0098 & 0xFFFF), 571 ((WORD32)0x0800 << 16) | ((WORD32)0xfedf & 0xFFFF), 572 ((WORD32)0xf89c << 16) | ((WORD32)0xf829 & 0xFFFF), 573 ((WORD32)0xfc6e << 16) | ((WORD32)0xfba9 & 0xFFFF), 574 ((WORD32)0x038a << 16) | ((WORD32)0x05b5 & 0xFFFF), 575 ((WORD32)0x004b << 16) | ((WORD32)0x0517 & 0xFFFF), 576 ((WORD32)0x042d << 16) | ((WORD32)0xf92b & 0xFFFF), 577 ((WORD32)0xf86d << 16) | ((WORD32)0xffdb & 0xFFFF), 578 ((WORD32)0xf819 << 16) | ((WORD32)0x0695 & 0xFFFF), 579 ((WORD32)0x06ff << 16) | ((WORD32)0x0727 & 0xFFFF), 580 ((WORD32)0xf887 << 16) | ((WORD32)0x034f & 0xFFFF), 581 ((WORD32)0x07af << 16) | ((WORD32)0x0773 & 0xFFFF), 582 ((WORD32)0x07ce << 16) | ((WORD32)0x06e4 & 0xFFFF), 583 ((WORD32)0x07f9 << 16) | ((WORD32)0x059d & 0xFFFF), 584 ((WORD32)0xf86c << 16) | ((WORD32)0xfda2 & 0xFFFF), 585 ((WORD32)0x0754 << 16) | ((WORD32)0xf826 & 0xFFFF), 586 587 ((WORD32)0xf801 << 16) | ((WORD32)0xfb3e & 0xFFFF), 588 ((WORD32)0x07c5 << 16) | ((WORD32)0xfa99 & 0xFFFF), 589 ((WORD32)0x0121 << 16) | ((WORD32)0xf865 & 0xFFFF), 590 ((WORD32)0xfc3d << 16) | ((WORD32)0xfd03 & 0xFFFF), 591 ((WORD32)0x0675 << 16) | ((WORD32)0x025f & 0xFFFF), 592 ((WORD32)0xfce2 << 16) | ((WORD32)0x072a & 0xFFFF), 593 ((WORD32)0xffea << 16) | ((WORD32)0xfaa5 & 0xFFFF), 594 ((WORD32)0xf8b3 << 16) | ((WORD32)0xff14 & 0xFFFF), 595 ((WORD32)0x0463 << 16) | ((WORD32)0x0605 & 0xFFFF), 596 ((WORD32)0x0333 << 16) | ((WORD32)0xf816 & 0xFFFF), 597 ((WORD32)0xf803 << 16) | ((WORD32)0xf8f3 & 0xFFFF), 598 ((WORD32)0xf85c << 16) | ((WORD32)0x0746 & 0xFFFF), 599 ((WORD32)0xfc58 << 16) | ((WORD32)0xfb76 & 0xFFFF), 600 ((WORD32)0xfa2a << 16) | ((WORD32)0xf829 & 0xFFFF), 601 ((WORD32)0x060d << 16) | ((WORD32)0x01ad & 0xFFFF), 602 ((WORD32)0x0091 << 16) | ((WORD32)0xf9bd & 0xFFFF), 603 ((WORD32)0x05f6 << 16) | ((WORD32)0xf8b5 & 0xFFFF), 604 ((WORD32)0xf849 << 16) | ((WORD32)0xf86c & 0xFFFF), 605 ((WORD32)0x026f << 16) | ((WORD32)0xfc0c & 0xFFFF), 606 ((WORD32)0x0553 << 16) | ((WORD32)0x052c & 0xFFFF), 607 ((WORD32)0x0756 << 16) | ((WORD32)0x0167 & 0xFFFF), 608 ((WORD32)0xfa57 << 16) | ((WORD32)0x0434 & 0xFFFF), 609 ((WORD32)0xfa65 << 16) | ((WORD32)0xfc5f & 0xFFFF), 610 ((WORD32)0xf80a << 16) | ((WORD32)0xf8cb & 0xFFFF), 611 ((WORD32)0x07da << 16) | ((WORD32)0xf9ce & 0xFFFF), 612 ((WORD32)0xfba0 << 16) | ((WORD32)0xffcb & 0xFFFF), 613 ((WORD32)0xffdd << 16) | ((WORD32)0x0006 & 0xFFFF), 614 ((WORD32)0xf91c << 16) | ((WORD32)0x0367 & 0xFFFF), 615 ((WORD32)0xf817 << 16) | ((WORD32)0xf8f8 & 0xFFFF), 616 ((WORD32)0x0424 << 16) | ((WORD32)0x055b & 0xFFFF), 617 ((WORD32)0xf807 << 16) | ((WORD32)0xfb5a & 0xFFFF), 618 ((WORD32)0xf801 << 16) | ((WORD32)0x07df & 0xFFFF), 619 ((WORD32)0x046c << 16) | ((WORD32)0x04c2 & 0xFFFF), 620 ((WORD32)0x02c4 << 16) | ((WORD32)0x0797 & 0xFFFF), 621 ((WORD32)0x0503 << 16) | ((WORD32)0xfa0c & 0xFFFF), 622 ((WORD32)0xf9d4 << 16) | ((WORD32)0xfd4a & 0xFFFF), 623 ((WORD32)0xf8ac << 16) | ((WORD32)0x004c & 0xFFFF), 624 ((WORD32)0xf9e6 << 16) | ((WORD32)0xf8b1 & 0xFFFF), 625 ((WORD32)0x0662 << 16) | ((WORD32)0xf88c & 0xFFFF), 626 ((WORD32)0x045c << 16) | ((WORD32)0xff0c & 0xFFFF), 627 ((WORD32)0xf926 << 16) | ((WORD32)0x0365 & 0xFFFF), 628 ((WORD32)0xf892 << 16) | ((WORD32)0x023b & 0xFFFF), 629 ((WORD32)0xff10 << 16) | ((WORD32)0xf804 & 0xFFFF), 630 ((WORD32)0x01b5 << 16) | ((WORD32)0xf8be & 0xFFFF), 631 ((WORD32)0xf9e8 << 16) | ((WORD32)0x07fb & 0xFFFF), 632 ((WORD32)0x07d9 << 16) | ((WORD32)0xf855 & 0xFFFF), 633 ((WORD32)0xf920 << 16) | ((WORD32)0x07a9 & 0xFFFF), 634 ((WORD32)0xf889 << 16) | ((WORD32)0x03f4 & 0xFFFF)} 635 636 }; 637 638 const ia_qmf_dec_tables_struct ixheaacd_aac_qmf_dec_tables = { 639 640 // const WORD16 w_32[2 * 30] = 641 {0, 32767, 0, 32767, 0, 32767, 6393, 32138, 12540, 642 30274, 18205, 27246, 12540, 30274, 23170, 23170, 30274, 12540, 643 18205, 27246, 30274, 12540, 32138, -6393, 23170, 23170, 32767, 644 0, 23170, -23170, 27246, 18205, 30274, -12540, 6393, -32138, 645 30274, 12540, 23170, -23170, -12540, -30274, 32138, 6393, 12540, 646 -30274, -27246, -18205, 0, 32767, 0, 32767, 0, 32767, 647 23170, 23170, 32767, 0, 23170, -23170}, 648 649 // const WORD16 w_16[2 * 12] = 650 {0, 32767, 0, 32767, 0, 32767, 12540, 30274, 651 23170, 23170, 30274, 12540, 23170, 23170, 32767, 0, 652 23170, -23170, 30274, 12540, 23170, -23170, -12540, -30274}, 653 654 // const WORD32 ixheaacd_dig_rev_table2_32[4]= 655 {0, 64, 16, 80}, 656 657 // const WORD32 ixheaacd_dig_rev_table4_16[2]= 658 {0, 16}, 659 660 // const WORD16 ixheaacd_sbr_sin_twiddle_l64 and 661 // ixheaacd_sbr_cos_twiddle_l64 [32] = 662 { 663 (WORD16)0x0192, (WORD16)0x7ffe, (WORD16)0x7fea, (WORD16)0x04b6, 664 (WORD16)0x07d9, (WORD16)0x7fc2, (WORD16)0x7f87, (WORD16)0x0afb, 665 (WORD16)0x0e1c, (WORD16)0x7f38, (WORD16)0x7ed6, (WORD16)0x113a, 666 (WORD16)0x1455, (WORD16)0x7e60, (WORD16)0x7dd6, (WORD16)0x176e, 667 (WORD16)0x1a83, (WORD16)0x7d3a, (WORD16)0x7c89, (WORD16)0x1d93, 668 (WORD16)0x209f, (WORD16)0x7bc6, (WORD16)0x7aef, (WORD16)0x23a7, 669 (WORD16)0x26a8, (WORD16)0x7a06, (WORD16)0x790a, (WORD16)0x29a4, 670 (WORD16)0x2c99, (WORD16)0x77fb, (WORD16)0x76d9, (WORD16)0x2f87, 671 (WORD16)0x326e, (WORD16)0x75a6, (WORD16)0x7460, (WORD16)0x354e, 672 (WORD16)0x3825, (WORD16)0x7308, (WORD16)0x719e, (WORD16)0x3af3, 673 (WORD16)0x3db8, (WORD16)0x7023, (WORD16)0x6e97, (WORD16)0x4074, 674 (WORD16)0x4326, (WORD16)0x6cf9, (WORD16)0x6b4b, (WORD16)0x45cd, 675 (WORD16)0x486a, (WORD16)0x698c, (WORD16)0x67bd, (WORD16)0x4afb, 676 (WORD16)0x4d81, (WORD16)0x65de, (WORD16)0x63ef, (WORD16)0x4ffb, 677 (WORD16)0x5269, (WORD16)0x61f1, (WORD16)0x5fe4, (WORD16)0x54ca, 678 (WORD16)0x571e, (WORD16)0x5dc8, (WORD16)0x5b9d, (WORD16)0x5964, 679 680 }, 681 // WORD16 sbr_alt_sin_twiddle_l64[32]; 682 { 683 // (WORD16)0x0000, (WORD16)0x7fff, 684 (WORD16)0x0648, (WORD16)0x7fd9, (WORD16)0x0c8c, (WORD16)0x7f62, 685 (WORD16)0x12c8, (WORD16)0x7e9d, (WORD16)0x18f9, (WORD16)0x7d8a, 686 (WORD16)0x1f1a, (WORD16)0x7c2a, (WORD16)0x2528, (WORD16)0x7a7d, 687 (WORD16)0x2b1f, (WORD16)0x7885, (WORD16)0x30fc, (WORD16)0x7642, 688 (WORD16)0x36ba, (WORD16)0x73b6, (WORD16)0x3c57, (WORD16)0x70e3, 689 (WORD16)0x41ce, (WORD16)0x6dca, (WORD16)0x471d, (WORD16)0x6a6e, 690 (WORD16)0x4c40, (WORD16)0x66d0, (WORD16)0x5134, (WORD16)0x62f2, 691 (WORD16)0x55f6, (WORD16)0x5ed7, (WORD16)0x5a82, (WORD16)0x5a82, 692 693 }, 694 695 // const WORD16 ixheaacd_sbr_cos_sin_twiddle_ds_l32[32+32] = 696 {(WORD16)0x7ffe, (WORD16)0x0192, (WORD16)0x7fea, (WORD16)0x04b6, 697 (WORD16)0x7fc2, (WORD16)0x07d9, (WORD16)0x7f87, (WORD16)0x0afb, 698 (WORD16)0x7f38, (WORD16)0x0e1c, (WORD16)0x7ed6, (WORD16)0x113a, 699 (WORD16)0x7e60, (WORD16)0x1455, (WORD16)0x7dd6, (WORD16)0x176e, 700 (WORD16)0x7d3a, (WORD16)0x1a83, (WORD16)0x7c89, (WORD16)0x1d93, 701 (WORD16)0x7bc6, (WORD16)0x209f, (WORD16)0x7aef, (WORD16)0x23a7, 702 (WORD16)0x7a06, (WORD16)0x26a8, (WORD16)0x790a, (WORD16)0x29a4, 703 (WORD16)0x77fb, (WORD16)0x2c99, (WORD16)0x76d9, (WORD16)0x2f87, 704 (WORD16)0x75a6, (WORD16)0x326e, (WORD16)0x7460, (WORD16)0x354e, 705 (WORD16)0x7308, (WORD16)0x3825, (WORD16)0x719e, (WORD16)0x3af3, 706 (WORD16)0x7023, (WORD16)0x3db8, (WORD16)0x6e97, (WORD16)0x4074, 707 (WORD16)0x6cf9, (WORD16)0x4326, (WORD16)0x6b4b, (WORD16)0x45cd, 708 (WORD16)0x698c, (WORD16)0x486a, (WORD16)0x67bd, (WORD16)0x4afb, 709 (WORD16)0x65de, (WORD16)0x4d81, (WORD16)0x63ef, (WORD16)0x4ffb, 710 (WORD16)0x61f1, (WORD16)0x5269, (WORD16)0x5fe4, (WORD16)0x54ca, 711 (WORD16)0x5dc8, (WORD16)0x571e, (WORD16)0x5b9d, (WORD16)0x5964}, 712 713 // const WORD16 ixheaacd_sbr_cos_twiddle_l32 and 714 // ixheaacd_sbr_sin_twiddle_l32[16]= 715 { 716 (WORD16)0x0324, (WORD16)0x7ff6, (WORD16)0x7fa7, (WORD16)0x096b, 717 (WORD16)0x0fab, (WORD16)0x7f0a, (WORD16)0x7e1e, (WORD16)0x15e2, 718 (WORD16)0x1c0c, (WORD16)0x7ce4, (WORD16)0x7b5d, (WORD16)0x2224, 719 (WORD16)0x2827, (WORD16)0x798a, (WORD16)0x776c, (WORD16)0x2e11, 720 (WORD16)0x33df, (WORD16)0x7505, (WORD16)0x7255, (WORD16)0x398d, 721 (WORD16)0x3f17, (WORD16)0x6f5f, (WORD16)0x6c24, (WORD16)0x447b, 722 (WORD16)0x49b4, (WORD16)0x68a7, (WORD16)0x64e9, (WORD16)0x4ec0, 723 (WORD16)0x539b, (WORD16)0x60ec, (WORD16)0x5cb4, (WORD16)0x5843, 724 725 }, 726 // const WORD16 ixheaacd_sbr_alt_sin_twiddle_l32[17] = 727 { 728 //(WORD16)0x0000, (WORD16)0x7fff, 729 (WORD16)0x0c8c, (WORD16)0x7f62, (WORD16)0x18f9, (WORD16)0x7d8a, 730 (WORD16)0x2528, (WORD16)0x7a7d, (WORD16)0x30fc, (WORD16)0x7642, 731 (WORD16)0x3c57, (WORD16)0x70e3, (WORD16)0x471d, (WORD16)0x6a6e, 732 (WORD16)0x5134, (WORD16)0x62f2, (WORD16)0x5a82, (WORD16)0x5a82, 733 734 }, 735 // const WORD16 ixheaacd_sbr_t_cos_sin_l32[32+32] = //exp[-i * pi/32* 3/4 * 736 // (k +0.5)] 737 {(WORD16)0x7fea, (WORD16)0x04b6, (WORD16)0x7f38, (WORD16)0x0e1c, 738 (WORD16)0x7dd6, (WORD16)0x176e, (WORD16)0x7bc6, (WORD16)0x209f, 739 (WORD16)0x790a, (WORD16)0x29a4, (WORD16)0x75a6, (WORD16)0x326e, 740 (WORD16)0x719e, (WORD16)0x3af3, (WORD16)0x6cf9, (WORD16)0x4326, 741 (WORD16)0x67bd, (WORD16)0x4afb, (WORD16)0x61f1, (WORD16)0x5269, 742 (WORD16)0x5b9d, (WORD16)0x5964, (WORD16)0x54ca, (WORD16)0x5fe4, 743 (WORD16)0x4d81, (WORD16)0x65de, (WORD16)0x45cd, (WORD16)0x6b4b, 744 (WORD16)0x3db8, (WORD16)0x7023, (WORD16)0x354e, (WORD16)0x7460, 745 (WORD16)0x2c99, (WORD16)0x77fb, (WORD16)0x23a7, (WORD16)0x7aef, 746 (WORD16)0x1a83, (WORD16)0x7d3a, (WORD16)0x113a, (WORD16)0x7ed6, 747 (WORD16)0x07d9, (WORD16)0x7fc2, (WORD16)-0x0192, (WORD16)0x7ffe, 748 (WORD16)-0x0afb, (WORD16)0x7f87, (WORD16)-0x1455, (WORD16)0x7e60, 749 (WORD16)-0x1d93, (WORD16)0x7c89, (WORD16)-0x26a8, (WORD16)0x7a06, 750 (WORD16)-0x2f87, (WORD16)0x76d9, (WORD16)-0x3825, (WORD16)0x7308, 751 (WORD16)-0x4074, (WORD16)0x6e97, (WORD16)-0x486a, (WORD16)0x698c, 752 (WORD16)-0x4ffb, (WORD16)0x63ef, (WORD16)-0x571e, (WORD16)0x5dc8}, 753 754 // const WORD16 ixheeaacd_post_fft_tw_tab[17] = 755 {32767, 32610, 32138, 31357, 30274, 28899, 27246, 25330, 23170, 20788, 756 18205, 15447, 12540, 9512, 6393, 3212, 0}, 757 758 // const WORD16 ixheaacd_dct23_tw[66] = 759 {0, 0, 32758, 804, 32729, 1608, 32679, 2411, 32610, 3212, 760 32522, 4011, 32413, 4808, 32286, 5602, 32138, 6393, 31972, 7180, 761 31786, 7962, 31581, 8740, 31357, 9512, 31114, 10279, 30853, 11039, 762 30572, 11793, 30274, 12540, 29957, 13279, 29622, 14010, 29269, 14733, 763 28899, 15447, 28511, 16151, 28106, 16846, 27684, 17531, 27246, 18205, 764 26791, 18868, 26320, 19520, 25833, 20160, 25330, 20788, 24812, 21403, 765 24279, 22006, 23732, 22595, 23170, 23170}, 766 767 // const WORD16 qmf_c[1280] = 768 {0, -18, -18, -16, -16, -16, -17, -17, -18, 769 -19, -19, -20, -21, -21, -22, -23, -23, -24, 770 -24, -25, -25, -25, -26, -25, -26, -26, -25, 771 -25, -25, -24, -24, -23, -22, -21, -19, -18, 772 -17, -15, -13, -11, -9, -7, -5, -2, 0, 773 4, 7, 10, 13, 17, 20, 24, 28, 32, 774 37, 41, 46, 51, 55, 60, 65, 70, 75, 775 81, 86, 91, 97, 102, 107, 113, 118, 123, 776 128, 134, 138, 143, 148, 153, 157, 161, 165, 777 168, 172, 175, 178, 180, 182, 183, 184, 185, 778 185, 184, 183, 182, 179, 176, 173, 168, 163, 779 158, 151, 144, 135, 126, 116, 105, 93, 80, 780 66, 52, 36, 19, 1, -18, -38, -59, -81, 781 -105, -129, -155, -181, -209, -238, -268, -299, -331, 782 -365, -399, 435, 472, 509, 548, 588, 629, 670, 783 713, 756, 800, 845, 891, 937, 985, 1032, 1081, 784 1129, 1179, 1228, 1278, 1328, 1378, 1429, 1479, 1530, 785 1580, 1630, 1680, 1729, 1778, 1826, 1873, 1920, 1966, 786 2010, 2054, 2096, 2137, 2177, 2215, 2251, 2286, 2319, 787 2349, 2378, 2404, 2428, 2449, 2468, 2484, 2497, 2507, 788 2514, 2517, 2517, 2514, 2507, 2496, 2482, 2463, 2440, 789 2413, 2381, 2346, 2305, 2260, 2210, 2155, 2095, 2030, 790 1960, 1885, 1804, 1717, 1625, 1528, 1425, 1315, 1201, 791 1080, 953, 820, 682, 536, 385, 228, 65, -105, 792 -281, -463, -652, -846, -1047, -1254, -1467, -1687, -1913, 793 -2144, -2382, -2626, -2876, -3131, -3393, -3660, -3932, -4211, 794 -4494, -4783, -5078, -5377, -5681, -5991, -6304, -6623, -6946, 795 -7273, -7604, -7940, -8279, -8621, -8967, -9317, -9669, -10024, 796 -10382, -10742, -11104, -11469, 11834, 12202, 12571, 12941, 13311, 797 13683, 14055, 14426, 14798, 15169, 15540, 15910, 16278, 16646, 798 17011, 17374, 17736, 18095, 18451, 18804, 19154, 19501, 19844, 799 20182, 20517, 20847, 21172, 21493, 21808, 22117, 22421, 22719, 800 23011, 23296, 23575, 23847, 24111, 24369, 24619, 24861, 25096, 801 25322, 25540, 25750, 25951, 26144, 26327, 26502, 26667, 26823, 802 26969, 27107, 27234, 27351, 27459, 27556, 27644, 27721, 27788, 803 27846, 27892, 27928, 27954, 27970, 27975, 27970, 27954, 27928, 804 27892, 27846, 27788, 27721, 27644, 27556, 27459, 27351, 27234, 805 27107, 26969, 26823, 26667, 26502, 26327, 26144, 25951, 25750, 806 25540, 25322, 25096, 24861, 24619, 24369, 24111, 23847, 23575, 807 23296, 23011, 22719, 22421, 22117, 21808, 21493, 21172, 20847, 808 20517, 20182, 19844, 19501, 19154, 18804, 18451, 18095, 17736, 809 17374, 17011, 16646, 16278, 15910, 15540, 15169, 14798, 14426, 810 14055, 13683, 13311, 12941, 12571, 12202, -11834, -11469, -11104, 811 -10742, -10382, -10024, -9669, -9317, -8967, -8621, -8279, -7940, 812 -7604, -7273, -6946, -6623, -6304, -5991, -5681, -5377, -5078, 813 -4783, -4494, -4211, -3932, -3660, -3393, -3131, -2876, -2626, 814 -2382, -2144, -1913, -1687, -1467, -1254, -1047, -846, -652, 815 -463, -281, -105, 65, 228, 385, 536, 682, 820, 816 953, 1080, 1201, 1315, 1425, 1528, 1625, 1717, 1804, 817 1885, 1960, 2030, 2095, 2155, 2210, 2260, 2305, 2346, 818 2381, 2413, 2440, 2463, 2482, 2496, 2507, 2514, 2517, 819 2517, 2514, 2507, 2497, 2484, 2468, 2449, 2428, 2404, 820 2378, 2349, 2319, 2286, 2251, 2215, 2177, 2137, 2096, 821 2054, 2010, 1966, 1920, 1873, 1826, 1778, 1729, 1680, 822 1630, 1580, 1530, 1479, 1429, 1378, 1328, 1278, 1228, 823 1179, 1129, 1081, 1032, 985, 937, 891, 845, 800, 824 756, 713, 670, 629, 588, 548, 509, 472, -435, 825 -399, -365, -331, -299, -268, -238, -209, -181, -155, 826 -129, -105, -81, -59, -38, -18, 1, 19, 36, 827 52, 66, 80, 93, 105, 116, 126, 135, 144, 828 151, 158, 163, 168, 173, 176, 179, 182, 183, 829 184, 185, 185, 184, 183, 182, 180, 178, 175, 830 172, 168, 165, 161, 157, 153, 148, 143, 138, 831 134, 128, 123, 118, 113, 107, 102, 97, 91, 832 86, 81, 75, 70, 65, 60, 55, 51, 46, 833 41, 37, 32, 28, 24, 20, 17, 13, 10, 834 7, 4, 0, -2, -5, -7, -9, -11, -13, 835 -15, -17, -18, -19, -21, -22, -23, -24, -24, 836 -25, -25, -25, -26, -26, -25, -26, -25, -25, 837 -25, -24, -24, -23, -23, -22, -21, -21, -20, 838 -19, -19, -18, -17, -17, -16, -16, -16, -18, 839 -18, 0, -18, -18, -16, -16, -16, -17, -17, 840 -18, -19, -19, -20, -21, -21, -22, -23, -23, 841 -24, -24, -25, -25, -25, -26, -25, -26, -26, 842 -25, -25, -25, -24, -24, -23, -22, -21, -19, 843 -18, -17, -15, -13, -11, -9, -7, -5, -2, 844 0, 4, 7, 10, 13, 17, 20, 24, 28, 845 32, 37, 41, 46, 51, 55, 60, 65, 70, 846 75, 81, 86, 91, 97, 102, 107, 113, 118, 847 123, 128, 134, 138, 143, 148, 153, 157, 161, 848 165, 168, 172, 175, 178, 180, 182, 183, 184, 849 185, 185, 184, 183, 182, 179, 176, 173, 168, 850 163, 158, 151, 144, 135, 126, 116, 105, 93, 851 80, 66, 52, 36, 19, 1, -18, -38, -59, 852 -81, -105, -129, -155, -181, -209, -238, -268, -299, 853 -331, -365, -399, 435, 472, 509, 548, 588, 629, 854 670, 713, 756, 800, 845, 891, 937, 985, 1032, 855 1081, 1129, 1179, 1228, 1278, 1328, 1378, 1429, 1479, 856 1530, 1580, 1630, 1680, 1729, 1778, 1826, 1873, 1920, 857 1966, 2010, 2054, 2096, 2137, 2177, 2215, 2251, 2286, 858 2319, 2349, 2378, 2404, 2428, 2449, 2468, 2484, 2497, 859 2507, 2514, 2517, 2517, 2514, 2507, 2496, 2482, 2463, 860 2440, 2413, 2381, 2346, 2305, 2260, 2210, 2155, 2095, 861 2030, 1960, 1885, 1804, 1717, 1625, 1528, 1425, 1315, 862 1201, 1080, 953, 820, 682, 536, 385, 228, 65, 863 -105, -281, -463, -652, -846, -1047, -1254, -1467, -1687, 864 -1913, -2144, -2382, -2626, -2876, -3131, -3393, -3660, -3932, 865 -4211, -4494, -4783, -5078, -5377, -5681, -5991, -6304, -6623, 866 -6946, -7273, -7604, -7940, -8279, -8621, -8967, -9317, -9669, 867 -10024, -10382, -10742, -11104, -11469, 11834, 12202, 12571, 12941, 868 13311, 13683, 14055, 14426, 14798, 15169, 15540, 15910, 16278, 869 16646, 17011, 17374, 17736, 18095, 18451, 18804, 19154, 19501, 870 19844, 20182, 20517, 20847, 21172, 21493, 21808, 22117, 22421, 871 22719, 23011, 23296, 23575, 23847, 24111, 24369, 24619, 24861, 872 25096, 25322, 25540, 25750, 25951, 26144, 26327, 26502, 26667, 873 26823, 26969, 27107, 27234, 27351, 27459, 27556, 27644, 27721, 874 27788, 27846, 27892, 27928, 27954, 27970, 27975, 27970, 27954, 875 27928, 27892, 27846, 27788, 27721, 27644, 27556, 27459, 27351, 876 27234, 27107, 26969, 26823, 26667, 26502, 26327, 26144, 25951, 877 25750, 25540, 25322, 25096, 24861, 24619, 24369, 24111, 23847, 878 23575, 23296, 23011, 22719, 22421, 22117, 21808, 21493, 21172, 879 20847, 20517, 20182, 19844, 19501, 19154, 18804, 18451, 18095, 880 17736, 17374, 17011, 16646, 16278, 15910, 15540, 15169, 14798, 881 14426, 14055, 13683, 13311, 12941, 12571, 12202, -11834, -11469, 882 -11104, -10742, -10382, -10024, -9669, -9317, -8967, -8621, -8279, 883 -7940, -7604, -7273, -6946, -6623, -6304, -5991, -5681, -5377, 884 -5078, -4783, -4494, -4211, -3932, -3660, -3393, -3131, -2876, 885 -2626, -2382, -2144, -1913, -1687, -1467, -1254, -1047, -846, 886 -652, -463, -281, -105, 65, 228, 385, 536, 682, 887 820, 953, 1080, 1201, 1315, 1425, 1528, 1625, 1717, 888 1804, 1885, 1960, 2030, 2095, 2155, 2210, 2260, 2305, 889 2346, 2381, 2413, 2440, 2463, 2482, 2496, 2507, 2514, 890 2517, 2517, 2514, 2507, 2497, 2484, 2468, 2449, 2428, 891 2404, 2378, 2349, 2319, 2286, 2251, 2215, 2177, 2137, 892 2096, 2054, 2010, 1966, 1920, 1873, 1826, 1778, 1729, 893 1680, 1630, 1580, 1530, 1479, 1429, 1378, 1328, 1278, 894 1228, 1179, 1129, 1081, 1032, 985, 937, 891, 845, 895 800, 756, 713, 670, 629, 588, 548, 509, 472, 896 -435, -399, -365, -331, -299, -268, -238, -209, -181, 897 -155, -129, -105, -81, -59, -38, -18, 1, 19, 898 36, 52, 66, 80, 93, 105, 116, 126, 135, 899 144, 151, 158, 163, 168, 173, 176, 179, 182, 900 183, 184, 185, 185, 184, 183, 182, 180, 178, 901 175, 172, 168, 165, 161, 157, 153, 148, 143, 902 138, 134, 128, 123, 118, 113, 107, 102, 97, 903 91, 86, 81, 75, 70, 65, 60, 55, 51, 904 46, 41, 37, 32, 28, 24, 20, 17, 13, 905 10, 7, 4, 0, -2, -5, -7, -9, -11, 906 -13, -15, -17, -18, -19, -21, -22, -23, -24, 907 -24, -25, -25, -25, -26, -26, -25, -26, -25, 908 -25, -25, -24, -24, -23, -23, -22, -21, -21, 909 -20, -19, -19, -18, -17, -17, -16, -16, -16, 910 -18, -18}, 911 912 { 913 0x00, 0x01, 0x02, 0x03, 914 }, 915 916 // w1024[1536]; 917 { 918 0x00007fff, 0xff377fff, 0xfe6e7ffe, 0xfda57ffa, 0xfcdc7ff6, 0xfc137ff1, 919 0xfb4a7fea, 0xfa817fe2, 0xf9b87fd9, 0xf8ef7fce, 0xf8277fc2, 0xf75e7fb5, 920 0xf6957fa7, 0xf5cd7f98, 0xf5057f87, 0xf43c7f75, 0xf3747f62, 0xf2ac7f4e, 921 0xf1e47f38, 0xf11c7f22, 0xf0557f0a, 0xef8d7ef0, 0xeec67ed6, 0xedff7eba, 922 0xed387e9d, 0xec717e7f, 0xebab7e60, 0xeae47e3f, 0xea1e7e1e, 0xe9587dfb, 923 0xe8927dd6, 0xe7cd7db1, 0xe7077d8a, 0xe6427d63, 0xe57d7d3a, 0xe4b97d0f, 924 0xe3f47ce4, 0xe3307cb7, 0xe26d7c89, 0xe1a97c5a, 0xe0e67c2a, 0xe0237bf9, 925 0xdf617bc6, 0xde9e7b92, 0xdddc7b5d, 0xdd1b7b27, 0xdc597aef, 0xdb997ab7, 926 0xdad87a7d, 0xda187a42, 0xd9587a06, 0xd89879c9, 0xd7d9798a, 0xd71b794a, 927 0xd65c790a, 0xd59e78c8, 0xd4e17885, 0xd4247840, 0xd36777fb, 0xd2ab77b4, 928 0xd1ef776c, 0xd1347723, 0xd07976d9, 0xcfbe768e, 0xcf047642, 0xce4b75f4, 929 0xcd9275a6, 0xccd97556, 0xcc217505, 0xcb6974b3, 0xcab27460, 0xc9fc740b, 930 0xc94673b6, 0xc890735f, 0xc7db7308, 0xc72772af, 0xc6737255, 0xc5c071fa, 931 0xc50d719e, 0xc45b7141, 0xc3a970e3, 0xc2f87083, 0xc2487023, 0xc1986fc2, 932 0xc0e96f5f, 0xc03a6efb, 0xbf8c6e97, 0xbedf6e31, 0xbe326dca, 0xbd866d62, 933 0xbcda6cf9, 0xbc2f6c8f, 0xbb856c24, 0xbadc6bb8, 0xba336b4b, 0xb98b6add, 934 0xb8e36a6e, 0xb83c69fd, 0xb796698c, 0xb6f1691a, 0xb64c68a7, 0xb5a86832, 935 0xb50567bd, 0xb4626747, 0xb3c066d0, 0xb31f6657, 0xb27f65de, 0xb1df6564, 936 0xb14064e9, 0xb0a2646c, 0xb00563ef, 0xaf686371, 0xaecc62f2, 0xae316272, 937 0xad9761f1, 0xacfd616f, 0xac6560ec, 0xabcd6068, 0xab365fe4, 0xaaa05f5e, 938 0xaa0a5ed7, 0xa9765e50, 0xa8e25dc8, 0xa84f5d3e, 0xa7bd5cb4, 0xa72c5c29, 939 0xa69c5b9d, 0xa60c5b10, 0xa57e5a82, 0xa4f059f4, 0xa4635964, 0xa3d758d4, 940 0xa34c5843, 0xa2c257b1, 0xa238571e, 0xa1b0568a, 0xa12955f6, 0xa0a25560, 941 0xa01c54ca, 0x9f985433, 0x9f14539b, 0x9e915303, 0x9e0f5269, 0x9d8e51cf, 942 0x9d0e5134, 0x9c8f5098, 0x9c114ffb, 0x9b944f5e, 0x9b174ec0, 0x9a9c4e21, 943 0x9a224d81, 0x99a94ce1, 0x99304c40, 0x98b94b9e, 0x98434afb, 0x97ce4a58, 944 0x975949b4, 0x96e6490f, 0x9674486a, 0x960347c4, 0x9592471d, 0x95234675, 945 0x94b545cd, 0x94484524, 0x93dc447b, 0x937143d1, 0x93074326, 0x929e427a, 946 0x923641ce, 0x91cf4121, 0x91694074, 0x91053fc6, 0x90a13f17, 0x903e3e68, 947 0x8fdd3db8, 0x8f7d3d08, 0x8f1d3c57, 0x8ebf3ba5, 0x8e623af3, 0x8e063a40, 948 0x8dab398d, 0x8d5138d9, 0x8cf83825, 0x8ca13770, 0x8c4a36ba, 0x8bf53604, 949 0x8ba0354e, 0x8b4d3497, 0x8afb33df, 0x8aaa3327, 0x8a5a326e, 0x8a0c31b5, 950 0x89be30fc, 0x89723042, 0x89272f87, 0x88dd2ecc, 0x88942e11, 0x884c2d55, 951 0x88052c99, 0x87c02bdc, 0x877b2b1f, 0x87382a62, 0x86f629a4, 0x86b628e5, 952 0x86762827, 0x86372768, 0x85fa26a8, 0x85be25e8, 0x85832528, 0x85492467, 953 0x851123a7, 0x84d922e5, 0x84a32224, 0x846e2162, 0x843a209f, 0x84071fdd, 954 0x83d61f1a, 0x83a61e57, 0x83771d93, 0x83491cd0, 0x831c1c0c, 0x82f11b47, 955 0x82c61a83, 0x829d19be, 0x827618f9, 0x824f1833, 0x822a176e, 0x820516a8, 956 0x81e215e2, 0x81c1151c, 0x81a01455, 0x8181138f, 0x816312c8, 0x81461201, 957 0x812a113a, 0x81101073, 0x80f60fab, 0x80de0ee4, 0x80c80e1c, 0x80b20d54, 958 0x809e0c8c, 0x808b0bc4, 0x80790afb, 0x80680a33, 0x8059096b, 0x804b08a2, 959 0x803e07d9, 0x80320711, 0x80270648, 0x801e057f, 0x801604b6, 0x800f03ed, 960 0x800a0324, 0x8006025b, 0x80020192, 0x800100c9, 0x80000000, 0x8001ff37, 961 0x8002fe6e, 0x8006fda5, 0x800afcdc, 0x800ffc13, 0x8016fb4a, 0x801efa81, 962 0x8027f9b8, 0x8032f8ef, 0x803ef827, 0x804bf75e, 0x8059f695, 0x8068f5cd, 963 0x8079f505, 0x808bf43c, 0x809ef374, 0x80b2f2ac, 0x80c8f1e4, 0x80def11c, 964 0x80f6f055, 0x8110ef8d, 0x812aeec6, 0x8146edff, 0x8163ed38, 0x8181ec71, 965 0x81a0ebab, 0x81c1eae4, 0x81e2ea1e, 0x8205e958, 0x822ae892, 0x824fe7cd, 966 0x8276e707, 0x829de642, 0x82c6e57d, 0x82f1e4b9, 0x831ce3f4, 0x8349e330, 967 0x8377e26d, 0x83a6e1a9, 0x83d6e0e6, 0x8407e023, 0x843adf61, 0x846ede9e, 968 0x84a3dddc, 0x84d9dd1b, 0x8511dc59, 0x8549db99, 0x8583dad8, 0x85beda18, 969 0x85fad958, 0x8637d898, 0x8676d7d9, 0x86b6d71b, 0x86f6d65c, 0x8738d59e, 970 0x877bd4e1, 0x87c0d424, 0x8805d367, 0x884cd2ab, 0x8894d1ef, 0x88ddd134, 971 0x8927d079, 0x8972cfbe, 0x89becf04, 0x8a0cce4b, 0x8a5acd92, 0x8aaaccd9, 972 0x8afbcc21, 0x8b4dcb69, 0x8ba0cab2, 0x8bf5c9fc, 0x8c4ac946, 0x8ca1c890, 973 0x8cf8c7db, 0x8d51c727, 0x8dabc673, 0x8e06c5c0, 0x8e62c50d, 0x8ebfc45b, 974 0x8f1dc3a9, 0x8f7dc2f8, 0x8fddc248, 0x903ec198, 0x90a1c0e9, 0x9105c03a, 975 0x9169bf8c, 0x91cfbedf, 0x9236be32, 0x929ebd86, 0x9307bcda, 0x9371bc2f, 976 0x93dcbb85, 0x9448badc, 0x94b5ba33, 0x9523b98b, 0x9592b8e3, 0x9603b83c, 977 0x9674b796, 0x96e6b6f1, 0x9759b64c, 0x97ceb5a8, 0x9843b505, 0x98b9b462, 978 0x9930b3c0, 0x99a9b31f, 0x9a22b27f, 0x9a9cb1df, 0x9b17b140, 0x9b94b0a2, 979 0x9c11b005, 0x9c8faf68, 0x9d0eaecc, 0x9d8eae31, 0x9e0fad97, 0x9e91acfd, 980 0x9f14ac65, 0x9f98abcd, 0xa01cab36, 0xa0a2aaa0, 0xa129aa0a, 0xa1b0a976, 981 0xa238a8e2, 0xa2c2a84f, 0xa34ca7bd, 0xa3d7a72c, 0xa463a69c, 0xa4f0a60c, 982 0xa57ea57e, 0xa60ca4f0, 0xa69ca463, 0xa72ca3d7, 0xa7bda34c, 0xa84fa2c2, 983 0xa8e2a238, 0xa976a1b0, 0xaa0aa129, 0xaaa0a0a2, 0xab36a01c, 0xabcd9f98, 984 0xac659f14, 0xacfd9e91, 0xad979e0f, 0xae319d8e, 0xaecc9d0e, 0xaf689c8f, 985 0xb0059c11, 0xb0a29b94, 0xb1409b17, 0xb1df9a9c, 0xb27f9a22, 0xb31f99a9, 986 0xb3c09930, 0xb46298b9, 0xb5059843, 0xb5a897ce, 0xb64c9759, 0xb6f196e6, 987 0xb7969674, 0xb83c9603, 0xb8e39592, 0xb98b9523, 0xba3394b5, 0xbadc9448, 988 0xbb8593dc, 0xbc2f9371, 0xbcda9307, 0xbd86929e, 0xbe329236, 0xbedf91cf, 989 0xbf8c9169, 0xc03a9105, 0xc0e990a1, 0xc198903e, 0xc2488fdd, 0xc2f88f7d, 990 0xc3a98f1d, 0xc45b8ebf, 0xc50d8e62, 0xc5c08e06, 0xc6738dab, 0xc7278d51, 991 0xc7db8cf8, 0xc8908ca1, 0xc9468c4a, 0xc9fc8bf5, 0xcab28ba0, 0xcb698b4d, 992 0xcc218afb, 0xccd98aaa, 0xcd928a5a, 0xce4b8a0c, 0xcf0489be, 0xcfbe8972, 993 0xd0798927, 0xd13488dd, 0xd1ef8894, 0xd2ab884c, 0xd3678805, 0xd42487c0, 994 0xd4e1877b, 0xd59e8738, 0xd65c86f6, 0xd71b86b6, 0xd7d98676, 0xd8988637, 995 0xd95885fa, 0xda1885be, 0xdad88583, 0xdb998549, 0xdc598511, 0xdd1b84d9, 996 0xdddc84a3, 0xde9e846e, 0xdf61843a, 0xe0238407, 0xe0e683d6, 0xe1a983a6, 997 0xe26d8377, 0xe3308349, 0xe3f4831c, 0xe4b982f1, 0xe57d82c6, 0xe642829d, 998 0xe7078276, 0xe7cd824f, 0xe892822a, 0xe9588205, 0xea1e81e2, 0xeae481c1, 999 0xebab81a0, 0xec718181, 0xed388163, 0xedff8146, 0xeec6812a, 0xef8d8110, 1000 0xf05580f6, 0xf11c80de, 0xf1e480c8, 0xf2ac80b2, 0xf374809e, 0xf43c808b, 1001 0xf5058079, 0xf5cd8068, 0xf6958059, 0xf75e804b, 0xf827803e, 0xf8ef8032, 1002 0xf9b88027, 0xfa81801e, 0xfb4a8016, 0xfc13800f, 0xfcdc800a, 0xfda58006, 1003 0xfe6e8002, 0xff378001, 0x00008000, 0x00c98001, 0x01928002, 0x025b8006, 1004 0x0324800a, 0x03ed800f, 0x04b68016, 0x057f801e, 0x06488027, 0x07118032, 1005 0x07d9803e, 0x08a2804b, 0x096b8059, 0x0a338068, 0x0afb8079, 0x0bc4808b, 1006 0x0c8c809e, 0x0d5480b2, 0x0e1c80c8, 0x0ee480de, 0x0fab80f6, 0x10738110, 1007 0x113a812a, 0x12018146, 0x12c88163, 0x138f8181, 0x145581a0, 0x151c81c1, 1008 0x15e281e2, 0x16a88205, 0x176e822a, 0x1833824f, 0x18f98276, 0x19be829d, 1009 0x1a8382c6, 0x1b4782f1, 0x1c0c831c, 0x1cd08349, 0x1d938377, 0x1e5783a6, 1010 0x1f1a83d6, 0x1fdd8407, 0x209f843a, 0x2162846e, 0x222484a3, 0x22e584d9, 1011 0x23a78511, 0x24678549, 0x25288583, 0x25e885be, 0x26a885fa, 0x27688637, 1012 0x28278676, 0x28e586b6, 0x29a486f6, 0x2a628738, 0x2b1f877b, 0x2bdc87c0, 1013 0x2c998805, 0x2d55884c, 0x2e118894, 0x2ecc88dd, 0x2f878927, 0x30428972, 1014 0x30fc89be, 0x31b58a0c, 0x326e8a5a, 0x33278aaa, 0x33df8afb, 0x34978b4d, 1015 0x354e8ba0, 0x36048bf5, 0x36ba8c4a, 0x37708ca1, 0x38258cf8, 0x38d98d51, 1016 0x398d8dab, 0x3a408e06, 0x3af38e62, 0x3ba58ebf, 0x3c578f1d, 0x3d088f7d, 1017 0x3db88fdd, 0x3e68903e, 0x3f1790a1, 0x3fc69105, 0x40749169, 0x412191cf, 1018 0x41ce9236, 0x427a929e, 0x43269307, 0x43d19371, 0x447b93dc, 0x45249448, 1019 0x45cd94b5, 0x46759523, 0x471d9592, 0x47c49603, 0x486a9674, 0x490f96e6, 1020 0x49b49759, 0x4a5897ce, 0x4afb9843, 0x4b9e98b9, 0x4c409930, 0x4ce199a9, 1021 0x4d819a22, 0x4e219a9c, 0x4ec09b17, 0x4f5e9b94, 0x4ffb9c11, 0x50989c8f, 1022 0x51349d0e, 0x51cf9d8e, 0x52699e0f, 0x53039e91, 0x539b9f14, 0x54339f98, 1023 0x54caa01c, 0x5560a0a2, 0x55f6a129, 0x568aa1b0, 0x571ea238, 0x57b1a2c2, 1024 0x5843a34c, 0x58d4a3d7, 0x5964a463, 0x59f4a4f0, 0x5a82a57e, 0x5b10a60c, 1025 0x5b9da69c, 0x5c29a72c, 0x5cb4a7bd, 0x5d3ea84f, 0x5dc8a8e2, 0x5e50a976, 1026 0x5ed7aa0a, 0x5f5eaaa0, 0x5fe4ab36, 0x6068abcd, 0x60ecac65, 0x616facfd, 1027 0x61f1ad97, 0x6272ae31, 0x62f2aecc, 0x6371af68, 0x63efb005, 0x646cb0a2, 1028 0x64e9b140, 0x6564b1df, 0x65deb27f, 0x6657b31f, 0x66d0b3c0, 0x6747b462, 1029 0x67bdb505, 0x6832b5a8, 0x68a7b64c, 0x691ab6f1, 0x698cb796, 0x69fdb83c, 1030 0x6a6eb8e3, 0x6addb98b, 0x6b4bba33, 0x6bb8badc, 0x6c24bb85, 0x6c8fbc2f, 1031 0x6cf9bcda, 0x6d62bd86, 0x6dcabe32, 0x6e31bedf, 0x6e97bf8c, 0x6efbc03a, 1032 0x6f5fc0e9, 0x6fc2c198, 0x7023c248, 0x7083c2f8, 0x70e3c3a9, 0x7141c45b, 1033 0x719ec50d, 0x71fac5c0, 0x7255c673, 0x72afc727, 0x7308c7db, 0x735fc890, 1034 0x73b6c946, 0x740bc9fc, 0x7460cab2, 0x74b3cb69, 0x7505cc21, 0x7556ccd9, 1035 0x75a6cd92, 0x75f4ce4b, 0x7642cf04, 0x768ecfbe, 0x76d9d079, 0x7723d134, 1036 0x776cd1ef, 0x77b4d2ab, 0x77fbd367, 0x7840d424, 0x7885d4e1, 0x78c8d59e, 1037 0x790ad65c, 0x794ad71b, 0x798ad7d9, 0x79c9d898, 0x7a06d958, 0x7a42da18, 1038 0x7a7ddad8, 0x7ab7db99, 0x7aefdc59, 0x7b27dd1b, 0x7b5ddddc, 0x7b92de9e, 1039 0x7bc6df61, 0x7bf9e023, 0x7c2ae0e6, 0x7c5ae1a9, 0x7c89e26d, 0x7cb7e330, 1040 0x7ce4e3f4, 0x7d0fe4b9, 0x7d3ae57d, 0x7d63e642, 0x7d8ae707, 0x7db1e7cd, 1041 0x7dd6e892, 0x7dfbe958, 0x7e1eea1e, 0x7e3feae4, 0x7e60ebab, 0x7e7fec71, 1042 0x7e9ded38, 0x7ebaedff, 0x7ed6eec6, 0x7ef0ef8d, 0x7f0af055, 0x7f22f11c, 1043 0x7f38f1e4, 0x7f4ef2ac, 0x7f62f374, 0x7f75f43c, 0x7f87f505, 0x7f98f5cd, 1044 0x7fa7f695, 0x7fb5f75e, 0x7fc2f827, 0x7fcef8ef, 0x7fd9f9b8, 0x7fe2fa81, 1045 0x7feafb4a, 0x7ff1fc13, 0x7ff6fcdc, 0x7ffafda5, 0x7ffefe6e, 0x7fffff37, 1046 }, 1047 1048 // WORD32 esbr_qmf_c[1280] = 1049 {0, -1186546, -1206390, -1062471, -1046947, -1050933, 1050 -1082485, -1122396, -1173936, -1219298, -1260772, -1316997, 1051 -1355597, -1404525, -1455498, -1490700, -1537112, -1558008, 1052 -1597930, -1608593, -1649562, -1658898, -1682410, -1670714, 1053 -1675824, -1675348, -1666012, -1638700, -1617055, -1571819, 1054 -1549493, -1485615, -1428165, -1361847, -1276919, -1194983, 1055 -1105003, -989200, -879420, -751871, -622121, -450614, 1056 -310607, -132571, 28980, 235016, 438734, 633406, 1057 864692, 1096803, 1339895, 1601598, 1848649, 2122999, 1058 2415952, 2701080, 2985538, 3316406, 3622393, 3940259, 1059 4260852, 4608839, 4942917, 5288310, 5626784, 5985136, 1060 6328515, 6684133, 7030778, 7391396, 7732716, 8075380, 1061 8419731, 8765975, 9076182, 9391100, 9708741, 10008661, 1062 10293439, 10552220, 10821819, 11039645, 11265949, 11482956, 1063 11638669, 11784539, 11913318, 12012598, 12073291, 12123661, 1064 12109488, 12083056, 12008111, 11897996, 11758285, 11561832, 1065 11320622, 11034259, 10702991, 10331429, 9886913, 9406378, 1066 8858722, 8258450, 7602359, 6891679, 6108894, 5263168, 1067 4353846, 3389734, 2341257, 1252469, 59280, -1173445, 1068 -2484238, -3873947, -5331498, -6857726, -8461326, -10140975, 1069 -11883575, -13699290, -15594127, -17566036, -19611965, -21721843, 1070 -23904831, -26167087, 28501020, 30903291, 33373088, 35932708, 1071 38533025, 41204290, 43922868, 46700800, 49538189, 52433173, 1072 55378416, 58381367, 61433531, 64532454, 67649516, 70814149, 1073 74006785, 77244462, 80490446, 83763389, 87048071, 90333705, 1074 93651234, 96956396, 100253776, 103544299, 106812777, 110070596, 1075 113307839, 116490844, 119652129, 122753697, 125824434, 128814117, 1076 131738494, 134616689, 137377942, 140068999, 142671836, 145186212, 1077 147541538, 149814954, 151962108, 153975151, 155839148, 157543750, 1078 159129320, 160514214, 161735011, 162781055, 163636638, 164280817, 1079 164732072, 164964105, 164976138, 164756002, 164293390, 163584206, 1080 162630172, 161399771, 159915461, 158141985, 156073666, 153722541, 1081 151082577, 148104219, 144853145, 141237995, 137319726, 133058683, 1082 128455292, 123513100, 118210392, 112548291, 106510609, 100137872, 1083 93365884, 86212508, 78687691, 70777610, 62453979, 53753139, 1084 44667031, 35154577, 25259525, 14954402, 4244630, -6890608, 1085 -18406457, -30341544, -42699304, -55453887, -68618818, -82200642, 1086 -96165782, -110553355, -125349764, -140533445, -156109885, -172093527, 1087 -188451898, -205199224, -222335323, -239836757, -257714784, -275952260, 1088 -294538497, -313482466, -332775584, -352393230, -372332469, -392597065, 1089 -413168712, -434060170, -455209808, -476666786, -498364569, -520338913, 1090 -542557514, -565014393, -587687684, -610575597, -633661589, -656936416, 1091 -680382715, -703969562, -727722656, -751600834, 775583025, 799679004, 1092 823849891, 848086767, 872376077, 896724080, 921081488, 945441219, 1093 969802871, 994136341, 1018434072, 1042657661, 1066807223, 1090882501, 1094 1114809220, 1138647561, 1162337001, 1185851477, 1209202759, 1232338673, 1095 1255290785, 1277993950, 1300469611, 1322658785, 1344591629, 1366224824, 1096 1387547101, 1408538024, 1429180406, 1449479132, 1469384180, 1488911052, 1097 1508046493, 1526734263, 1544999085, 1562820250, 1580163942, 1597046622, 1098 1613433982, 1629313186, 1644687903, 1659528307, 1673810498, 1687568481, 1099 1700750320, 1713362615, 1725392676, 1736819276, 1747663266, 1757882010, 1100 1767469212, 1776457603, 1784781917, 1792491148, 1799530594, 1805935261, 1101 1811668375, 1816732182, 1821133945, 1824889769, 1827931965, 1830310413, 1102 1832022798, 1833032034, 1833389596, 1833032034, 1832022798, 1830310413, 1103 1827931965, 1824889769, 1821133945, 1816732182, 1811668375, 1805935261, 1104 1799530594, 1792491148, 1784781917, 1776457603, 1767469212, 1757882010, 1105 1747663266, 1736819276, 1725392676, 1713362615, 1700750320, 1687568481, 1106 1673810498, 1659528307, 1644687903, 1629313186, 1613433982, 1597046622, 1107 1580163942, 1562820250, 1544999085, 1526734263, 1508046493, 1488911052, 1108 1469384180, 1449479132, 1429180406, 1408538024, 1387547101, 1366224824, 1109 1344591629, 1322658785, 1300469611, 1277993950, 1255290785, 1232338673, 1110 1209202759, 1185851477, 1162337001, 1138647561, 1114809220, 1090882501, 1111 1066807223, 1042657661, 1018434072, 994136341, 969802871, 945441219, 1112 921081488, 896724080, 872376077, 848086767, 823849891, 799679004, 1113 -775583025, -751600834, -727722656, -703969562, -680382715, -656936416, 1114 -633661589, -610575597, -587687684, -565014393, -542557514, -520338913, 1115 -498364569, -476666786, -455209808, -434060170, -413168712, -392597065, 1116 -372332469, -352393230, -332775584, -313482466, -294538497, -275952260, 1117 -257714784, -239836757, -222335323, -205199224, -188451898, -172093527, 1118 -156109885, -140533445, -125349764, -110553355, -96165782, -82200642, 1119 -68618818, -55453887, -42699304, -30341544, -18406457, -6890608, 1120 4244630, 14954402, 25259525, 35154577, 44667031, 53753139, 1121 62453979, 70777610, 78687691, 86212508, 93365884, 100137872, 1122 106510609, 112548291, 118210392, 123513100, 128455292, 133058683, 1123 137319726, 141237995, 144853145, 148104219, 151082577, 153722541, 1124 156073666, 158141985, 159915461, 161399771, 162630172, 163584206, 1125 164293390, 164756002, 164976138, 164964105, 164732072, 164280817, 1126 163636638, 162781055, 161735011, 160514214, 159129320, 157543750, 1127 155839148, 153975151, 151962108, 149814954, 147541538, 145186212, 1128 142671836, 140068999, 137377942, 134616689, 131738494, 128814117, 1129 125824434, 122753697, 119652129, 116490844, 113307839, 110070596, 1130 106812777, 103544299, 100253776, 96956396, 93651234, 90333705, 1131 87048071, 83763389, 80490446, 77244462, 74006785, 70814149, 1132 67649516, 64532454, 61433531, 58381367, 55378416, 52433173, 1133 49538189, 46700800, 43922868, 41204290, 38533025, 35932708, 1134 33373088, 30903291, -28501020, -26167087, -23904831, -21721843, 1135 -19611965, -17566036, -15594127, -13699290, -11883575, -10140975, 1136 -8461326, -6857726, -5331498, -3873947, -2484238, -1173445, 1137 59280, 1252469, 2341257, 3389734, 4353846, 5263168, 1138 6108894, 6891679, 7602359, 8258450, 8858722, 9406378, 1139 9886913, 10331429, 10702991, 11034259, 11320622, 11561832, 1140 11758285, 11897996, 12008111, 12083056, 12109488, 12123661, 1141 12073291, 12012598, 11913318, 11784539, 11638669, 11482956, 1142 11265949, 11039645, 10821819, 10552220, 10293439, 10008661, 1143 9708741, 9391100, 9076182, 8765975, 8419731, 8075380, 1144 7732716, 7391396, 7030778, 6684133, 6328515, 5985136, 1145 5626784, 5288310, 4942917, 4608839, 4260852, 3940259, 1146 3622393, 3316406, 2985538, 2701080, 2415952, 2122999, 1147 1848649, 1601598, 1339895, 1096803, 864692, 633406, 1148 438734, 235016, 28980, -132571, -310607, -450614, 1149 -622121, -751871, -879420, -989200, -1105003, -1194983, 1150 -1276919, -1361847, -1428165, -1485615, -1549493, -1571819, 1151 -1617055, -1638700, -1666012, -1675348, -1675824, -1670714, 1152 -1682410, -1658898, -1649562, -1608593, -1597930, -1558008, 1153 -1537112, -1490700, -1455498, -1404525, -1355597, -1316997, 1154 -1260772, -1219298, -1173936, -1122396, -1082485, -1050933, 1155 -1046947, -1062471, -1206390, -1186546, 1156 1157 0, -1186546, -1206390, -1062471, -1046947, -1050933, 1158 -1082485, -1122396, -1173936, -1219298, -1260772, -1316997, 1159 -1355597, -1404525, -1455498, -1490700, -1537112, -1558008, 1160 -1597930, -1608593, -1649562, -1658898, -1682410, -1670714, 1161 -1675824, -1675348, -1666012, -1638700, -1617055, -1571819, 1162 -1549493, -1485615, -1428165, -1361847, -1276919, -1194983, 1163 -1105003, -989200, -879420, -751871, -622121, -450614, 1164 -310607, -132571, 28980, 235016, 438734, 633406, 1165 864692, 1096803, 1339895, 1601598, 1848649, 2122999, 1166 2415952, 2701080, 2985538, 3316406, 3622393, 3940259, 1167 4260852, 4608839, 4942917, 5288310, 5626784, 5985136, 1168 6328515, 6684133, 7030778, 7391396, 7732716, 8075380, 1169 8419731, 8765975, 9076182, 9391100, 9708741, 10008661, 1170 10293439, 10552220, 10821819, 11039645, 11265949, 11482956, 1171 11638669, 11784539, 11913318, 12012598, 12073291, 12123661, 1172 12109488, 12083056, 12008111, 11897996, 11758285, 11561832, 1173 11320622, 11034259, 10702991, 10331429, 9886913, 9406378, 1174 8858722, 8258450, 7602359, 6891679, 6108894, 5263168, 1175 4353846, 3389734, 2341257, 1252469, 59280, -1173445, 1176 -2484238, -3873947, -5331498, -6857726, -8461326, -10140975, 1177 -11883575, -13699290, -15594127, -17566036, -19611965, -21721843, 1178 -23904831, -26167087, 28501020, 30903291, 33373088, 35932708, 1179 38533025, 41204290, 43922868, 46700800, 49538189, 52433173, 1180 55378416, 58381367, 61433531, 64532454, 67649516, 70814149, 1181 74006785, 77244462, 80490446, 83763389, 87048071, 90333705, 1182 93651234, 96956396, 100253776, 103544299, 106812777, 110070596, 1183 113307839, 116490844, 119652129, 122753697, 125824434, 128814117, 1184 131738494, 134616689, 137377942, 140068999, 142671836, 145186212, 1185 147541538, 149814954, 151962108, 153975151, 155839148, 157543750, 1186 159129320, 160514214, 161735011, 162781055, 163636638, 164280817, 1187 164732072, 164964105, 164976138, 164756002, 164293390, 163584206, 1188 162630172, 161399771, 159915461, 158141985, 156073666, 153722541, 1189 151082577, 148104219, 144853145, 141237995, 137319726, 133058683, 1190 128455292, 123513100, 118210392, 112548291, 106510609, 100137872, 1191 93365884, 86212508, 78687691, 70777610, 62453979, 53753139, 1192 44667031, 35154577, 25259525, 14954402, 4244630, -6890608, 1193 -18406457, -30341544, -42699304, -55453887, -68618818, -82200642, 1194 -96165782, -110553355, -125349764, -140533445, -156109885, -172093527, 1195 -188451898, -205199224, -222335323, -239836757, -257714784, -275952260, 1196 -294538497, -313482466, -332775584, -352393230, -372332469, -392597065, 1197 -413168712, -434060170, -455209808, -476666786, -498364569, -520338913, 1198 -542557514, -565014393, -587687684, -610575597, -633661589, -656936416, 1199 -680382715, -703969562, -727722656, -751600834, 775583025, 799679004, 1200 823849891, 848086767, 872376077, 896724080, 921081488, 945441219, 1201 969802871, 994136341, 1018434072, 1042657661, 1066807223, 1090882501, 1202 1114809220, 1138647561, 1162337001, 1185851477, 1209202759, 1232338673, 1203 1255290785, 1277993950, 1300469611, 1322658785, 1344591629, 1366224824, 1204 1387547101, 1408538024, 1429180406, 1449479132, 1469384180, 1488911052, 1205 1508046493, 1526734263, 1544999085, 1562820250, 1580163942, 1597046622, 1206 1613433982, 1629313186, 1644687903, 1659528307, 1673810498, 1687568481, 1207 1700750320, 1713362615, 1725392676, 1736819276, 1747663266, 1757882010, 1208 1767469212, 1776457603, 1784781917, 1792491148, 1799530594, 1805935261, 1209 1811668375, 1816732182, 1821133945, 1824889769, 1827931965, 1830310413, 1210 1832022798, 1833032034, 1833389596, 1833032034, 1832022798, 1830310413, 1211 1827931965, 1824889769, 1821133945, 1816732182, 1811668375, 1805935261, 1212 1799530594, 1792491148, 1784781917, 1776457603, 1767469212, 1757882010, 1213 1747663266, 1736819276, 1725392676, 1713362615, 1700750320, 1687568481, 1214 1673810498, 1659528307, 1644687903, 1629313186, 1613433982, 1597046622, 1215 1580163942, 1562820250, 1544999085, 1526734263, 1508046493, 1488911052, 1216 1469384180, 1449479132, 1429180406, 1408538024, 1387547101, 1366224824, 1217 1344591629, 1322658785, 1300469611, 1277993950, 1255290785, 1232338673, 1218 1209202759, 1185851477, 1162337001, 1138647561, 1114809220, 1090882501, 1219 1066807223, 1042657661, 1018434072, 994136341, 969802871, 945441219, 1220 921081488, 896724080, 872376077, 848086767, 823849891, 799679004, 1221 -775583025, -751600834, -727722656, -703969562, -680382715, -656936416, 1222 -633661589, -610575597, -587687684, -565014393, -542557514, -520338913, 1223 -498364569, -476666786, -455209808, -434060170, -413168712, -392597065, 1224 -372332469, -352393230, -332775584, -313482466, -294538497, -275952260, 1225 -257714784, -239836757, -222335323, -205199224, -188451898, -172093527, 1226 -156109885, -140533445, -125349764, -110553355, -96165782, -82200642, 1227 -68618818, -55453887, -42699304, -30341544, -18406457, -6890608, 1228 4244630, 14954402, 25259525, 35154577, 44667031, 53753139, 1229 62453979, 70777610, 78687691, 86212508, 93365884, 100137872, 1230 106510609, 112548291, 118210392, 123513100, 128455292, 133058683, 1231 137319726, 141237995, 144853145, 148104219, 151082577, 153722541, 1232 156073666, 158141985, 159915461, 161399771, 162630172, 163584206, 1233 164293390, 164756002, 164976138, 164964105, 164732072, 164280817, 1234 163636638, 162781055, 161735011, 160514214, 159129320, 157543750, 1235 155839148, 153975151, 151962108, 149814954, 147541538, 145186212, 1236 142671836, 140068999, 137377942, 134616689, 131738494, 128814117, 1237 125824434, 122753697, 119652129, 116490844, 113307839, 110070596, 1238 106812777, 103544299, 100253776, 96956396, 93651234, 90333705, 1239 87048071, 83763389, 80490446, 77244462, 74006785, 70814149, 1240 67649516, 64532454, 61433531, 58381367, 55378416, 52433173, 1241 49538189, 46700800, 43922868, 41204290, 38533025, 35932708, 1242 33373088, 30903291, -28501020, -26167087, -23904831, -21721843, 1243 -19611965, -17566036, -15594127, -13699290, -11883575, -10140975, 1244 -8461326, -6857726, -5331498, -3873947, -2484238, -1173445, 1245 59280, 1252469, 2341257, 3389734, 4353846, 5263168, 1246 6108894, 6891679, 7602359, 8258450, 8858722, 9406378, 1247 9886913, 10331429, 10702991, 11034259, 11320622, 11561832, 1248 11758285, 11897996, 12008111, 12083056, 12109488, 12123661, 1249 12073291, 12012598, 11913318, 11784539, 11638669, 11482956, 1250 11265949, 11039645, 10821819, 10552220, 10293439, 10008661, 1251 9708741, 9391100, 9076182, 8765975, 8419731, 8075380, 1252 7732716, 7391396, 7030778, 6684133, 6328515, 5985136, 1253 5626784, 5288310, 4942917, 4608839, 4260852, 3940259, 1254 3622393, 3316406, 2985538, 2701080, 2415952, 2122999, 1255 1848649, 1601598, 1339895, 1096803, 864692, 633406, 1256 438734, 235016, 28980, -132571, -310607, -450614, 1257 -622121, -751871, -879420, -989200, -1105003, -1194983, 1258 -1276919, -1361847, -1428165, -1485615, -1549493, -1571819, 1259 -1617055, -1638700, -1666012, -1675348, -1675824, -1670714, 1260 -1682410, -1658898, -1649562, -1608593, -1597930, -1558008, 1261 -1537112, -1490700, -1455498, -1404525, -1355597, -1316997, 1262 -1260772, -1219298, -1173936, -1122396, -1082485, -1050933, 1263 -1046947, -1062471, -1206390, -1186546}, 1264 1265 // WORD32 esbr_qmf_c_24[480] = 1266 {0, -1110444, -1061450, -1173936, -1298255, -1421516, 1267 -1537112, -1605039, -1666735, -1675824, -1647804, -1564377, 1268 -1428165, -1222295, -952607, -622121, -191917, 302922, 1269 864692, 1514364, 2220650, 2985538, 3834304, 4720199, 1270 5626784, 6565594, 7505170, 8419731, 9286127, 10103587, 1271 10821819, 11410620, 11827466, 12073291, 12091866, 11851426, 1272 11320622, 10455283, 9223826, 7602359, 5545077, 3040242, 1273 59280, -3410710, -7392260, -11883575, -16908733, -22449506, 1274 28501020, 35079501, 42110483, 49538189, 57380384, 65571474, 1275 74006785, 82672408, 91439548, 100253776, 108984656, 117544606, 1276 125824434, 133657291, 140936611, 147541538, 153304137, 158072273, 1277 161735011, 164066091, 164968116, 164293390, 161809905, 157452545, 1278 151082577, 142443045, 131524220, 118210392, 102262118, 83704236, 1279 62453979, 38325395, 11384478, -18406457, -51202360, -86855689, 1280 -125349764, -166765646, -210911257, -257714784, -307167810, -359039643, 1281 -413168712, -469514460, -527745114, -587687684, -649178140, -711887260, 1282 775583025, 840007809, 904843216, 969802871, 1034583131, 1098858074, 1283 1162337001, 1224626701, 1285485837, 1344591629, 1401541050, 1456114148, 1284 1508046493, 1556879862, 1602509075, 1644687903, 1682982487, 1717372635, 1285 1747663266, 1773461472, 1794837630, 1811668375, 1823637828, 1830881208, 1286 1833389596, 1830881208, 1823637828, 1811668375, 1794837630, 1773461472, 1287 1747663266, 1717372635, 1682982487, 1644687903, 1602509075, 1556879862, 1288 1508046493, 1456114148, 1401541050, 1344591629, 1285485837, 1224626701, 1289 1162337001, 1098858074, 1034583131, 969802871, 904843216, 840007809, 1290 -775583025, -711887260, -649178140, -587687684, -527745114, -469514460, 1291 -413168712, -359039643, -307167810, -257714784, -210911257, -166765646, 1292 -125349764, -86855689, -51202360, -18406457, 11384478, 38325395, 1293 62453979, 83704236, 102262118, 118210392, 131524220, 142443045, 1294 151082577, 157452545, 161809905, 164293390, 164968116, 164066091, 1295 161735011, 158072273, 153304137, 147541538, 140936611, 133657291, 1296 125824434, 117544606, 108984656, 100253776, 91439548, 82672408, 1297 74006785, 65571474, 57380384, 49538189, 42110483, 35079501, 1298 -28501020, -22449506, -16908733, -11883575, -7392260, -3410710, 1299 59280, 3040242, 5545077, 7602359, 9223826, 10455283, 1300 11320622, 11851426, 12091866, 12073291, 11827466, 11410620, 1301 10821819, 10103587, 9286127, 8419731, 7505170, 6565594, 1302 5626784, 4720199, 3834304, 2985538, 2220650, 1514364, 1303 864692, 302922, -191917, -622121, -952607, -1222295, 1304 -1428165, -1564377, -1647804, -1675824, -1666735, -1605039, 1305 -1537112, -1421516, -1298255, -1173936, -1061450, -1110444, 1306 1307 0, -1110444, -1061450, -1173936, -1298255, -1421516, 1308 -1537112, -1605039, -1666735, -1675824, -1647804, -1564377, 1309 -1428165, -1222295, -952607, -622121, -191917, 302922, 1310 864692, 1514364, 2220650, 2985538, 3834304, 4720199, 1311 5626784, 6565594, 7505170, 8419731, 9286127, 10103587, 1312 10821819, 11410620, 11827466, 12073291, 12091866, 11851426, 1313 11320622, 10455283, 9223826, 7602359, 5545077, 3040242, 1314 59280, -3410710, -7392260, -11883575, -16908733, -22449506, 1315 28501020, 35079501, 42110483, 49538189, 57380384, 65571474, 1316 74006785, 82672408, 91439548, 100253776, 108984656, 117544606, 1317 125824434, 133657291, 140936611, 147541538, 153304137, 158072273, 1318 161735011, 164066091, 164968116, 164293390, 161809905, 157452545, 1319 151082577, 142443045, 131524220, 118210392, 102262118, 83704236, 1320 62453979, 38325395, 11384478, -18406457, -51202360, -86855689, 1321 -125349764, -166765646, -210911257, -257714784, -307167810, -359039643, 1322 -413168712, -469514460, -527745114, -587687684, -649178140, -711887260, 1323 775583025, 840007809, 904843216, 969802871, 1034583131, 1098858074, 1324 1162337001, 1224626701, 1285485837, 1344591629, 1401541050, 1456114148, 1325 1508046493, 1556879862, 1602509075, 1644687903, 1682982487, 1717372635, 1326 1747663266, 1773461472, 1794837630, 1811668375, 1823637828, 1830881208, 1327 1833389596, 1830881208, 1823637828, 1811668375, 1794837630, 1773461472, 1328 1747663266, 1717372635, 1682982487, 1644687903, 1602509075, 1556879862, 1329 1508046493, 1456114148, 1401541050, 1344591629, 1285485837, 1224626701, 1330 1162337001, 1098858074, 1034583131, 969802871, 904843216, 840007809, 1331 -775583025, -711887260, -649178140, -587687684, -527745114, -469514460, 1332 -413168712, -359039643, -307167810, -257714784, -210911257, -166765646, 1333 -125349764, -86855689, -51202360, -18406457, 11384478, 38325395, 1334 62453979, 83704236, 102262118, 118210392, 131524220, 142443045, 1335 151082577, 157452545, 161809905, 164293390, 164968116, 164066091, 1336 161735011, 158072273, 153304137, 147541538, 140936611, 133657291, 1337 125824434, 117544606, 108984656, 100253776, 91439548, 82672408, 1338 74006785, 65571474, 57380384, 49538189, 42110483, 35079501, 1339 -28501020, -22449506, -16908733, -11883575, -7392260, -3410710, 1340 59280, 3040242, 5545077, 7602359, 9223826, 10455283, 1341 11320622, 11851426, 12091866, 12073291, 11827466, 11410620, 1342 10821819, 10103587, 9286127, 8419731, 7505170, 6565594, 1343 5626784, 4720199, 3834304, 2985538, 2220650, 1514364, 1344 864692, 302922, -191917, -622121, -952607, -1222295, 1345 -1428165, -1564377, -1647804, -1675824, -1666735, -1605039, 1346 -1537112, -1421516, -1298255, -1173936, -1061450, -1110444}, 1347 1348 // const WORD32 esbr_w_32[2 * 30] = 1349 {0, 2147483647, 0, 2147483647, 0, 2147483647, 1350 418953276, 2106220350, 821806413, 1984016188, 1193077990, 1785567395, 1351 821806413, 1984016188, 1518500249, 1518500249, 1984016188, 821806413, 1352 1193077990, 1785567395, 1984016188, 821806413, 2106220350, -418953276, 1353 1518500249, 1518500249, 2147483647, 0, 1518500249, -1518500249, 1354 1785567395, 1193077990, 1984016188, -821806413, 418953276, -2106220350, 1355 1984016188, 821806413, 1518500249, -1518500249, -821806413, -1984016188, 1356 2106220350, 418953276, 821806413, -1984016188, -1785567395, -1193077990, 1357 0, 2147483647, 0, 2147483647, 0, 2147483647, 1358 1518500249, 1518500249, 2147483647, 0, 1518500249, -1518500249}, 1359 1360 // const WORD32 esbr_w_16[2 * 12] = 1361 {0, 2147483647, 0, 2147483647, 0, 2147483647, 1362 821806413, 1984016188, 1518500249, 1518500249, 1984016188, 821806413, 1363 1518500249, 1518500249, 2147483647, 0, 1518500249, -1518500249, 1364 1984016188, 821806413, 1518500249, -1518500249, -821806413, -1984016188}, 1365 1366 // WORD32 ixheaacd_esbr_sin_cos_twiddle_l64[64] = 1367 {(WORD32)0x1921d1f, (WORD32)0x7ffd8859, (WORD32)0x7fe9cbbe, 1368 (WORD32)0x4b6195d, (WORD32)0x7d95b9e, (WORD32)0x7fc25595, 1369 (WORD32)0x7f872bf1, (WORD32)0xafb6805, (WORD32)0xe1bc2e3, 1370 (WORD32)0x7f3857f4, (WORD32)0x7ed5e5c5, (WORD32)0x1139f0ce, 1371 (WORD32)0x145576b1, (WORD32)0x7e5fe492, (WORD32)0x7dd6668d, 1372 (WORD32)0x176dd9de, (WORD32)0x1a82a025, (WORD32)0x7d3980eb, 1373 (WORD32)0x7c894bdc, (WORD32)0x1d934fe5, (WORD32)0x209f701c, 1374 (WORD32)0x7bc5e28e, (WORD32)0x7aef6322, (WORD32)0x23a6887e, 1375 (WORD32)0x26a82185, (WORD32)0x7a05eeac, (WORD32)0x7909a92b, 1376 (WORD32)0x29a3c484, (WORD32)0x2c98fbba, (WORD32)0x77fab987, 1377 (WORD32)0x76d94987, (WORD32)0x2f875261, (WORD32)0x326e54c7, 1378 (WORD32)0x75a585ce, (WORD32)0x745f9dd0, (WORD32)0x354d9056, 1379 (WORD32)0x382493af, (WORD32)0x7307c3cf, (WORD32)0x719e2cd1, 1380 (WORD32)0x3af2eeb6, (WORD32)0x3db832a5, (WORD32)0x70231098, 1381 (WORD32)0x6e96a99b, (WORD32)0x4073f21c, (WORD32)0x4325c134, 1382 (WORD32)0x6cf934fa, (WORD32)0x6b4af277, (WORD32)0x45cd358e, 1383 (WORD32)0x4869e664, (WORD32)0x698c246b, (WORD32)0x67bd0fbb, 1384 (WORD32)0x4afb6c97, (WORD32)0x4d8162c3, (WORD32)0x65ddfbd2, 1385 (WORD32)0x63ef328e, (WORD32)0x4ffb654c, (WORD32)0x5269126d, 1386 (WORD32)0x61f1003e, (WORD32)0x5fe3b38c, (WORD32)0x54ca0a49, 1387 (WORD32)0x571deef8, (WORD32)0x5dc79d7b, (WORD32)0x5b9d1152, 1388 (WORD32)0x59646497}, 1389 1390 // WORD32 ixheaacd_esbr_alt_sin_twiddle_l64[32]= 1391 { 1392 (WORD32)0x647d97c, (WORD32)0x7fd8878c, (WORD32)0xc8bd35d, 1393 (WORD32)0x7f62368e, (WORD32)0x12c8106e, (WORD32)0x7e9d55fb, 1394 (WORD32)0x18f8b83c, (WORD32)0x7d8a5f3e, (WORD32)0x1f19f97a, 1395 (WORD32)0x7c29fbed, (WORD32)0x25280c5d, (WORD32)0x7a7d055a, 1396 (WORD32)0x2b1f34eb, (WORD32)0x78848412, (WORD32)0x30fbc54c, 1397 (WORD32)0x7641af3b, (WORD32)0x36ba2013, (WORD32)0x73b5ebd0, 1398 (WORD32)0x3c56ba6f, (WORD32)0x70e2cbc5, (WORD32)0x41ce1e64, 1399 (WORD32)0x6dca0d13, (WORD32)0x471cece6, (WORD32)0x6a6d98a3, 1400 (WORD32)0x4c3fdff2, (WORD32)0x66cf811f, (WORD32)0x5133cc93, 1401 (WORD32)0x62f201ab, (WORD32)0x55f5a4d1, (WORD32)0x5ed77c88, 1402 (WORD32)0x5a827999, (WORD32)0x5a827999, 1403 }, 1404 1405 // const WORD32 ixheaacd_esbr_sin_cos_twiddle_l32[32] = 1406 {(WORD32)0x3242abf, (WORD32)0x7ff62181, (WORD32)0x7fa736b3, 1407 (WORD32)0x96a9049, (WORD32)0xfab272b, (WORD32)0x7f0991c3, 1408 (WORD32)0x7e1d93e9, (WORD32)0x15e21444, (WORD32)0x1c0b826a, 1409 (WORD32)0x7ce3ceb1, (WORD32)0x7b5d039d, (WORD32)0x2223a4c5, 1410 (WORD32)0x2826b928, (WORD32)0x798a23b0, (WORD32)0x776c4eda, 1411 (WORD32)0x2e110a62, (WORD32)0x33def287, (WORD32)0x7504d344, 1412 (WORD32)0x72552c84, (WORD32)0x398cdd32, (WORD32)0x3f1749b7, 1413 (WORD32)0x6f5f02b1, (WORD32)0x6c24295f, (WORD32)0x447acd50, 1414 (WORD32)0x49b41533, (WORD32)0x68a69e80, (WORD32)0x64e88925, 1415 (WORD32)0x4ebfe8a4, (WORD32)0x539b2aef, (WORD32)0x60ec382f, 1416 (WORD32)0x5cb420df, (WORD32)0x5842dd54}, 1417 1418 // const WORD32 ixheaacd_esbr_alt_sin_twiddle_l32[16] = 1419 {(WORD32)0xc8bd35e, (WORD32)0x7f62368e, (WORD32)0x18f8b83c, 1420 (WORD32)0x7d8a5f3f, (WORD32)0x25280c5d, (WORD32)0x7a7d055a, 1421 (WORD32)0x30fbc54d, (WORD32)0x7641af3c, (WORD32)0x3c56ba70, 1422 (WORD32)0x70e2cbc5, (WORD32)0x471cece6, (WORD32)0x6a6d98a3, 1423 (WORD32)0x5133cc94, (WORD32)0x62f201ac, (WORD32)0x5a827999, 1424 (WORD32)0x5a827999}, 1425 1426 // const WORD32 ixheaacd_esbr_t_cos_sin_l32[32+32] = //exp[-i * pi/32* 3/4 * 1427 // (k 1428 // +0.5)] 1429 {(WORD32)0x7fe9cbbe, (WORD32)0x4b6195d, (WORD32)0x7f3857f4, 1430 (WORD32)0xe1bc2e3, (WORD32)0x7dd6668d, (WORD32)0x176dd9de, 1431 (WORD32)0x7bc5e28e, (WORD32)0x209f701c, (WORD32)0x7909a92b, 1432 (WORD32)0x29a3c484, (WORD32)0x75a585ce, (WORD32)0x326e54c7, 1433 (WORD32)0x719e2cd1, (WORD32)0x3af2eeb6, (WORD32)0x6cf934fa, 1434 (WORD32)0x4325c134, (WORD32)0x67bd0fbb, (WORD32)0x4afb6c97, 1435 (WORD32)0x61f1003e, (WORD32)0x5269126d, (WORD32)0x5b9d1152, 1436 (WORD32)0x59646497, (WORD32)0x54ca0a49, (WORD32)0x5fe3b38c, 1437 (WORD32)0x4d8162c3, (WORD32)0x65ddfbd2, (WORD32)0x45cd358e, 1438 (WORD32)0x6b4af277, (WORD32)0x3db832a5, (WORD32)0x70231098, 1439 (WORD32)0x354d9056, (WORD32)0x745f9dd0, (WORD32)0x2c98fbba, 1440 (WORD32)0x77fab987, (WORD32)0x23a6887e, (WORD32)0x7aef6322, 1441 (WORD32)0x1a82a025, (WORD32)0x7d3980eb, (WORD32)0x1139f0ce, 1442 (WORD32)0x7ed5e5c5, (WORD32)0x7d95b9e, (WORD32)0x7fc25595, 1443 (WORD32)0xfe6de2e1, (WORD32)0x7ffd8859, (WORD32)0xf50497fb, 1444 (WORD32)0x7f872bf1, (WORD32)0xebaa894f, (WORD32)0x7e5fe492, 1445 (WORD32)0xe26cb01b, (WORD32)0x7c894bdc, (WORD32)0xd957de7b, 1446 (WORD32)0x7a05eeac, (WORD32)0xd078ad9f, (WORD32)0x76d94987, 1447 (WORD32)0xc7db6c51, (WORD32)0x7307c3cf, (WORD32)0xbf8c0de4, 1448 (WORD32)0x6e96a99b, (WORD32)0xb796199c, (WORD32)0x698c246b, 1449 (WORD32)0xb0049ab4, (WORD32)0x63ef328e, (WORD32)0xa8e21108, 1450 (WORD32)0x5dc79d7b}, 1451 1452 // const WORD32 ixheaacd_esbr_sin_cos_twiddle_l24[24] = 1453 {(WORD32)0x430238f, (WORD32)0x7fee74a1, (WORD32)0x7f62368e, 1454 (WORD32)0xc8bd35e, (WORD32)0x14d9c245, (WORD32)0x7e4a5425, 1455 (WORD32)0x7ca80037, (WORD32)0x1d10d5c1, (WORD32)0x25280c5d, 1456 (WORD32)0x7a7d055a, (WORD32)0x77cbc3f1, (WORD32)0x2d168792, 1457 (WORD32)0x34d3957e, (WORD32)0x74972f91, (WORD32)0x70e2cbc5, 1458 (WORD32)0x3c56ba70, (WORD32)0x4397ba32, (WORD32)0x6cb2a836, 1459 (WORD32)0x680b5c33, (WORD32)0x4a8ea111, (WORD32)0x5133cc94, 1460 (WORD32)0x62f201ac, (WORD32)0x5d6c2f99, (WORD32)0x577ff3da}, 1461 1462 // const WORD32 ixheaacd_esbr_alt_sin_twiddle_l24[12] = 1463 {(WORD32)0x10b5150f, (WORD32)0x7ee7aa4b, (WORD32)0x2120fb83, 1464 (WORD32)0x7ba3751c, (WORD32)0x30fbc54d, (WORD32)0x7641af3c, 1465 (WORD32)0x3fffffff, (WORD32)0x6ed9eba1, (WORD32)0x4debe4fe, 1466 (WORD32)0x658c9a2d, (WORD32)0x5a827999, (WORD32)0x5a827999}, 1467 1468 // const WORD32 ixheaacd_esbr_t_cos_sin_l24[24+24] = //exp[-i * pi/24* 11/8 1469 // * (k 1470 // +0.5)] 1471 {(WORD32)0x7fded52e, (WORD32)0x5c1f4e6, (WORD32)0x7ed5e5c5, 1472 (WORD32)0x1139f0ce, (WORD32)0x7cc62bde, (WORD32)0x1c8e3bbe, 1473 (WORD32)0x79b3ecde, (WORD32)0x27a75c94, (WORD32)0x75a585ce, 1474 (WORD32)0x326e54c7, (WORD32)0x70a35e24, (WORD32)0x3cccd003, 1475 (WORD32)0x6ab7d661, (WORD32)0x46ad5277, (WORD32)0x63ef328e, 1476 (WORD32)0x4ffb654c, (WORD32)0x5c5780d1, (WORD32)0x58a3c117, 1477 (WORD32)0x54007c50, (WORD32)0x609475c2, (WORD32)0x4afb6c97, 1478 (WORD32)0x67bd0fbb, (WORD32)0x415b01cd, (WORD32)0x6e0eba0a, 1479 (WORD32)0x37332dfc, (WORD32)0x737c5d0a, (WORD32)0x2c98fbba, 1480 (WORD32)0x77fab987, (WORD32)0x21a26295, (WORD32)0x7b808014, 1481 (WORD32)0x1666198d, (WORD32)0x7e06644a, (WORD32)0xafb6805, 1482 (WORD32)0x7f872bf1, (WORD32)0xff79f587, (WORD32)0x7fffb9cf, 1483 (WORD32)0xf3f998c1, (WORD32)0x7f6f141d, (WORD32)0xe8922622, 1484 (WORD32)0x7dd6668d, (WORD32)0xdd5b3e7c, (WORD32)0x7b38ffdc, 1485 (WORD32)0xd26c1e09, (WORD32)0x779c4afa, (WORD32)0xc7db6c51, 1486 (WORD32)0x7307c3cf, (WORD32)0xbdbf0d30, (WORD32)0x6d84e7b6}, 1487 1488 // const WORD32 ixheaacd_esbr_sin_cos_twiddle_l16[16] = 1489 {(WORD32)0x647d97c, (WORD32)0x7fd8878d, (WORD32)0x7e9d55fb, 1490 (WORD32)0x12c8106e, (WORD32)0x1f19f97b, (WORD32)0x7c29fbed, 1491 (WORD32)0x78848413, (WORD32)0x2b1f34eb, (WORD32)0x36ba2013, 1492 (WORD32)0x73b5ebd0, (WORD32)0x6dca0d14, (WORD32)0x41ce1e64, 1493 (WORD32)0x4c3fdff3, (WORD32)0x66cf811f, (WORD32)0x5ed77c89, 1494 (WORD32)0x55f5a4d2}, 1495 1496 // const WORD32 ixheaacd_esbr_alt_sin_twiddle_l16[8] = 1497 {(WORD32)0x18f8b83c, (WORD32)0x7d8a5f3f, (WORD32)0x30fbc54d, 1498 (WORD32)0x7641af3c, (WORD32)0x471cece6, (WORD32)0x6a6d98a3, 1499 (WORD32)0x5a827999, (WORD32)0x5a827999}, 1500 1501 // const WORD32 ixheaacd_esbr_t_cos_sin_l16[16+16] = //exp[-i * pi/16* 5/4 * 1502 // (k 1503 // +0.5)] 1504 {(WORD32)0x7fc25595, (WORD32)0x7d95b9e, (WORD32)0x7dd6668d, 1505 (WORD32)0x176dd9de, (WORD32)0x7a05eeac, (WORD32)0x26a82185, 1506 (WORD32)0x745f9dd0, (WORD32)0x354d9056, (WORD32)0x6cf934fa, 1507 (WORD32)0x4325c134, (WORD32)0x63ef328e, (WORD32)0x4ffb654c, 1508 (WORD32)0x59646497, (WORD32)0x5b9d1152, (WORD32)0x4d8162c3, 1509 (WORD32)0x65ddfbd2, (WORD32)0x4073f21c, (WORD32)0x6e96a99b, 1510 (WORD32)0x326e54c7, (WORD32)0x75a585ce, (WORD32)0x23a6887e, 1511 (WORD32)0x7aef6322, (WORD32)0x145576b1, (WORD32)0x7e5fe492, 1512 (WORD32)0x4b6195d, (WORD32)0x7fe9cbbe, (WORD32)0xf50497fb, 1513 (WORD32)0x7f872bf1, (WORD32)0xe57d5fdb, (WORD32)0x7d3980eb, 1514 (WORD32)0xd65c3b7c, (WORD32)0x7909a92b}, 1515 1516 // WORD16 ixheaacd_sbr_t_cos_sin_l32_eld[32+32]; 1517 { 1518 (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, 1519 (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, 1520 (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, 1521 (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, 1522 (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, 1523 (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, 1524 (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, 1525 (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, 1526 (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, 1527 (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, 1528 (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, 1529 (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, 1530 (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, 1531 (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, 1532 (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)0x5a82, 1533 (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82, 1534 }, 1535 1536 // WORD16 qmf_c_eld[640]; 1537 {185, 386, 565, 759, 970, 1200, 1447, 1707, 1977, 2255, 1538 2535, 2818, 3099, 3379, 3657, 3933, 4208, 4481, 4754, 5027, 1539 5301, 5576, 5852, 6129, 6407, 6685, 6963, 7242, 7520, 7797, 1540 8073, 8349, 8624, 8898, 9172, 9445, 9717, 9989, 10259, 10528, 1541 10796, 11061, 11325, 11586, 11845, 12102, 12357, 12611, 12863, 13114, 1542 13364, 13612, 13858, 14103, 14344, 14581, 14813, 15040, 15260, 15473, 1543 15678, 15876, 16069, 16265, 16408, 16497, 16589, 16674, 16752, 16820, 1544 16879, 16928, 16969, 17001, 17027, 17045, 17057, 17063, 17063, 17056, 1545 17044, 17024, 16997, 16963, 16920, 16869, 16809, 16741, 16664, 16578, 1546 16484, 16381, 16270, 16150, 16023, 15887, 15743, 15590, 15430, 15262, 1547 15087, 14903, 14713, 14515, 14310, 14099, 13882, 13659, 13431, 13197, 1548 12958, 12715, 12467, 12214, 11958, 11698, 11435, 11168, 10899, 10627, 1549 10354, 10078, 9801, 9522, 9243, 8963, 8683, 8403, -8120, -7836, 1550 -7553, -7270, -6989, -6710, -6431, -6155, -5881, -5610, -5341, -5076, 1551 -4813, -4554, -4299, -4047, -3799, -3555, -3315, -3080, -2848, -2622, 1552 -2399, -2182, -1969, -1761, -1558, -1360, -1167, -979, -796, -619, 1553 -447, -280, -120, 36, 186, 330, 468, 601, 727, 848, 1554 964, 1073, 1177, 1275, 1368, 1454, 1535, 1610, 1679, 1742, 1555 1800, 1852, 1898, 1939, 1974, 2004, 2030, 2050, 2066, 2078, 1556 2085, 2087, 2088, 2090, 2087, 2080, 2069, 2056, 2039, 2019, 1557 1996, 1970, 1942, 1911, 1878, 1842, 1804, 1765, 1723, 1680, 1558 1636, 1590, 1544, 1496, 1449, 1400, 1352, 1303, 1255, 1206, 1559 1158, 1109, 1062, 1015, 969, 924, 880, 837, 795, 754, 1560 714, 676, 640, 606, 572, 540, 510, 480, 452, 426, 1561 400, 376, 353, 332, 311, 291, 273, 255, 239, 223, 1562 208, 194, 181, 169, 158, 147, -138, -129, -121, -113, 1563 -107, -100, -94, -88, -83, -78, -73, -68, -62, -57, 1564 -53, -48, -43, -39, -35, -32, -28, -24, -21, -19, 1565 -16, -13, -9, -5, -1, 2, 7, 10, 10, 15, 1566 20, 24, 28, 33, 36, 30, 22, 15, 9, 3, 1567 -3, -10, -17, -26, -35, -43, -50, -57, -62, -67, 1568 -72, -75, -76, -77, -77, -76, -74, -71, -68, -63, 1569 -59, -54, -49, -44, -38, -31, -25, -19, -13, -7, 1570 -2, 2, 5, 8, 10, 11, 11, 11, 11, 12, 1571 12, 12, 11, 9, 5, 2, 11, 20, 26, 31, 1572 36, 41, 45, 45, 44, 43, 40, 37, 33, 32, 1573 28, 23, 18, 13, 8, 1, -5, -8, -9, -11, 1574 -13, -16, -20, -21, -19, -17, -16, -15, -16, -17, 1575 -18, -19, -20, -20, 21, 21, 20, 19, 18, 18, 1576 17, 15, 13, 10, 5, 4, 4, 4, 3, 3, 1577 2, 1, 1, 0, 0, 0, -2, 1, 2, 0, 1578 1, 1, -1, -2, -3, -6, 0, 3, 2, 1, 1579 1, 1, 1, 1, 0, 2, 2, 2, 1, 1, 1580 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1581 1, 0, 0, 0, 0, 0, 0, -1, -3, -3, 1582 -3, -3, -3, -3, -3, -3, -4, -4, -2, -1, 1583 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 1584 3, 1, -1, 0, -1, -1, 1, 1, 1, 10, 1585 4, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1586 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1588 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 1589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1591 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1601 1602 // WORD16 qmf_c_eld2[640]; 1603 1604 {185, 386, 565, 759, 970, 1200, 1447, 1707, 1977, 2255, 1605 2535, 2818, 3099, 3379, 3657, 3933, 4208, 4481, 4754, 5027, 1606 5301, 5576, 5852, 6129, 6407, 6685, 6963, 7242, 7520, 7797, 1607 8073, 8349, 8624, 8898, 9172, 9445, 9717, 9989, 10259, 10528, 1608 10796, 11061, 11325, 11586, 11845, 12102, 12357, 12611, 12863, 13114, 1609 13364, 13612, 13858, 14103, 14344, 14581, 14813, 15040, 15260, 15473, 1610 15678, 15876, 16069, 16265, 16408, 16497, 16589, 16674, 16752, 16820, 1611 16879, 16928, 16969, 17001, 17027, 17045, 17057, 17063, 17063, 17056, 1612 17044, 17024, 16997, 16963, 16920, 16869, 16809, 16741, 16664, 16578, 1613 16484, 16381, 16270, 16150, 16023, 15887, 15743, 15590, 15430, 15262, 1614 15087, 14903, 14713, 14515, 14310, 14099, 13882, 13659, 13431, 13197, 1615 12958, 12715, 12467, 12214, 11958, 11698, 11435, 11168, 10899, 10627, 1616 10354, 10078, 9801, 9522, 9243, 8963, 8683, 8403, -8120, -7836, 1617 -7553, -7270, -6989, -6710, -6431, -6155, -5881, -5610, -5341, -5076, 1618 -4813, -4554, -4299, -4047, -3799, -3555, -3315, -3080, -2848, -2622, 1619 -2399, -2182, -1969, -1761, -1558, -1360, -1167, -979, -796, -619, 1620 -447, -280, -120, 36, 186, 330, 468, 601, 727, 848, 1621 964, 1073, 1177, 1275, 1368, 1454, 1535, 1610, 1679, 1742, 1622 1800, 1852, 1898, 1939, 1974, 2004, 2030, 2050, 2066, 2078, 1623 2085, 2087, 2088, 2090, 2087, 2080, 2069, 2056, 2039, 2019, 1624 1996, 1970, 1942, 1911, 1878, 1842, 1804, 1765, 1723, 1680, 1625 1636, 1590, 1544, 1496, 1449, 1400, 1352, 1303, 1255, 1206, 1626 1158, 1109, 1062, 1015, 969, 924, 880, 837, 795, 754, 1627 714, 676, 640, 606, 572, 540, 510, 480, 452, 426, 1628 400, 376, 353, 332, 311, 291, 273, 255, 239, 223, 1629 208, 194, 181, 169, 158, 147, -138, -129, -121, -113, 1630 -107, -100, -94, -88, -83, -78, -73, -68, -62, -57, 1631 -53, -48, -43, -39, -35, -32, -28, -24, -21, -19, 1632 -16, -13, -9, -5, -1, 2, 7, 10, 10, 15, 1633 20, 24, 28, 33, 36, 30, 22, 15, 9, 3, 1634 -3, -10, -17, -26, -35, -43, -50, -57, -62, -67, 1635 -72, -75, -76, -77, -77, -76, -74, -71, -68, -63, 1636 -59, -54, -49, -44, -38, -31, -25, -19, -13, -7, 1637 -2, 2, 5, 8, 10, 11, 11, 11, 11, 12, 1638 12, 12, 11, 9, 5, 2, 11, 20, 26, 31, 1639 36, 41, 45, 45, 44, 43, 40, 37, 33, 32, 1640 28, 23, 18, 13, 8, 1, -5, -8, -9, -11, 1641 -13, -16, -20, -21, -19, -17, -16, -15, -16, -17, 1642 -18, -19, -20, -20, 21, 21, 20, 19, 18, 18, 1643 17, 15, 13, 10, 5, 4, 4, 4, 3, 3, 1644 2, 1, 1, 0, 0, 0, -2, 1, 2, 0, 1645 1, 1, -1, -2, -3, -6, 0, 3, 2, 1, 1646 1, 1, 1, 1, 0, 2, 2, 2, 1, 1, 1647 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1648 1, 0, 0, 0, 0, 0, 0, -1, -3, -3, 1649 -3, -3, -3, -3, -3, -3, -4, -4, -2, -1, 1650 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 1651 3, 1, -1, 0, -1, -1, 1, 1, 1, 10, 1652 4, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1653 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1655 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 1656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1658 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1668 1669 // WORD16 qmf_c_eld3[640]; 1670 { 1671 285, 662, 1085, 1577, 2116, 2676, 3239, 3795, 4344, 4890, 1672 5438, 5990, 6546, 7102, 7658, 8211, 8761, 9308, 9853, 10393, 1673 10928, 11455, 11973, 12484, 12988, 13488, 13980, 14462, 14926, 15366, 1674 15777, 16167, 16452, 16631, 16786, 16903, 16985, 17036, 17060, 17059, 1675 17034, 16980, 16894, 16775, 16621, 16432, 16210, 15955, 15666, 15346, 1676 14995, 14614, 14204, 13770, 13314, 12836, 12340, 11828, 11301, 10763, 1677 10216, 9661, 9103, 8543, -7978, -7412, -6850, -6293, -5746, -5209, 1678 -4684, -4173, -3677, -3198, -2735, -2291, -1865, -1459, -1073, -708, 1679 -364, -42, 258, 534, 787, 1018, 1226, 1411, 1572, 1710, 1680 1826, 1918, 1989, 2040, 2072, 2086, 2089, 2083, 2062, 2029, 1681 1983, 1926, 1860, 1784, 1701, 1613, 1520, 1424, 1327, 1230, 1682 1133, 1038, 946, 858, 774, 695, 623, 556, 495, 439, 1683 388, 342, 301, 264, 231, 201, 175, 152, -134, -117, 1684 -104, -91, -81, -71, -60, -51, -41, -34, -26, -20, 1685 -15, -7, 0, 8, 12, 22, 30, 33, 18, 6, 1686 -7, -22, -39, -54, -65, -74, -77, -77, -73, -66, 1687 -57, -47, -35, -22, -10, 0, 6, 10, 11, 11, 1688 12, 10, 3, 15, 28, 38, 45, 43, 38, 32, 1689 25, 15, 4, -7, -10, -15, -21, -18, -16, -17, 1690 -19, -20, 21, 19, 18, 16, 11, 4, 4, 3, 1691 1, 0, 0, -1, 1, 1, -2, -5, 1, 1, 1692 1, 1, 1, 2, 1, 0, 0, 0, 0, 1, 1693 0, 0, 0, -1, -3, -3, -3, -3, -4, -2, 1694 -1, -1, -1, 0, 0, 2, -1, -1, 1, 5, 1695 2, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1696 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 1697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1703 285, 662, 1085, 1577, 2116, 2676, 3239, 3795, 4344, 4890, 1704 5438, 5990, 6546, 7102, 7658, 8211, 8761, 9308, 9853, 10393, 1705 10928, 11455, 11973, 12484, 12988, 13488, 13980, 14462, 14926, 15366, 1706 15777, 16167, 16452, 16631, 16786, 16903, 16985, 17036, 17060, 17059, 1707 17034, 16980, 16894, 16775, 16621, 16432, 16210, 15955, 15666, 15346, 1708 14995, 14614, 14204, 13770, 13314, 12836, 12340, 11828, 11301, 10763, 1709 10216, 9661, 9103, 8543, -7978, -7412, -6850, -6293, -5746, -5209, 1710 -4684, -4173, -3677, -3198, -2735, -2291, -1865, -1459, -1073, -708, 1711 -364, -42, 258, 534, 787, 1018, 1226, 1411, 1572, 1710, 1712 1826, 1918, 1989, 2040, 2072, 2086, 2089, 2083, 2062, 2029, 1713 1983, 1926, 1860, 1784, 1701, 1613, 1520, 1424, 1327, 1230, 1714 1133, 1038, 946, 858, 774, 695, 623, 556, 495, 439, 1715 388, 342, 301, 264, 231, 201, 175, 152, -134, -117, 1716 -104, -91, -81, -71, -60, -51, -41, -34, -26, -20, 1717 -15, -7, 0, 8, 12, 22, 30, 33, 18, 6, 1718 -7, -22, -39, -54, -65, -74, -77, -77, -73, -66, 1719 -57, -47, -35, -22, -10, 0, 6, 10, 11, 11, 1720 12, 10, 3, 15, 28, 38, 45, 43, 38, 32, 1721 25, 15, 4, -7, -10, -15, -21, -18, -16, -17, 1722 -19, -20, 21, 19, 18, 16, 11, 4, 4, 3, 1723 1, 0, 0, -1, 1, 1, -2, -5, 1, 1, 1724 1, 1, 1, 2, 1, 0, 0, 0, 0, 1, 1725 0, 0, 0, -1, -3, -3, -3, -3, -4, -2, 1726 -1, -1, -1, 0, 0, 2, -1, -1, 1, 5, 1727 2, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1728 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 1729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735 }, 1736 // const WORD16 ixheaacd_sbr_synth_cos_sin_l32[64+64] = //exp[-i * pi/4* (2k 1737 // + 1)] 1738 { 1739 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1740 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1741 1742 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1743 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1744 1745 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1746 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1747 1748 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1749 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1750 1751 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1752 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1753 1754 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1755 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1756 1757 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1758 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1759 1760 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1761 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1762 1763 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1764 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1765 1766 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1767 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1768 1769 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1770 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1771 1772 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1773 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1774 1775 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1776 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1777 1778 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1779 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1780 1781 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1782 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1783 1784 (WORD16)0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, 1785 (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82, (WORD16)-0x5a82, 1786 1787 }, 1788 1789 }; 1790 1791 const ia_env_extr_tables_struct ixheaacd_aac_dec_env_extr_tables = { 1792 { 1793 // const ia_frame_info_struct sbr_frame_info1_16 = 1794 {0, 1795 1, 1796 -1, 1797 1, 1798 {0, 16, 0, 0, 0, 0, 0, 0, 0}, 1799 {1, 0, 0, 0, 0, 0, 0, 0}, 1800 {0, 16, 0}}, 1801 1802 // const ia_frame_info_struct sbr_frame_info2_16 = 1803 {0, 1804 2, 1805 -1, 1806 2, 1807 {0, 8, 16, 0, 0, 0, 0, 0, 0}, 1808 {1, 1, 0, 0, 0, 0, 0, 0}, 1809 {0, 8, 16}}, 1810 1811 // const ia_frame_info_struct sbr_frame_info4_16 = 1812 {0, 1813 4, 1814 -1, 1815 2, 1816 {0, 4, 8, 12, 16, 0, 0, 0, 0}, 1817 {1, 1, 1, 1, 0, 0, 0, 0}, 1818 {0, 8, 16}}, 1819 1820 // const ia_frame_info_struct sbr_frame_info8_16 = 1821 {0, 1822 8, 1823 -1, 1824 2, 1825 {0, 2, 4, 6, 8, 10, 12, 14, 16}, 1826 {1, 1, 1, 1, 1, 1, 1, 1}, 1827 {0, 8, 16}}, 1828 1829 }, 1830 1831 // const ia_sbr_header_data_struct sbr_default_header = 1832 {SBR_NOT_INITIALIZED, 1833 0, 1834 0, 1835 16, 1836 2, 1837 1024, 1838 44100, 1839 1840 0, 1841 SBR_AMPLITUDE_RESOLUTION_3_0, 1842 1843 15, 1844 6, 1845 0, 1846 SBR_SAMP_FEQ_LVL_DEF, 1847 SBR_CHANGE_LVL_DEF, 1848 SBR_NOISE_BND_DEF, 1849 1850 SBR_BND_LIMIT_DEF, 1851 SBR_GAIN_LIMIT_DEF, 1852 SBR_INTERPOL_SAMP_FEQ_DEF, 1853 SBR_SMOOTH_LEN_DEF, 1854 1855 NULL, 1856 0, 1857 0, 1858 0, 1859 0, 1860 0, 1861 0, 1862 0, 1863 0, 1864 0, 1865 0, 1866 0, 1867 0, 1868 0, 1869 0, 1870 0}, 1871 1872 // WORD16 ixheaacd_t_huffman_env_bal_1_5db_inp_table[50]; 1873 {0x0011, 0x0301, 0x0322, 0x02e3, 0x0344, 0x02c5, 0x0366, 0x02a7, 0x0388, 1874 0x0289, 0x026b, 0x03ab, 0x024c, 0x03cc, 0x03ef, 0x0230, 0x0410, 0x0010, 1875 0x0030, 0x0050, 0x0070, 0x0090, 0x00b0, 0x00d0, 0x00f0, 0x0110, 0x0130, 1876 0x0150, 0x0170, 0x0190, 0x01b0, 0x01d0, 0x01f0, 0x0210, 0x0430, 0x0450, 1877 0x0470, 0x0490, 0x04b0, 0x04d0, 0x04f1, 0x0511, 0x0531, 0x0551, 0x0571, 1878 0x0591, 0x05b1, 0x05d1, 0x05f1, 0x0611}, 1879 // WORD16 ixheaacd_f_huffman_env_bal_1_5db_inp_table[50]; 1880 {0x0013, 0x0301, 0x02e2, 0x0323, 0x02c4, 0x0345, 0x0366, 0x02a7, 0x0288, 1881 0x0389, 0x026b, 0x03ab, 0x024b, 0x03cc, 0x022e, 0x03ef, 0x0410, 0x01f0, 1882 0x0211, 0x0012, 0x0032, 0x0052, 0x0072, 0x0092, 0x00b2, 0x00d2, 0x00f2, 1883 0x0112, 0x0132, 0x0152, 0x0172, 0x0192, 0x01b2, 0x01d2, 0x0432, 0x0452, 1884 0x0472, 0x0492, 0x04b2, 0x04d2, 0x04f2, 0x0512, 0x0532, 0x0552, 0x0572, 1885 0x0592, 0x05b2, 0x05d2, 0x05f3, 0x0613}, 1886 // WORD16 ixheaacd_t_huffman_env_bal_3_0db_inp_table[26]; 1887 {0x000e, 0x0181, 0x01a2, 0x0163, 0x0144, 0x01c5, 0x01e6, 0x0127, 0x0108, 1888 0x0209, 0x00ec, 0x000d, 0x002d, 0x004d, 0x006d, 0x008d, 0x00ad, 0x00cd, 1889 0x022d, 0x024d, 0x026d, 0x028d, 0x02ad, 0x02cd, 0x02ee, 0x030e}, 1890 // WORD16 ixheaacd_f_huffman_env_bal_3_0db_inp_table[26]; 1891 {0x000e, 0x0181, 0x0162, 0x01a3, 0x0144, 0x01c5, 0x01e6, 0x0127, 0x0108, 1892 0x0209, 0x00eb, 0x022c, 0x024d, 0x000d, 0x002d, 0x004d, 0x006d, 0x008d, 1893 0x00ae, 0x00ce, 0x026e, 0x028e, 0x02ae, 0x02ce, 0x02ee, 0x030e}, 1894 // WORD16 ixheaacd_t_huffman_noise_3_0db_inp_table[64]; 1895 {0x000e, 0x03e1, 0x0402, 0x03c3, 0x03a4, 0x0425, 0x0386, 0x0448, 1896 0x0368, 0x046a, 0x034b, 0x048d, 0x054d, 0x000d, 0x002d, 0x004d, 1897 0x006d, 0x008d, 0x00ad, 0x00cd, 0x00ed, 0x010d, 0x012d, 0x014d, 1898 0x016d, 0x018d, 0x01ad, 0x01cd, 0x01ed, 0x020d, 0x022d, 0x024d, 1899 0x026d, 0x028d, 0x02ad, 0x02cd, 0x02ed, 0x030d, 0x032d, 0x04ad, 1900 0x04cd, 0x04ed, 0x050d, 0x052d, 0x056d, 0x058d, 0x05ad, 0x05cd, 1901 0x05ed, 0x060d, 0x062d, 0x064d, 0x066d, 0x068d, 0x06ad, 0x06cd, 1902 0x06ed, 0x070d, 0x072d, 0x074d, 0x076d, 0x078d, 0x07ae, 0x07ce}, 1903 // WORD16 ixheaacd_t_huffman_noise_bal_3_0db_inp_table[26]; 1904 {0x0008, 0x0181, 0x0162, 0x01a3, 0x0145, 0x01c6, 0x0008, 0x0028, 0x0048, 1905 0x0068, 0x0088, 0x00a8, 0x00c8, 0x00e8, 0x0108, 0x0128, 0x01e8, 0x0208, 1906 0x0228, 0x0248, 0x0268, 0x0288, 0x02a8, 0x02c8, 0x02e8, 0x0308}, 1907 // WORD16 ixheaacd_t_huffman_env_1_5db_inp_table[122]; 1908 {0x0013, 0x0782, 0x0762, 0x07a3, 0x0743, 0x07c4, 0x0724, 0x07e5, 0x0705, 1909 0x0806, 0x06e6, 0x0827, 0x06c7, 0x0848, 0x06a8, 0x0869, 0x0689, 0x066a, 1910 0x088a, 0x064b, 0x08ac, 0x062c, 0x08cd, 0x060d, 0x05ed, 0x08ee, 0x05ce, 1911 0x090e, 0x05ae, 0x058f, 0x092f, 0x0530, 0x0550, 0x0570, 0x0950, 0x0490, 1912 0x0510, 0x0990, 0x0451, 0x04f1, 0x0971, 0x04b1, 0x0472, 0x04d2, 0x0012, 1913 0x0032, 0x0052, 0x0072, 0x0092, 0x00b2, 0x00d3, 0x00f3, 0x0113, 0x0133, 1914 0x0153, 0x0173, 0x0193, 0x01b3, 0x01d3, 0x01f3, 0x0213, 0x0233, 0x0253, 1915 0x0273, 0x0293, 0x02b3, 0x02d3, 0x02f3, 0x0313, 0x0333, 0x0353, 0x0373, 1916 0x0393, 0x03b3, 0x03d3, 0x03f3, 0x0413, 0x0433, 0x09b3, 0x09d3, 0x09f3, 1917 0x0a13, 0x0a33, 0x0a53, 0x0a73, 0x0a93, 0x0ab3, 0x0ad3, 0x0af3, 0x0b13, 1918 0x0b33, 0x0b53, 0x0b73, 0x0b93, 0x0bb3, 0x0bd3, 0x0bf3, 0x0c13, 0x0c33, 1919 0x0c53, 0x0c73, 0x0c93, 0x0cb3, 0x0cd3, 0x0cf3, 0x0d13, 0x0d33, 0x0d53, 1920 0x0d73, 0x0d93, 0x0db3, 0x0dd3, 0x0df3, 0x0e13, 0x0e33, 0x0e53, 0x0e73, 1921 0x0e93, 0x0eb3, 0x0ed3, 0x0ef3, 0x0f13}, 1922 // WORD16 ixheaacd_f_huffman_env_1_5db_inp_table[122]; 1923 {0x0014, 0x0782, 0x0762, 0x07a3, 0x0743, 0x0724, 0x07c4, 0x0705, 0x07e5, 1924 0x06e6, 0x0806, 0x06c7, 0x0828, 0x06a8, 0x0848, 0x0689, 0x0869, 0x0669, 1925 0x088a, 0x064a, 0x08ab, 0x062b, 0x08cb, 0x08eb, 0x060c, 0x090c, 0x05ec, 1926 0x092c, 0x094d, 0x05cd, 0x05ad, 0x096d, 0x098e, 0x09ae, 0x058e, 0x056f, 1927 0x054f, 0x0530, 0x09d0, 0x09f0, 0x0510, 0x04f0, 0x0a11, 0x0a31, 0x0491, 1928 0x04b1, 0x04d1, 0x0451, 0x0412, 0x0a52, 0x0a72, 0x0ab2, 0x0272, 0x0472, 1929 0x0ad2, 0x0af2, 0x03d2, 0x0432, 0x0a92, 0x0b12, 0x0d12, 0x0133, 0x01d3, 1930 0x0213, 0x0233, 0x02f3, 0x0373, 0x03b3, 0x03f3, 0x0b53, 0x0c33, 0x0cd3, 1931 0x0d73, 0x0d93, 0x0013, 0x0033, 0x0054, 0x0074, 0x0094, 0x00b4, 0x00d4, 1932 0x00f4, 0x0114, 0x0154, 0x0174, 0x0194, 0x01b4, 0x01f4, 0x0254, 0x0294, 1933 0x02b4, 0x02d4, 0x0314, 0x0334, 0x0354, 0x0394, 0x0b34, 0x0b74, 0x0b94, 1934 0x0bb4, 0x0bd4, 0x0bf4, 0x0c14, 0x0c54, 0x0c74, 0x0c94, 0x0cb4, 0x0cf4, 1935 0x0d34, 0x0d54, 0x0db4, 0x0dd4, 0x0df4, 0x0e14, 0x0e34, 0x0e54, 0x0e74, 1936 0x0e94, 0x0eb4, 0x0ed4, 0x0ef4, 0x0f14}, 1937 // WORD16 ixheaacd_t_huffman_env_3_0db_inp_table[64]; 1938 {0x0013, 0x03e1, 0x03c2, 0x0403, 0x03a4, 0x0425, 0x0386, 0x0447, 1939 0x0368, 0x0469, 0x034b, 0x048b, 0x032c, 0x030d, 0x04ad, 0x02ee, 1940 0x04ce, 0x02ce, 0x02ae, 0x04ee, 0x050f, 0x0530, 0x0250, 0x0290, 1941 0x0270, 0x0231, 0x0551, 0x0572, 0x0012, 0x0032, 0x0053, 0x0073, 1942 0x0093, 0x00b3, 0x00d3, 0x00f3, 0x0113, 0x0133, 0x0153, 0x0173, 1943 0x0193, 0x01b3, 0x01d3, 0x01f3, 0x0213, 0x0593, 0x05b3, 0x05d3, 1944 0x05f3, 0x0613, 0x0633, 0x0653, 0x0673, 0x0693, 0x06b3, 0x06d3, 1945 0x06f3, 0x0713, 0x0733, 0x0753, 0x0773, 0x0793, 0x07b3, 0x07d3}, 1946 // WORD16 ixheaacd_f_huffman_env_3_0db_inp_table[64]; 1947 {0x0014, 0x03e1, 0x03c2, 0x0403, 0x03a4, 0x0425, 0x0386, 0x0448, 1948 0x0368, 0x0469, 0x0349, 0x048a, 0x032a, 0x04ab, 0x030b, 0x04cc, 1949 0x02ec, 0x04ed, 0x050e, 0x02ce, 0x02af, 0x052f, 0x054f, 0x0290, 1950 0x0270, 0x0570, 0x0590, 0x0251, 0x0211, 0x05b1, 0x05d1, 0x0232, 1951 0x0632, 0x01b2, 0x00f2, 0x0192, 0x05f2, 0x0612, 0x0133, 0x0153, 1952 0x01f3, 0x0673, 0x0693, 0x06b3, 0x0713, 0x0113, 0x0173, 0x06f3, 1953 0x0014, 0x0034, 0x0054, 0x0074, 0x0094, 0x00b4, 0x00d4, 0x01d4, 1954 0x0654, 0x06d4, 0x0734, 0x0754, 0x0774, 0x0794, 0x07b4, 0x07d4}, 1955 // WORD32 ixheaacd_t_huffman_env_bal_1_5db_idx_table[20]; 1956 {0x00000000, 0x00100002, 0x00200006, 0x0030000e, 0x0040001e, 1957 0x0050003e, 0x0060007e, 0x007000fe, 0x008001fe, 0x00a007fd, 1958 0x00c00ffd, 0x10d07ff0, 0x0230fff7, 0x2260fffa, 0x02c1fffb, 1959 0x02e1fffd, 0x02f1fffe, 0x0301ffff, 0x01b0ffef, 0x0281fff7}, 1960 // WORD32 ixheaacd_f_huffman_env_bal_1_5db_idx_table[23]; 1961 {0x00000000, 0x00100002, 0x00200006, 0x0030000e, 0x0040001e, 0x0050003e, 1962 0x0060007e, 0x007000fe, 0x008001fe, 0x00a007fd, 0x00b007fe, 0x00c00ffe, 1963 0x10d03ffc, 0x2111fff0, 0x0273fff7, 0x02b3fffb, 0x02d3fffd, 0x02e3fffe, 1964 0x02f7fffe, 0x0307ffff, 0x20e07ffa, 0x01f3ffef, 0x0100fff7}, 1965 // WORD32 ixheaacd_t_huffman_env_bal_3_0db_idx_table[16]; 1966 {0x00000000, 0x00100002, 0x00200006, 0x0030000e, 0x0040001e, 0x0050003e, 1967 0x0060007e, 0x007000fe, 0x008001fe, 0x10900ff8, 0x01301ffb, 0x01501ffd, 1968 0x01601ffe, 0x01703ffe, 0x01803fff, 0x00f01ff7}, 1969 // WORD32 ixheaacd_f_huffman_env_bal_3_0db_idx_table[17]; 1970 {0x00000000, 0x00100002, 0x00200006, 0x0030000e, 0x0040001e, 0x0050003e, 1971 0x0060007e, 0x007000fe, 0x008001fe, 0x109007fc, 0x01001ffb, 0x01403ffb, 1972 0x01603ffd, 0x01703ffe, 0x01803fff, 0x10a00ffa, 0x00c01ff7}, 1973 // WORD32 ixheaacd_t_huffman_noise_3_0db_idx_table[17]; 1974 {0x00000000, 0x00100002, 0x00200006, 0x0030000e, 0x0040001e, 0x0050003e, 1975 0x007000fd, 0x108003f8, 0x02d01fef, 0x03501ff7, 0x03901ffb, 0x03b01ffd, 1976 0x03c01ffe, 0x03d03ffe, 0x03e03fff, 0x109007f2, 0x01d01fdf}, 1977 // WORD32 ixheaacd_t_huffman_noise_bal_3_0db_idx_table[11]; 1978 {0x00000000, 0x00100002, 0x00200006, 0x1030001c, 0x010000f7, 0x014000fb, 1979 0x016000fd, 0x017000fe, 0x018000ff, 0x1040003a, 0x008000ef}, 1980 // WORD32 ixheaacd_t_huffman_env_1_5db_idx_table[27]; 1981 {0x00100001, 0x00300005, 0x0050000d, 0x0070001d, 0x0090003d, 0x00b0007d, 1982 0x00d000fd, 0x00f001fd, 0x011003fd, 0x112007fc, 0x21701ffa, 0x31b03ff9, 1983 0x4240fff2, 0x0587ffdf, 0x0687ffef, 0x0707fff7, 0x0747fffb, 0x0767fffd, 1984 0x0777fffe, 0x0787ffff, 0x01400ffb, 0x01903ff7, 0x21d07ff5, 0x2281ffe9, 1985 0x0210ffef, 0x1303ffdb, 0x0387ffbf}, 1986 // WORD32 ixheaacd_f_huffman_env_1_5db_idx_table[28]; 1987 {0x00100001, 0x00300005, 0x0050000d, 0x0070001d, 0x0090003d, 0x10a0007c, 1988 0x20d000fc, 0x310001fc, 0x016007fb, 0x01a00ffb, 0x01e01ffb, 0x42103ffa, 1989 0x5280fff4, 0x63b3ffec, 0x74a7ffe8, 0x068fffef, 0x070ffff7, 0x074ffffb, 1990 0x076ffffd, 0x077ffffe, 0x078fffff, 0x00c000fb, 0x00f001fb, 0x012003fb, 1991 0x02307ff7, 0x02e1ffef, 0x0417ffdf, 0x058fffdf}, 1992 // WORD32 ixheaacd_t_huffman_env_3_0db_idx_table[26]; 1993 {0x00000000, 0x00100002, 0x00200006, 0x0030000e, 0x0040001e, 0x0050003e, 1994 0x0060007e, 0x007000fe, 0x008001fe, 0x00a007fd, 0x10b00ffc, 0x01103ffb, 1995 0x21203ffc, 0x3170fff9, 0x02e7ffef, 0x0367fff7, 0x03a7fffb, 0x03c7fffd, 1996 0x03d7fffe, 0x03e7ffff, 0x00d01ffb, 0x21307ffa, 0x2191fff5, 0x0150fff7, 1997 0x11c3ffee, 0x01e7ffdf}, 1998 // WORD32 ixheaacd_f_huffman_env_3_0db_idx_table[25]; 1999 {0x00000000, 0x00100002, 0x00200006, 0x0030000e, 0x0040001e, 2000 0x0050003e, 0x007000fd, 0x009001fd, 0x00b003fd, 0x00d007fd, 2001 0x00f00ffd, 0x11001ffc, 0x21507ffa, 0x3190fff9, 0x4243fff6, 2002 0x02e7fff7, 0x036ffff7, 0x03affffb, 0x03cffffd, 0x03dffffe, 2003 0x03efffff, 0x01203ffb, 0x0170fff7, 0x01d1fff7, 0x0267ffef}, 2004 2005 // const WORD8 start_min[12] = 2006 {7, 7, 10, 11, 12, 16, 16, 17, 24, 32, 35, 48}, 2007 2008 // const WORD8 offset_idx[12] = 2009 {5, 5, 4, 4, 4, 3, 2, 1, 0, 6, 6, 6}, 2010 2011 // const WORD8 ixheaacd_drc_offset[7][16] = 2012 {{-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7}, 2013 {-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13}, 2014 {-5, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16}, 2015 {-6, -4, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16}, 2016 {-4, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16, 20}, 2017 {-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16, 20, 24}, 2018 {0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16, 20, 24, 28, 33}}, 2019 2020 // const WORD8 stop_min[12] = 2021 {13, 15, 20, 21, 23, 32, 32, 35, 48, 64, 70, 96}, 2022 2023 // const WORD8 stop_off[12][14] = 2024 {{0, 2, 4, 6, 8, 11, 14, 18, 22, 26, 31, 37, 44, 51}, 2025 {0, 2, 4, 6, 8, 11, 14, 18, 22, 26, 31, 36, 42, 49}, 2026 {0, 2, 4, 6, 8, 11, 14, 17, 21, 25, 29, 34, 39, 44}, 2027 {0, 2, 4, 6, 8, 11, 14, 17, 20, 24, 28, 33, 38, 43}, 2028 {0, 2, 4, 6, 8, 11, 14, 17, 20, 24, 28, 32, 36, 41}, 2029 {0, 2, 4, 6, 8, 10, 12, 14, 17, 20, 23, 26, 29, 32}, 2030 {0, 2, 4, 6, 8, 10, 12, 14, 17, 20, 23, 26, 29, 32}, 2031 {0, 1, 3, 5, 7, 9, 11, 13, 15, 17, 20, 23, 26, 29}, 2032 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16}, 2033 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 2034 {0, -1, -2, -3, -4, -5, -6, -6, -6, -6, -6, -6, -6, -6}, 2035 {0, -3, -6, -9, -12, -15, -18, -20, -22, -24, -26, -28, -30, -32}} 2036 2037 }; 2038 2039 const ia_ps_tables_struct ixheaacd_aac_dec_ps_tables = { 2040 { 2041 // const WORD16 decay_scale_factor[70]= 2042 2043 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 2044 0x5361, 0x4848, 0x3ea8, 0x4f36, 0x44ab, 0x3b86, 0x4b0b, 0x410e, 0x3864, 2045 0x46e0, 0x3d71, 0x3542, 0x42b5, 0x39d4, 0x3221, 0x3e8a, 0x3637, 0x2eff, 2046 0x3a5f, 0x329a, 0x2bdd, 0x3634, 0x2efd, 0x28bb, 0x3209, 0x2b60, 0x2599, 2047 0x2ddd, 0x27c3, 0x2277, 0x29b2, 0x2426, 0x1f55, 0x2587, 0x2089, 0x1c34, 2048 0x215c, 0x1cec, 0x1912, 0x1d31, 0x194f, 0x15f0, 0x1906, 0x15b2, 0x12ce, 2049 0x14db, 0x1215, 0x0fac, 0x10b0, 0x0e78, 0x0c8a, 0x0c85, 0x0adb, 0x0968, 2050 0x085a, 0x073e, 0x0647, 0x042f, 0x03a0, 0x0325, 0x0000, 0x0000, 0x0000, 2051 } 2052 2053 , 2054 // const WORD16 hyb_resol[3] = 2055 {8, 2, 2}, 2056 2057 // const WORD16 rev_link_decay_ser[NO_SERIAL_ALLPASS_LINKS]= 2058 {0x5362, 0x4849, 0x3ea9}, 2059 2060 // const WORD16 rev_link_delay_ser[3] = 2061 {3, 4, 5}, 2062 2063 // const WORD16 borders_group[NO_IID_GROUPS + 1] = 2064 {4, 5, 0, 1, 2, 3, 7, 6, 8, 9, 3, 4, 5, 6, 7, 8, 9, 11, 14, 18, 23, 35, 64}, 2065 2066 // const WORD16 group_shift[6] = 2067 {0, 1, 1, 2, 3, 4}, 2068 2069 // const WORD16 group_to_bin[NO_IID_GROUPS] = 2070 {0, 1, 2, 3, 1, 0, 5, 4, 6, 7, 8, 2071 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19}, 2072 2073 // const WORD16 hybrid_to_bin[SUBQMF_GROUPS] = 2074 {0, 1, 2, 3, 1, 0, 5, 4, 6, 7}, 2075 2076 // const WORD16 delay_to_bin[32] = 2077 {20, 20, 20, 8, 9, 10, 11, 12, 13, 14, 14, 15, 15, 15, 16, 16, 16, 2078 16, 17, 17, 17, 17, 17, 20, 20, 20, 20, 20, 20, 20, 20, 20 2079 2080 }, 2081 2082 // const WORD16 frac_delay_phase_fac_qmf_re_im[24*2]= 2083 { 2084 0, 2085 0, 2086 0, 2087 0, 2088 0, 2089 0, 2090 (WORD16)-0x34ac, 2091 (WORD16)0x74a9, 2092 (WORD16)0x5bec, 2093 (WORD16)0x5914, 2094 (WORD16)0x72f3, 2095 (WORD16)-0x3850, 2096 (WORD16)-0x0e0c, 2097 (WORD16)-0x7f3a, 2098 (WORD16)-0x7c77, 2099 (WORD16)-0x1de2, 2100 (WORD16)-0x4646, 2101 (WORD16)0x6afc, 2102 (WORD16)0x4cdb, 2103 (WORD16)0x665c, 2104 (WORD16)0x7a57, 2105 (WORD16)-0x25a3, 2106 (WORD16)0x0608, 2107 (WORD16)-0x7fdc, 2108 (WORD16)-0x7642, 2109 (WORD16)-0x30fc, 2110 (WORD16)-0x5625, 2111 (WORD16)0x5eac, 2112 (WORD16)0x3be5, 2113 (WORD16)0x711f, 2114 (WORD16)0x7eb9, 2115 (WORD16)-0x1209, 2116 (WORD16)0x19f5, 2117 (WORD16)-0x7d57, 2118 (WORD16)-0x6d23, 2119 (WORD16)-0x42e1, 2120 (WORD16)-0x63e5, 2121 (WORD16)0x5008, 2122 (WORD16)0x2976, 2123 (WORD16)0x7919, 2124 (WORD16)0x7ffc, 2125 (WORD16)0x0203, 2126 (WORD16)0x2d3f, 2127 (WORD16)-0x77bd, 2128 (WORD16)-0x6155, 2129 (WORD16)-0x5321, 2130 }, 2131 2132 // const WORD16 frac_delay_phase_fac_qmf_sub_re_im[16*2]= 2133 { 2134 (WORD16)0x7e80, (WORD16)-0x1387, (WORD16)0x72ba, (WORD16)-0x38c3, 2135 (WORD16)0x5c45, (WORD16)-0x58b7, (WORD16)0x3d39, (WORD16)-0x7069, 2136 (WORD16)0x72ba, (WORD16)0x38c3, (WORD16)0x7e80, (WORD16)0x1387, 2137 (WORD16)-0x456f, (WORD16)-0x6b88, (WORD16)0x0506, (WORD16)-0x7fe7, 2138 (WORD16)-0x76a3, (WORD16)-0x300e, (WORD16)-0x7cb2, (WORD16)0x1ce7, 2139 }, 2140 2141 // const WORD16 frac_delay_phase_fac_qmf_ser_re_im[3][32]= 2142 { 2143 // const WORD16 2144 { 2145 0, 2146 0, 2147 0, 2148 0, 2149 0, 2150 0, 2151 (WORD16)0x0203, 2152 (WORD16)0x7ffc, 2153 (WORD16)0x7d57, 2154 (WORD16)0x19f5, 2155 (WORD16)0x34ac, 2156 (WORD16)-0x74a9, 2157 (WORD16)-0x665c, 2158 (WORD16)-0x4cdb, 2159 (WORD16)-0x6155, 2160 (WORD16)0x5321, 2161 (WORD16)0x3be5, 2162 (WORD16)0x711f, 2163 (WORD16)0x7b77, 2164 (WORD16)-0x21c7, 2165 (WORD16)-0x0608, 2166 (WORD16)-0x7fdc, 2167 (WORD16)-0x7e18, 2168 (WORD16)-0x1602, 2169 (WORD16)-0x30fc, 2170 (WORD16)0x7642, 2171 (WORD16)0x68b9, 2172 (WORD16)0x499a, 2173 (WORD16)0x5eac, 2174 (WORD16)-0x5625, 2175 (WORD16)-0x3f6b, 2176 (WORD16)-0x6f2f, 2177 (WORD16)-0x7a57, 2178 (WORD16)0x25a3, 2179 (WORD16)0x0a0b, 2180 (WORD16)0x7f9b, 2181 (WORD16)0x7eb9, 2182 (WORD16)0x1209, 2183 (WORD16)0x2d3f, 2184 (WORD16)-0x77bd, 2185 (WORD16)-0x6afc, 2186 (WORD16)-0x4646, 2187 (WORD16)-0x5bec, 2188 (WORD16)0x5914, 2189 (WORD16)0x42e1, 2190 (WORD16)0x6d23, 2191 }, 2192 2193 // const WORD16 2194 { 2195 0, 2196 0, 2197 0, 2198 0, 2199 0, 2200 0, 2201 (WORD16)-0x30fc, 2202 (WORD16)-0x7642, 2203 (WORD16)-0x30fc, 2204 (WORD16)0x7642, 2205 (WORD16)0x7642, 2206 (WORD16)-0x30fc, 2207 (WORD16)-0x7642, 2208 (WORD16)-0x30fc, 2209 (WORD16)0x30fc, 2210 (WORD16)0x7642, 2211 (WORD16)0x30fc, 2212 (WORD16)-0x7642, 2213 (WORD16)-0x7642, 2214 (WORD16)0x30fc, 2215 (WORD16)0x7642, 2216 (WORD16)0x30fc, 2217 (WORD16)-0x30fc, 2218 (WORD16)-0x7642, 2219 (WORD16)-0x30fc, 2220 (WORD16)0x7642, 2221 (WORD16)0x7642, 2222 (WORD16)-0x30fc, 2223 (WORD16)-0x7642, 2224 (WORD16)-0x30fc, 2225 (WORD16)0x30fc, 2226 (WORD16)0x7642, 2227 (WORD16)0x30fc, 2228 (WORD16)-0x7642, 2229 (WORD16)-0x7642, 2230 (WORD16)0x30fc, 2231 (WORD16)0x7642, 2232 (WORD16)0x30fc, 2233 (WORD16)-0x30fc, 2234 (WORD16)-0x7642, 2235 (WORD16)-0x30fc, 2236 (WORD16)0x7642, 2237 (WORD16)0x7642, 2238 (WORD16)-0x30fc, 2239 (WORD16)-0x7642, 2240 (WORD16)-0x30fc, 2241 }, 2242 2243 // const WORD16 2244 { 2245 0, 2246 0, 2247 0, 2248 0, 2249 0, 2250 0, 2251 (WORD16)-0x6405, 2252 (WORD16)0x4fe0, 2253 (WORD16)0x1894, 2254 (WORD16)0x7d9e, 2255 (WORD16)0x7abf, 2256 (WORD16)0x244a, 2257 (WORD16)0x58ef, 2258 (WORD16)-0x5c0f, 2259 (WORD16)-0x2882, 2260 (WORD16)-0x796c, 2261 (WORD16)-0x7e64, 2262 (WORD16)-0x1439, 2263 (WORD16)-0x4c5f, 2264 (WORD16)0x66b8, 2265 (WORD16)0x37c5, 2266 (WORD16)0x7336, 2267 (WORD16)0x7ff1, 2268 (WORD16)0x03d2, 2269 (WORD16)0x3e8b, 2270 (WORD16)-0x6fae, 2271 (WORD16)-0x461b, 2272 (WORD16)-0x6b18, 2273 (WORD16)-0x7f60, 2274 (WORD16)0x0ca5, 2275 (WORD16)-0x2fae, 2276 (WORD16)0x76ca, 2277 (WORD16)0x5348, 2278 (WORD16)0x6134, 2279 (WORD16)0x7cb2, 2280 (WORD16)-0x1ce7, 2281 (WORD16)0x2007, 2282 (WORD16)-0x7bee, 2283 (WORD16)-0x5f14, 2284 (WORD16)-0x55b3, 2285 (WORD16)-0x77f3, 2286 (WORD16)0x2cae, 2287 (WORD16)-0x0fd8, 2288 (WORD16)0x7f04, 2289 (WORD16)0x694c, 2290 (WORD16)0x48c7, 2291 }, 2292 2293 }, 2294 // const WORD16 frac_delay_phase_fac_qmf_sub_ser_re_im[3][16]= 2295 { 2296 { 2297 (WORD16)0x7e2e, (WORD16)-0x1583, (WORD16)0x6fed, (WORD16)-0x3e1b, 2298 (WORD16)0x5506, (WORD16)-0x5fae, (WORD16)0x3085, (WORD16)-0x7673, 2299 (WORD16)0x6fed, (WORD16)0x3e1b, (WORD16)0x7e2e, (WORD16)0x1583, 2300 (WORD16)-0x5b38, (WORD16)-0x59cc, (WORD16)-0x0f0b, (WORD16)-0x7f1d, 2301 (WORD16)-0x7f55, (WORD16)-0x0d0c, (WORD16)-0x6b88, (WORD16)0x456f, 2302 }, 2303 { 2304 (WORD16)0x7a7d, (WORD16)-0x2528, (WORD16)0x5134, (WORD16)-0x62f2, 2305 (WORD16)0x0c8c, (WORD16)-0x7f62, (WORD16)-0x3c57, (WORD16)-0x70e3, 2306 (WORD16)0x5134, (WORD16)0x62f2, (WORD16)0x7a7d, (WORD16)0x2528, 2307 (WORD16)-0x471d, (WORD16)0x6a6e, (WORD16)-0x7d8a, (WORD16)-0x18f9, 2308 (WORD16)0x471d, (WORD16)0x6a6e, (WORD16)0x7d8a, (WORD16)-0x18f9, 2309 }, 2310 { 2311 (WORD16)0x7ed0, (WORD16)-0x1163, (WORD16)0x7574, (WORD16)-0x32e2, 2312 (WORD16)0x636c, (WORD16)-0x509e, (WORD16)0x4a0d, (WORD16)-0x6867, 2313 (WORD16)0x7574, (WORD16)0x32e2, (WORD16)0x7ed0, (WORD16)0x1163, 2314 (WORD16)-0x2a51, (WORD16)-0x78ce, (WORD16)0x1a73, (WORD16)-0x7d3d, 2315 (WORD16)-0x62d1, (WORD16)-0x515c, (WORD16)-0x7eae, (WORD16)-0x1255, 2316 }, 2317 2318 }, 2319 // const WORD16 scale_factors[NO_IID_LEVELS]= 2320 {(WORD16)0x5a5e, (WORD16)0x59cd, (WORD16)0x58c3, (WORD16)0x564c, 2321 (WORD16)0x52a4, (WORD16)0x4c8c, (WORD16)0x46df, (WORD16)0x4000, 2322 (WORD16)0x384c, (WORD16)0x304c, (WORD16)0x24ea, (WORD16)0x1b4a, 2323 (WORD16)0x11b6, (WORD16)0x0b4e, (WORD16)0x0515}, 2324 2325 // const WORD16 scale_factors_fine[NO_IID_LEVELS_FINE] = 2326 {(WORD16)0x5a82, (WORD16)0x5a82, (WORD16)0x5a81, (WORD16)0x5a7f, 2327 (WORD16)0x5a77, (WORD16)0x5a5e, (WORD16)0x5a3a, (WORD16)0x59f2, 2328 (WORD16)0x5965, (WORD16)0x5853, (WORD16)0x564c, (WORD16)0x5417, 2329 (WORD16)0x50ea, (WORD16)0x4c8c, (WORD16)0x46df, (WORD16)0x4000, 2330 (WORD16)0x384c, (WORD16)0x304c, (WORD16)0x288e, (WORD16)0x217a, 2331 (WORD16)0x1b4a, (WORD16)0x13c6, (WORD16)0x0e2b, (WORD16)0x0a18, 2332 (WORD16)0x072b, (WORD16)0x0515, (WORD16)0x02dc, (WORD16)0x019c, 2333 (WORD16)0x00e8, (WORD16)0x0082, (WORD16)0x0049}, 2334 2335 // const WORD16 alpha_values[NO_ICC_LEVELS]= 2336 {(WORD16)0x0000, (WORD16)0x0b6b, (WORD16)0x1248, (WORD16)0x1da3, 2337 (WORD16)0x2638, (WORD16)0x3244, (WORD16)0x466b, (WORD16)0x6488}, 2338 2339 // const WORD32 p2_6[6] = 2340 { 2341 (WORD32)0x026e, (WORD32)-0x0956, (WORD32)0x272a, (WORD32)0x272a, 2342 (WORD32)-0x0956, (WORD32)0x026e, 2343 }, 2344 2345 // const WORD32 p8_13[13] = 2346 { 2347 (WORD32)-0x00f4, (WORD32)-0x02e8, (WORD32)-0x05d2, (WORD32)-0x094d, 2348 (WORD32)-0x0ca7, (WORD32)0x0f19, (WORD32)0x1000, (WORD32)0x0f19, 2349 (WORD32)0x0ca7, (WORD32)0x094d, (WORD32)0x05d2, (WORD32)0x02e8, 2350 (WORD32)0x00f4, 2351 }, 2352 2353 // const WORD16 huff_iid_dt[28] = 2354 { 2355 (WORD16)-0x3fff, (WORD16)-0x40fe, (WORD16)-0x3efd, (WORD16)-0x41fc, 2356 (WORD16)-0x3dfb, (WORD16)-0x42fa, (WORD16)-0x3cf9, (WORD16)-0x43f8, 2357 (WORD16)-0x3bf7, (WORD16)-0x44f6, (WORD16)-0x3af5, (WORD16)-0x45f4, 2358 (WORD16)-0x39f3, (WORD16)-0x38f2, (WORD16)-0x46f1, (WORD16)0x1011, 2359 (WORD16)-0x3748, (WORD16)0x1215, (WORD16)0x1314, (WORD16)-0x364e, 2360 (WORD16)-0x4c4c, (WORD16)0x1619, (WORD16)0x1718, (WORD16)-0x4a4a, 2361 (WORD16)-0x4836, (WORD16)0x1a1b, (WORD16)-0x3434, (WORD16)-0x3232, 2362 }, 2363 2364 // const WORD16 huff_iid_df[28] = 2365 { 2366 (WORD16)-0x3fff, (WORD16)0x0203, (WORD16)-0x3e41, (WORD16)0x0405, 2367 (WORD16)-0x3d42, (WORD16)0x0607, (WORD16)-0x3c43, (WORD16)0x0809, 2368 (WORD16)-0x433c, (WORD16)-0x3af6, (WORD16)-0x44f5, (WORD16)-0x39f4, 2369 (WORD16)-0x45f3, (WORD16)-0x46f2, (WORD16)-0x38f1, (WORD16)0x1011, 2370 (WORD16)-0x3748, (WORD16)0x1213, (WORD16)-0x3636, (WORD16)0x1415, 2371 (WORD16)-0x4835, (WORD16)0x1618, (WORD16)-0x49e9, (WORD16)-0x4a4e, 2372 (WORD16)0x191a, (WORD16)-0x4c4c, (WORD16)-0x33e5, (WORD16)-0x3232, 2373 }, 2374 2375 // const WORD16 huff_icc_dt[14] = 2376 { 2377 (WORD16)-0x3fff, (WORD16)-0x3efe, (WORD16)-0x40fd, (WORD16)-0x3dfc, 2378 (WORD16)-0x41fb, (WORD16)-0x3cfa, (WORD16)-0x42f9, (WORD16)-0x3bf8, 2379 (WORD16)-0x43f7, (WORD16)-0x3af6, (WORD16)-0x44f5, (WORD16)-0x39f4, 2380 (WORD16)-0x45f3, (WORD16)-0x4639, 2381 }, 2382 2383 // const WORD16 huff_icc_df[14] = 2384 { 2385 (WORD16)-0x3fff, (WORD16)-0x3efe, (WORD16)-0x40fd, (WORD16)-0x3dfc, 2386 (WORD16)-0x41fb, (WORD16)-0x3cfa, (WORD16)-0x42f9, (WORD16)-0x3bf8, 2387 (WORD16)-0x3af7, (WORD16)-0x43f6, (WORD16)-0x39f5, (WORD16)-0x44f4, 2388 (WORD16)-0x38f3, (WORD16)-0x4547, 2389 }, 2390 2391 // const WORD16 huff_iid_dt_fine[60] = 2392 { 2393 (WORD16)0x01c0, (WORD16)-0x3efe, (WORD16)0x03bf, (WORD16)0x043b, 2394 (WORD16)0x0507, (WORD16)0x06bd, (WORD16)-0x433c, (WORD16)-0x3cf8, 2395 (WORD16)0x090b, (WORD16)-0x3af6, (WORD16)-0x453a, (WORD16)0x0c29, 2396 (WORD16)0x0d14, (WORD16)0x0eb9, (WORD16)-0x36f1, (WORD16)-0x34f0, 2397 (WORD16)0x11b3, (WORD16)0x1213, (WORD16)-0x5454, (WORD16)-0x2d2d, 2398 (WORD16)-0x38eb, (WORD16)0x1628, (WORD16)0x171d, (WORD16)-0x32e8, 2399 (WORD16)0x191a, (WORD16)-0x5252, (WORD16)0x1b1c, (WORD16)-0x5926, 2400 (WORD16)-0x5b5b, (WORD16)0x1e25, (WORD16)0x1f22, (WORD16)0x2021, 2401 (WORD16)-0x2222, (WORD16)-0x2424, (WORD16)0x2324, (WORD16)-0x5d5d, 2402 (WORD16)-0x5827, (WORD16)0x26b1, (WORD16)0x27af, (WORD16)-0x5728, 2403 (WORD16)-0x4936, (WORD16)0x2abb, (WORD16)0x2b2c, (WORD16)-0x4738, 2404 (WORD16)0x2d34, (WORD16)0x2e32, (WORD16)0x2fb4, (WORD16)-0x30d0, 2405 (WORD16)-0x2ecf, (WORD16)-0x5629, (WORD16)-0x33cd, (WORD16)-0x4d32, 2406 (WORD16)0x35b7, (WORD16)0x36b5, (WORD16)0x3739, (WORD16)0x38b0, 2407 (WORD16)-0x552a, (WORD16)-0x2fc6, (WORD16)-0x2b2b, (WORD16)-0x413e, 2408 }, 2409 2410 // const WORD16 huff_iid_df_fine[60] = 2411 { 2412 (WORD16)0x01c0, (WORD16)0x0204, (WORD16)0x03bf, (WORD16)-0x413e, 2413 (WORD16)-0x3efb, (WORD16)0x0607, (WORD16)-0x423d, (WORD16)0x0809, 2414 (WORD16)-0x433c, (WORD16)0x0a0b, (WORD16)-0x443b, (WORD16)0x0c0d, 2415 (WORD16)-0x453a, (WORD16)0x0e12, (WORD16)-0x38f1, (WORD16)0x10b8, 2416 (WORD16)-0x35ef, (WORD16)-0x4a35, (WORD16)0x1325, (WORD16)-0x37ec, 2417 (WORD16)0x15b7, (WORD16)0x161d, (WORD16)0x17b4, (WORD16)0x18b2, 2418 (WORD16)0x191c, (WORD16)0x1a1b, (WORD16)-0x542b, (WORD16)-0x522d, 2419 (WORD16)-0x502f, (WORD16)-0x33e2, (WORD16)-0x31e1, (WORD16)0x20b1, 2420 (WORD16)0x2122, (WORD16)-0x512e, (WORD16)0x2324, (WORD16)-0x5959, 2421 (WORD16)-0x5b5b, (WORD16)0x26b9, (WORD16)-0x36d9, (WORD16)0x28b6, 2422 (WORD16)0x2932, (WORD16)0x2ab3, (WORD16)-0x30d5, (WORD16)0x2c2f, 2423 (WORD16)0x2d2e, (WORD16)-0x552a, (WORD16)-0x5757, (WORD16)0x3031, 2424 (WORD16)-0x2626, (WORD16)-0x2828, (WORD16)-0x32cd, (WORD16)0x343b, 2425 (WORD16)0x3538, (WORD16)0x3637, (WORD16)-0x2222, (WORD16)-0x2424, 2426 (WORD16)0x393a, (WORD16)-0x5d5d, (WORD16)-0x532c, (WORD16)-0x4f30, 2427 }, 2428 0}; 2429