C++程序  |  2429行  |  135.9 KB

/******************************************************************************
 *                                                                            *
 * Copyright (C) 2018 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at:
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 *****************************************************************************
 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
*/
#include <string.h>
#include "ixheaacd_sbr_common.h"
#include <ixheaacd_type_def.h>
#include "ixheaacd_defines.h"
#include "ixheaacd_bitbuffer.h"
#include "ixheaacd_pns.h"

#include <ixheaacd_aac_rom.h>
#include "ixheaacd_pulsedata.h"

#include "ixheaacd_drc_data_struct.h"
#include "ixheaacd_lt_predict.h"
#include "ixheaacd_channelinfo.h"
#include "ixheaacd_drc_dec.h"

#include "ixheaacd_sbrdecoder.h"
#include "ixheaacd_sbr_const.h"

#include "ixheaacd_sbrdecsettings.h"
#include "ixheaacd_sbr_scale.h"
#include "ixheaacd_lpp_tran.h"
#include "ixheaacd_env_extr_part.h"
#include <ixheaacd_sbr_rom.h>
#include "ixheaacd_hybrid.h"
#include "ixheaacd_ps_dec.h"
#include "ixheaacd_env_extr.h"
#include "ixheaacd_common_rom.h"
#include "ixheaacd_qmf_dec.h"

const ia_env_calc_tables_struct ixheaacd_aac_dec_env_calc_tables = {
    {(WORD16)0x4027, 0, (WORD16)0x4000, 1, (WORD16)0x7fb2, 1, (WORD16)0x56bc,
     67},

    // const WORD16 sbr_lim_bands_per_octave_q13[4] =
    {(WORD16)0x2000, (WORD16)0x2666, (WORD16)0x4000, (WORD16)0x6000},

    // const WORD16 sbr_smooth_filter[4] =
    {(WORD16)0x5555, (WORD16)0x461d, (WORD16)0x3387, (WORD16)0x1bb8},

    // const WORD16 sbr_inv_int_table[INV_INT_TABLE_SIZE] =
    {(WORD16)0x7fff, (WORD16)0x7fff, (WORD16)0x4000, (WORD16)0x2aab,
     (WORD16)0x2000, (WORD16)0x199a, (WORD16)0x1555, (WORD16)0x1249,
     (WORD16)0x1000, (WORD16)0x0e39, (WORD16)0x0ccd, (WORD16)0x0ba3,
     (WORD16)0x0aab, (WORD16)0x09d9, (WORD16)0x0925, (WORD16)0x0889,
     (WORD16)0x0800, (WORD16)0x0788, (WORD16)0x071c, (WORD16)0x06bd,
     (WORD16)0x0666, (WORD16)0x0618, (WORD16)0x05d1, (WORD16)0x0591,
     (WORD16)0x0555, (WORD16)0x051f, (WORD16)0x04ec, (WORD16)0x04be,
     (WORD16)0x0492, (WORD16)0x046a, (WORD16)0x0444, (WORD16)0x0421,
     (WORD16)0x0400, (WORD16)0x03e1, (WORD16)0x03c4, (WORD16)0x03a8,
     (WORD16)0x038e, (WORD16)0x0376, (WORD16)0x035e, (WORD16)0x0348,
     (WORD16)0x0333, (WORD16)0x031f, (WORD16)0x030c, (WORD16)0x02fa,
     (WORD16)0x02e9, (WORD16)0x02d8, (WORD16)0x02c8, (WORD16)0x02b9},

    // const WORD32 sbr_rand_ph[SBR_NF_NO_RANDOM_VAL + MAX_FREQ_COEFFS] =
    {((WORD32)0xf801 << 16) | ((WORD32)0xfb3e & 0xFFFF),
     ((WORD32)0x07c5 << 16) | ((WORD32)0xfa99 & 0xFFFF),
     ((WORD32)0x0121 << 16) | ((WORD32)0xf865 & 0xFFFF),
     ((WORD32)0xfc3d << 16) | ((WORD32)0xfd03 & 0xFFFF),
     ((WORD32)0x0675 << 16) | ((WORD32)0x025f & 0xFFFF),
     ((WORD32)0xfce2 << 16) | ((WORD32)0x072a & 0xFFFF),
     ((WORD32)0xffea << 16) | ((WORD32)0xfaa5 & 0xFFFF),
     ((WORD32)0xf8b3 << 16) | ((WORD32)0xff14 & 0xFFFF),
     ((WORD32)0x0463 << 16) | ((WORD32)0x0605 & 0xFFFF),
     ((WORD32)0x0333 << 16) | ((WORD32)0xf816 & 0xFFFF),
     ((WORD32)0xf803 << 16) | ((WORD32)0xf8f3 & 0xFFFF),
     ((WORD32)0xf85c << 16) | ((WORD32)0x0746 & 0xFFFF),
     ((WORD32)0xfc58 << 16) | ((WORD32)0xfb76 & 0xFFFF),
     ((WORD32)0xfa2a << 16) | ((WORD32)0xf829 & 0xFFFF),
     ((WORD32)0x060d << 16) | ((WORD32)0x01ad & 0xFFFF),
     ((WORD32)0x0091 << 16) | ((WORD32)0xf9bd & 0xFFFF),
     ((WORD32)0x05f6 << 16) | ((WORD32)0xf8b5 & 0xFFFF),
     ((WORD32)0xf849 << 16) | ((WORD32)0xf86c & 0xFFFF),
     ((WORD32)0x026f << 16) | ((WORD32)0xfc0c & 0xFFFF),
     ((WORD32)0x0553 << 16) | ((WORD32)0x052c & 0xFFFF),
     ((WORD32)0x0756 << 16) | ((WORD32)0x0167 & 0xFFFF),
     ((WORD32)0xfa57 << 16) | ((WORD32)0x0434 & 0xFFFF),
     ((WORD32)0xfa65 << 16) | ((WORD32)0xfc5f & 0xFFFF),
     ((WORD32)0xf80a << 16) | ((WORD32)0xf8cb & 0xFFFF),
     ((WORD32)0x07da << 16) | ((WORD32)0xf9ce & 0xFFFF),
     ((WORD32)0xfba0 << 16) | ((WORD32)0xffcb & 0xFFFF),
     ((WORD32)0xffdd << 16) | ((WORD32)0x0006 & 0xFFFF),
     ((WORD32)0xf91c << 16) | ((WORD32)0x0367 & 0xFFFF),
     ((WORD32)0xf817 << 16) | ((WORD32)0xf8f8 & 0xFFFF),
     ((WORD32)0x0424 << 16) | ((WORD32)0x055b & 0xFFFF),
     ((WORD32)0xf807 << 16) | ((WORD32)0xfb5a & 0xFFFF),
     ((WORD32)0xf801 << 16) | ((WORD32)0x07df & 0xFFFF),
     ((WORD32)0x046c << 16) | ((WORD32)0x04c2 & 0xFFFF),
     ((WORD32)0x02c4 << 16) | ((WORD32)0x0797 & 0xFFFF),
     ((WORD32)0x0503 << 16) | ((WORD32)0xfa0c & 0xFFFF),
     ((WORD32)0xf9d4 << 16) | ((WORD32)0xfd4a & 0xFFFF),
     ((WORD32)0xf8ac << 16) | ((WORD32)0x004c & 0xFFFF),
     ((WORD32)0xf9e6 << 16) | ((WORD32)0xf8b1 & 0xFFFF),
     ((WORD32)0x0662 << 16) | ((WORD32)0xf88c & 0xFFFF),
     ((WORD32)0x045c << 16) | ((WORD32)0xff0c & 0xFFFF),
     ((WORD32)0xf926 << 16) | ((WORD32)0x0365 & 0xFFFF),
     ((WORD32)0xf892 << 16) | ((WORD32)0x023b & 0xFFFF),
     ((WORD32)0xff10 << 16) | ((WORD32)0xf804 & 0xFFFF),
     ((WORD32)0x01b5 << 16) | ((WORD32)0xf8be & 0xFFFF),
     ((WORD32)0xf9e8 << 16) | ((WORD32)0x07fb & 0xFFFF),
     ((WORD32)0x07d9 << 16) | ((WORD32)0xf855 & 0xFFFF),
     ((WORD32)0xf920 << 16) | ((WORD32)0x07a9 & 0xFFFF),
     ((WORD32)0xf889 << 16) | ((WORD32)0x03f4 & 0xFFFF),
     ((WORD32)0x0270 << 16) | ((WORD32)0xfa5b & 0xFFFF),
     ((WORD32)0x06d3 << 16) | ((WORD32)0x03be & 0xFFFF),
     ((WORD32)0x074e << 16) | ((WORD32)0xf803 & 0xFFFF),
     ((WORD32)0xff87 << 16) | ((WORD32)0x05a9 & 0xFFFF),
     ((WORD32)0x0246 << 16) | ((WORD32)0x02c5 & 0xFFFF),
     ((WORD32)0x079f << 16) | ((WORD32)0xfb9c & 0xFFFF),
     ((WORD32)0xf9b7 << 16) | ((WORD32)0xf9f4 & 0xFFFF),
     ((WORD32)0xf856 << 16) | ((WORD32)0xfe5e & 0xFFFF),
     ((WORD32)0x0698 << 16) | ((WORD32)0x07bb & 0xFFFF),
     ((WORD32)0xfac9 << 16) | ((WORD32)0xf8e7 & 0xFFFF),
     ((WORD32)0xf882 << 16) | ((WORD32)0x07fd & 0xFFFF),
     ((WORD32)0x0750 << 16) | ((WORD32)0xf823 & 0xFFFF),
     ((WORD32)0xfa5e << 16) | ((WORD32)0x04b4 & 0xFFFF),
     ((WORD32)0x000c << 16) | ((WORD32)0x04f1 & 0xFFFF),
     ((WORD32)0x0720 << 16) | ((WORD32)0x0439 & 0xFFFF),
     ((WORD32)0xfa81 << 16) | ((WORD32)0x0677 & 0xFFFF),
     ((WORD32)0x05c6 << 16) | ((WORD32)0xfa76 & 0xFFFF),
     ((WORD32)0xfaf7 << 16) | ((WORD32)0x0117 & 0xFFFF),
     ((WORD32)0x0265 << 16) | ((WORD32)0xfc51 & 0xFFFF),
     ((WORD32)0xf8a8 << 16) | ((WORD32)0xfa14 & 0xFFFF),
     ((WORD32)0x07f2 << 16) | ((WORD32)0x0344 & 0xFFFF),
     ((WORD32)0x0697 << 16) | ((WORD32)0xfa14 & 0xFFFF),
     ((WORD32)0xf81e << 16) | ((WORD32)0xf801 & 0xFFFF),
     ((WORD32)0xf854 << 16) | ((WORD32)0xf810 & 0xFFFF),
     ((WORD32)0xfe4a << 16) | ((WORD32)0xf887 & 0xFFFF),
     ((WORD32)0xfa7f << 16) | ((WORD32)0xfdd9 & 0xFFFF),
     ((WORD32)0x0759 << 16) | ((WORD32)0x00c0 & 0xFFFF),
     ((WORD32)0xf851 << 16) | ((WORD32)0x02e3 & 0xFFFF),
     ((WORD32)0x0422 << 16) | ((WORD32)0xfa4a & 0xFFFF),
     ((WORD32)0x04e4 << 16) | ((WORD32)0x03c2 & 0xFFFF),
     ((WORD32)0x03c9 << 16) | ((WORD32)0xfdd0 & 0xFFFF),
     ((WORD32)0x0748 << 16) | ((WORD32)0x07bd & 0xFFFF),
     ((WORD32)0x0396 << 16) | ((WORD32)0x07f0 & 0xFFFF),
     ((WORD32)0x0554 << 16) | ((WORD32)0x07ba & 0xFFFF),
     ((WORD32)0x05fe << 16) | ((WORD32)0xf8cf & 0xFFFF),
     ((WORD32)0xf809 << 16) | ((WORD32)0x0439 & 0xFFFF),
     ((WORD32)0x07cb << 16) | ((WORD32)0xfea7 & 0xFFFF),
     ((WORD32)0x05d1 << 16) | ((WORD32)0xfc28 & 0xFFFF),
     ((WORD32)0x07a2 << 16) | ((WORD32)0x0582 & 0xFFFF),
     ((WORD32)0xfa2a << 16) | ((WORD32)0xf9df & 0xFFFF),
     ((WORD32)0xf92c << 16) | ((WORD32)0x0719 & 0xFFFF),
     ((WORD32)0xf97d << 16) | ((WORD32)0xf834 & 0xFFFF),
     ((WORD32)0xf8f7 << 16) | ((WORD32)0x05fb & 0xFFFF),
     ((WORD32)0xfa46 << 16) | ((WORD32)0xf81d & 0xFFFF),
     ((WORD32)0x06af << 16) | ((WORD32)0x06b2 & 0xFFFF),
     ((WORD32)0xfc27 << 16) | ((WORD32)0xf818 & 0xFFFF),
     ((WORD32)0x07c5 << 16) | ((WORD32)0x0668 & 0xFFFF),
     ((WORD32)0x0429 << 16) | ((WORD32)0x066b & 0xFFFF),
     ((WORD32)0xffef << 16) | ((WORD32)0xf9de & 0xFFFF),
     ((WORD32)0xfa60 << 16) | ((WORD32)0x046e & 0xFFFF),
     ((WORD32)0xf854 << 16) | ((WORD32)0xfc8a & 0xFFFF),
     ((WORD32)0x07c4 << 16) | ((WORD32)0x00bf & 0xFFFF),
     ((WORD32)0xf89c << 16) | ((WORD32)0x06d7 & 0xFFFF),
     ((WORD32)0xfa71 << 16) | ((WORD32)0x07e4 & 0xFFFF),
     ((WORD32)0x0220 << 16) | ((WORD32)0x05dd & 0xFFFF),
     ((WORD32)0x023e << 16) | ((WORD32)0x012a & 0xFFFF),
     ((WORD32)0xfa12 << 16) | ((WORD32)0x07f2 & 0xFFFF),
     ((WORD32)0xffdc << 16) | ((WORD32)0xf964 & 0xFFFF),
     ((WORD32)0xfb97 << 16) | ((WORD32)0xf817 & 0xFFFF),
     ((WORD32)0x07d6 << 16) | ((WORD32)0xf87a & 0xFFFF),
     ((WORD32)0xf810 << 16) | ((WORD32)0x055d & 0xFFFF),
     ((WORD32)0xfa96 << 16) | ((WORD32)0x0103 & 0xFFFF),
     ((WORD32)0x00bb << 16) | ((WORD32)0xfe5b & 0xFFFF),
     ((WORD32)0xfa44 << 16) | ((WORD32)0xf82d & 0xFFFF),
     ((WORD32)0x067b << 16) | ((WORD32)0x044c & 0xFFFF),
     ((WORD32)0x0340 << 16) | ((WORD32)0xfde2 & 0xFFFF),
     ((WORD32)0xfa96 << 16) | ((WORD32)0x078f & 0xFFFF),
     ((WORD32)0x06f3 << 16) | ((WORD32)0xfe89 & 0xFFFF),
     ((WORD32)0xf80a << 16) | ((WORD32)0xffca & 0xFFFF),
     ((WORD32)0x06bf << 16) | ((WORD32)0x00d5 & 0xFFFF),
     ((WORD32)0xff43 << 16) | ((WORD32)0x0590 & 0xFFFF),
     ((WORD32)0x07ff << 16) | ((WORD32)0xff03 & 0xFFFF),
     ((WORD32)0xf99f << 16) | ((WORD32)0xf8ac & 0xFFFF),
     ((WORD32)0x07b5 << 16) | ((WORD32)0x07bb & 0xFFFF),
     ((WORD32)0xf99b << 16) | ((WORD32)0x0525 & 0xFFFF),
     ((WORD32)0xff13 << 16) | ((WORD32)0x0249 & 0xFFFF),
     ((WORD32)0xfcce << 16) | ((WORD32)0x0788 & 0xFFFF),
     ((WORD32)0x07ed << 16) | ((WORD32)0xf8a3 & 0xFFFF),
     ((WORD32)0x024a << 16) | ((WORD32)0xf8b8 & 0xFFFF),
     ((WORD32)0xf956 << 16) | ((WORD32)0xfa9d & 0xFFFF),
     ((WORD32)0x07a2 << 16) | ((WORD32)0x03ef & 0xFFFF),
     ((WORD32)0xff7c << 16) | ((WORD32)0x0043 & 0xFFFF),
     ((WORD32)0xf809 << 16) | ((WORD32)0x0364 & 0xFFFF),
     ((WORD32)0xfac3 << 16) | ((WORD32)0x069b & 0xFFFF),
     ((WORD32)0xf980 << 16) | ((WORD32)0xfbdf & 0xFFFF),
     ((WORD32)0xf807 << 16) | ((WORD32)0x06c2 & 0xFFFF),
     ((WORD32)0x0006 << 16) | ((WORD32)0x052e & 0xFFFF),
     ((WORD32)0x059d << 16) | ((WORD32)0xfe5d & 0xFFFF),
     ((WORD32)0x07b5 << 16) | ((WORD32)0x0342 & 0xFFFF),
     ((WORD32)0xfa7d << 16) | ((WORD32)0x074f & 0xFFFF),
     ((WORD32)0xfd36 << 16) | ((WORD32)0x05b8 & 0xFFFF),
     ((WORD32)0x075c << 16) | ((WORD32)0x0552 & 0xFFFF),
     ((WORD32)0xf814 << 16) | ((WORD32)0x06df & 0xFFFF),
     ((WORD32)0x0582 << 16) | ((WORD32)0x0474 & 0xFFFF),
     ((WORD32)0xf80b << 16) | ((WORD32)0xfe65 & 0xFFFF),
     ((WORD32)0x078a << 16) | ((WORD32)0xf806 & 0xFFFF),
     ((WORD32)0xfa9b << 16) | ((WORD32)0x03f7 & 0xFFFF),
     ((WORD32)0xfc36 << 16) | ((WORD32)0xf921 & 0xFFFF),
     ((WORD32)0x0125 << 16) | ((WORD32)0xf878 & 0xFFFF),
     ((WORD32)0xfda9 << 16) | ((WORD32)0x0076 & 0xFFFF),
     ((WORD32)0x0381 << 16) | ((WORD32)0xf9b0 & 0xFFFF),
     ((WORD32)0xfd18 << 16) | ((WORD32)0x0531 & 0xFFFF),
     ((WORD32)0xff4d << 16) | ((WORD32)0x07d1 & 0xFFFF),
     ((WORD32)0xf848 << 16) | ((WORD32)0xfbaf & 0xFFFF),
     ((WORD32)0x0471 << 16) | ((WORD32)0x0650 & 0xFFFF),
     ((WORD32)0x05e2 << 16) | ((WORD32)0x07b7 & 0xFFFF),
     ((WORD32)0xfd87 << 16) | ((WORD32)0xf98c & 0xFFFF),
     ((WORD32)0x0049 << 16) | ((WORD32)0xf837 & 0xFFFF),
     ((WORD32)0x07e6 << 16) | ((WORD32)0x03df & 0xFFFF),
     ((WORD32)0xf977 << 16) | ((WORD32)0xf8bc & 0xFFFF),
     ((WORD32)0x056e << 16) | ((WORD32)0x0681 & 0xFFFF),
     ((WORD32)0xfebc << 16) | ((WORD32)0x06d3 & 0xFFFF),
     ((WORD32)0x0675 << 16) | ((WORD32)0xfe06 & 0xFFFF),
     ((WORD32)0x03d3 << 16) | ((WORD32)0xfc4b & 0xFFFF),
     ((WORD32)0x07b6 << 16) | ((WORD32)0x0314 & 0xFFFF),
     ((WORD32)0xf812 << 16) | ((WORD32)0xfe01 & 0xFFFF),
     ((WORD32)0x06a6 << 16) | ((WORD32)0xf86b & 0xFFFF),
     ((WORD32)0xfb4d << 16) | ((WORD32)0x001a & 0xFFFF),
     ((WORD32)0x07a5 << 16) | ((WORD32)0xf928 & 0xFFFF),
     ((WORD32)0xf848 << 16) | ((WORD32)0xfae1 & 0xFFFF),
     ((WORD32)0xf837 << 16) | ((WORD32)0x00fe & 0xFFFF),
     ((WORD32)0x0750 << 16) | ((WORD32)0x04a3 & 0xFFFF),
     ((WORD32)0xf802 << 16) | ((WORD32)0x05b0 & 0xFFFF),
     ((WORD32)0xf90d << 16) | ((WORD32)0xfe60 & 0xFFFF),
     ((WORD32)0xfde7 << 16) | ((WORD32)0xfa8a & 0xFFFF),
     ((WORD32)0xfe07 << 16) | ((WORD32)0xf8fd & 0xFFFF),
     ((WORD32)0x0031 << 16) | ((WORD32)0x022d & 0xFFFF),
     ((WORD32)0x0691 << 16) | ((WORD32)0xf931 & 0xFFFF),
     ((WORD32)0x0715 << 16) | ((WORD32)0xf8d4 & 0xFFFF),
     ((WORD32)0xfe8c << 16) | ((WORD32)0xfde8 & 0xFFFF),
     ((WORD32)0x00c0 << 16) | ((WORD32)0x0463 & 0xFFFF),
     ((WORD32)0xfba0 << 16) | ((WORD32)0x07ae & 0xFFFF),
     ((WORD32)0x02f7 << 16) | ((WORD32)0xfb35 & 0xFFFF),
     ((WORD32)0xfa5f << 16) | ((WORD32)0x074c & 0xFFFF),
     ((WORD32)0xfd3b << 16) | ((WORD32)0xf80b & 0xFFFF),
     ((WORD32)0xfa7f << 16) | ((WORD32)0xfd95 & 0xFFFF),
     ((WORD32)0xfdda << 16) | ((WORD32)0x06a6 & 0xFFFF),
     ((WORD32)0x03ed << 16) | ((WORD32)0xfc5f & 0xFFFF),
     ((WORD32)0x031e << 16) | ((WORD32)0x07a4 & 0xFFFF),
     ((WORD32)0xf82e << 16) | ((WORD32)0x006d & 0xFFFF),
     ((WORD32)0xfe9d << 16) | ((WORD32)0xf894 & 0xFFFF),
     ((WORD32)0x07ff << 16) | ((WORD32)0x04aa & 0xFFFF),
     ((WORD32)0xface << 16) | ((WORD32)0x057e & 0xFFFF),
     ((WORD32)0xff0a << 16) | ((WORD32)0xfb6e & 0xFFFF),
     ((WORD32)0xfb49 << 16) | ((WORD32)0xfd36 & 0xFFFF),
     ((WORD32)0xfca8 << 16) | ((WORD32)0x014d & 0xFFFF),
     ((WORD32)0x07fe << 16) | ((WORD32)0x00e4 & 0xFFFF),
     ((WORD32)0xfb78 << 16) | ((WORD32)0xf8c3 & 0xFFFF),
     ((WORD32)0x0788 << 16) | ((WORD32)0x02d3 & 0xFFFF),
     ((WORD32)0xf9f1 << 16) | ((WORD32)0x044b & 0xFFFF),
     ((WORD32)0x01a5 << 16) | ((WORD32)0xf872 & 0xFFFF),
     ((WORD32)0x0800 << 16) | ((WORD32)0x0663 & 0xFFFF),
     ((WORD32)0x0254 << 16) | ((WORD32)0x02d5 & 0xFFFF),
     ((WORD32)0xfaf9 << 16) | ((WORD32)0x031a & 0xFFFF),
     ((WORD32)0x037a << 16) | ((WORD32)0xf81e & 0xFFFF),
     ((WORD32)0xf823 << 16) | ((WORD32)0x01af & 0xFFFF),
     ((WORD32)0x0190 << 16) | ((WORD32)0xf876 & 0xFFFF),
     ((WORD32)0xf85d << 16) | ((WORD32)0x07df & 0xFFFF),
     ((WORD32)0x0778 << 16) | ((WORD32)0xfa54 & 0xFFFF),
     ((WORD32)0xf92e << 16) | ((WORD32)0xff55 & 0xFFFF),
     ((WORD32)0xf916 << 16) | ((WORD32)0xfc56 & 0xFFFF),
     ((WORD32)0x031c << 16) | ((WORD32)0x07c8 & 0xFFFF),
     ((WORD32)0x075d << 16) | ((WORD32)0xfb01 & 0xFFFF),
     ((WORD32)0x0722 << 16) | ((WORD32)0x0465 & 0xFFFF),
     ((WORD32)0xfd0e << 16) | ((WORD32)0x07b7 & 0xFFFF),
     ((WORD32)0x0783 << 16) | ((WORD32)0xf8cd & 0xFFFF),
     ((WORD32)0x07f1 << 16) | ((WORD32)0xffb3 & 0xFFFF),
     ((WORD32)0xf87a << 16) | ((WORD32)0x034e & 0xFFFF),
     ((WORD32)0x07fb << 16) | ((WORD32)0xfea7 & 0xFFFF),
     ((WORD32)0xfd21 << 16) | ((WORD32)0xfc45 & 0xFFFF),
     ((WORD32)0x006b << 16) | ((WORD32)0xfdf3 & 0xFFFF),
     ((WORD32)0x02f0 << 16) | ((WORD32)0xfce8 & 0xFFFF),
     ((WORD32)0x0755 << 16) | ((WORD32)0xfd8e & 0xFFFF),
     ((WORD32)0x0585 << 16) | ((WORD32)0x0747 & 0xFFFF),
     ((WORD32)0xfce8 << 16) | ((WORD32)0x07f6 & 0xFFFF),
     ((WORD32)0xfda9 << 16) | ((WORD32)0x02ff & 0xFFFF),
     ((WORD32)0xfb2f << 16) | ((WORD32)0x06f1 & 0xFFFF),
     ((WORD32)0xf835 << 16) | ((WORD32)0x07b8 & 0xFFFF),
     ((WORD32)0x0714 << 16) | ((WORD32)0x049a & 0xFFFF),
     ((WORD32)0x006a << 16) | ((WORD32)0x01b4 & 0xFFFF),
     ((WORD32)0xfbb8 << 16) | ((WORD32)0x07c8 & 0xFFFF),
     ((WORD32)0xfc0c << 16) | ((WORD32)0x07db & 0xFFFF),
     ((WORD32)0xf816 << 16) | ((WORD32)0xfcc8 & 0xFFFF),
     ((WORD32)0xf827 << 16) | ((WORD32)0xfa2c & 0xFFFF),
     ((WORD32)0xfdd0 << 16) | ((WORD32)0x07ff & 0xFFFF),
     ((WORD32)0x0081 << 16) | ((WORD32)0xfba3 & 0xFFFF),
     ((WORD32)0xfe5d << 16) | ((WORD32)0xfedd & 0xFFFF),
     ((WORD32)0x054c << 16) | ((WORD32)0x05cd & 0xFFFF),
     ((WORD32)0xf938 << 16) | ((WORD32)0x0031 & 0xFFFF),
     ((WORD32)0xf8e0 << 16) | ((WORD32)0x071c & 0xFFFF),
     ((WORD32)0x07ac << 16) | ((WORD32)0x0624 & 0xFFFF),
     ((WORD32)0x05e1 << 16) | ((WORD32)0xffb3 & 0xFFFF),
     ((WORD32)0xfd76 << 16) | ((WORD32)0xfd0e & 0xFFFF),
     ((WORD32)0xfd45 << 16) | ((WORD32)0x0338 & 0xFFFF),
     ((WORD32)0x03d3 << 16) | ((WORD32)0xfcd9 & 0xFFFF),
     ((WORD32)0x07dd << 16) | ((WORD32)0x0029 & 0xFFFF),
     ((WORD32)0xfd86 << 16) | ((WORD32)0xfe8e & 0xFFFF),
     ((WORD32)0x0800 << 16) | ((WORD32)0xfde6 & 0xFFFF),
     ((WORD32)0xf88c << 16) | ((WORD32)0xf823 & 0xFFFF),
     ((WORD32)0x07fe << 16) | ((WORD32)0xf997 & 0xFFFF),
     ((WORD32)0xfdeb << 16) | ((WORD32)0xf9ec & 0xFFFF),
     ((WORD32)0xfd25 << 16) | ((WORD32)0x018b & 0xFFFF),
     ((WORD32)0xf802 << 16) | ((WORD32)0x05f9 & 0xFFFF),
     ((WORD32)0x06ed << 16) | ((WORD32)0x0473 & 0xFFFF),
     ((WORD32)0x02ac << 16) | ((WORD32)0x06e5 & 0xFFFF),
     ((WORD32)0x07ec << 16) | ((WORD32)0x005e & 0xFFFF),
     ((WORD32)0xfaaa << 16) | ((WORD32)0xf8ab & 0xFFFF),
     ((WORD32)0x051f << 16) | ((WORD32)0x0141 & 0xFFFF),
     ((WORD32)0x07f7 << 16) | ((WORD32)0x03ab & 0xFFFF),
     ((WORD32)0xfaed << 16) | ((WORD32)0x01b0 & 0xFFFF),
     ((WORD32)0xff62 << 16) | ((WORD32)0xf8d5 & 0xFFFF),
     ((WORD32)0x07e3 << 16) | ((WORD32)0x070f & 0xFFFF),
     ((WORD32)0x0668 << 16) | ((WORD32)0xfd0d & 0xFFFF),
     ((WORD32)0x0645 << 16) | ((WORD32)0x03a4 & 0xFFFF),
     ((WORD32)0x00b2 << 16) | ((WORD32)0x067a & 0xFFFF),
     ((WORD32)0xf90e << 16) | ((WORD32)0x0326 & 0xFFFF),
     ((WORD32)0xfcd8 << 16) | ((WORD32)0xfaa8 & 0xFFFF),
     ((WORD32)0x07d4 << 16) | ((WORD32)0xfa34 & 0xFFFF),
     ((WORD32)0xf866 << 16) | ((WORD32)0x072a & 0xFFFF),
     ((WORD32)0x015c << 16) | ((WORD32)0x0460 & 0xFFFF),
     ((WORD32)0xf9d9 << 16) | ((WORD32)0xf84d & 0xFFFF),
     ((WORD32)0x07fb << 16) | ((WORD32)0x036a & 0xFFFF),
     ((WORD32)0x07a3 << 16) | ((WORD32)0x07c3 & 0xFFFF),
     ((WORD32)0x07f7 << 16) | ((WORD32)0xfbac & 0xFFFF),
     ((WORD32)0x023f << 16) | ((WORD32)0xf92c & 0xFFFF),
     ((WORD32)0x06d2 << 16) | ((WORD32)0xfad6 & 0xFFFF),
     ((WORD32)0xfbf4 << 16) | ((WORD32)0xfabb & 0xFFFF),
     ((WORD32)0xf839 << 16) | ((WORD32)0xfe27 & 0xFFFF),
     ((WORD32)0x07a2 << 16) | ((WORD32)0xf810 & 0xFFFF),
     ((WORD32)0xf83f << 16) | ((WORD32)0x05e7 & 0xFFFF),
     ((WORD32)0x0278 << 16) | ((WORD32)0x0352 & 0xFFFF),
     ((WORD32)0xfe0a << 16) | ((WORD32)0x050e & 0xFFFF),
     ((WORD32)0xfd4c << 16) | ((WORD32)0xfce8 & 0xFFFF),
     ((WORD32)0xff89 << 16) | ((WORD32)0xff72 & 0xFFFF),
     ((WORD32)0xfe2b << 16) | ((WORD32)0x07c4 & 0xFFFF),
     ((WORD32)0xfe85 << 16) | ((WORD32)0x03ce & 0xFFFF),
     ((WORD32)0xff29 << 16) | ((WORD32)0xf8fa & 0xFFFF),
     ((WORD32)0xfa40 << 16) | ((WORD32)0x063e & 0xFFFF),
     ((WORD32)0x07fc << 16) | ((WORD32)0x0734 & 0xFFFF),
     ((WORD32)0x049b << 16) | ((WORD32)0xf8b8 & 0xFFFF),
     ((WORD32)0x0250 << 16) | ((WORD32)0x07b4 & 0xFFFF),
     ((WORD32)0x0360 << 16) | ((WORD32)0x03da & 0xFFFF),
     ((WORD32)0x0778 << 16) | ((WORD32)0xfc84 & 0xFFFF),
     ((WORD32)0xf83c << 16) | ((WORD32)0x06ee & 0xFFFF),
     ((WORD32)0x02f0 << 16) | ((WORD32)0x0539 & 0xFFFF),
     ((WORD32)0xf983 << 16) | ((WORD32)0x00b4 & 0xFFFF),
     ((WORD32)0xfde7 << 16) | ((WORD32)0xf894 & 0xFFFF),
     ((WORD32)0x06b8 << 16) | ((WORD32)0x0478 & 0xFFFF),
     ((WORD32)0xf802 << 16) | ((WORD32)0xf851 & 0xFFFF),
     ((WORD32)0x05f9 << 16) | ((WORD32)0x00f9 & 0xFFFF),
     ((WORD32)0xfa05 << 16) | ((WORD32)0xfdd9 & 0xFFFF),
     ((WORD32)0x07aa << 16) | ((WORD32)0xf9ad & 0xFFFF),
     ((WORD32)0x07a3 << 16) | ((WORD32)0xff50 & 0xFFFF),
     ((WORD32)0x03e6 << 16) | ((WORD32)0x0800 & 0xFFFF),
     ((WORD32)0x03b5 << 16) | ((WORD32)0x00e1 & 0xFFFF),
     ((WORD32)0xf9e1 << 16) | ((WORD32)0x0723 & 0xFFFF),
     ((WORD32)0x0497 << 16) | ((WORD32)0x02d3 & 0xFFFF),
     ((WORD32)0x0608 << 16) | ((WORD32)0x07bd & 0xFFFF),
     ((WORD32)0xfb44 << 16) | ((WORD32)0xf8d9 & 0xFFFF),
     ((WORD32)0x0602 << 16) | ((WORD32)0xfda2 & 0xFFFF),
     ((WORD32)0xf81d << 16) | ((WORD32)0x0201 & 0xFFFF),
     ((WORD32)0xfcbd << 16) | ((WORD32)0xf8cc & 0xFFFF),
     ((WORD32)0x055b << 16) | ((WORD32)0x07e4 & 0xFFFF),
     ((WORD32)0xf834 << 16) | ((WORD32)0xfffc & 0xFFFF),
     ((WORD32)0x0736 << 16) | ((WORD32)0x07fc & 0xFFFF),
     ((WORD32)0xf905 << 16) | ((WORD32)0x07f0 & 0xFFFF),
     ((WORD32)0xf8ad << 16) | ((WORD32)0xfebe & 0xFFFF),
     ((WORD32)0xffbc << 16) | ((WORD32)0xfd06 & 0xFFFF),
     ((WORD32)0x0094 << 16) | ((WORD32)0xf8e5 & 0xFFFF),
     ((WORD32)0x07f6 << 16) | ((WORD32)0x07c4 & 0xFFFF),
     ((WORD32)0xfa02 << 16) | ((WORD32)0x0800 & 0xFFFF),
     ((WORD32)0x005e << 16) | ((WORD32)0x07fc & 0xFFFF),
     ((WORD32)0xf8e0 << 16) | ((WORD32)0xfd75 & 0xFFFF),
     ((WORD32)0xf94c << 16) | ((WORD32)0x07d0 & 0xFFFF),
     ((WORD32)0x02ad << 16) | ((WORD32)0xf91a & 0xFFFF),
     ((WORD32)0xf806 << 16) | ((WORD32)0x0776 & 0xFFFF),
     ((WORD32)0xfe2c << 16) | ((WORD32)0x0183 & 0xFFFF),
     ((WORD32)0x0561 << 16) | ((WORD32)0xffb5 & 0xFFFF),
     ((WORD32)0xff97 << 16) | ((WORD32)0xf898 & 0xFFFF),
     ((WORD32)0x07ff << 16) | ((WORD32)0x077d & 0xFFFF),
     ((WORD32)0x055b << 16) | ((WORD32)0x07ea & 0xFFFF),
     ((WORD32)0xf808 << 16) | ((WORD32)0xfc6d & 0xFFFF),
     ((WORD32)0x0692 << 16) | ((WORD32)0x07f7 & 0xFFFF),
     ((WORD32)0x07ef << 16) | ((WORD32)0x05c3 & 0xFFFF),
     ((WORD32)0xfac7 << 16) | ((WORD32)0x042d & 0xFFFF),
     ((WORD32)0x0783 << 16) | ((WORD32)0xfa02 & 0xFFFF),
     ((WORD32)0x07bd << 16) | ((WORD32)0x0745 & 0xFFFF),
     ((WORD32)0xfe39 << 16) | ((WORD32)0x0492 & 0xFFFF),
     ((WORD32)0xfc78 << 16) | ((WORD32)0xf896 & 0xFFFF),
     ((WORD32)0xf925 << 16) | ((WORD32)0x071c & 0xFFFF),
     ((WORD32)0x0758 << 16) | ((WORD32)0xfc4b & 0xFFFF),
     ((WORD32)0x05ce << 16) | ((WORD32)0xf802 & 0xFFFF),
     ((WORD32)0xf806 << 16) | ((WORD32)0x04a8 & 0xFFFF),
     ((WORD32)0x0636 << 16) | ((WORD32)0x078c & 0xFFFF),
     ((WORD32)0x009e << 16) | ((WORD32)0x04b1 & 0xFFFF),
     ((WORD32)0xfb84 << 16) | ((WORD32)0x069a & 0xFFFF),
     ((WORD32)0x07df << 16) | ((WORD32)0x0328 & 0xFFFF),
     ((WORD32)0x03ce << 16) | ((WORD32)0x057d & 0xFFFF),
     ((WORD32)0x0541 << 16) | ((WORD32)0x0177 & 0xFFFF),
     ((WORD32)0x0043 << 16) | ((WORD32)0xfa01 & 0xFFFF),
     ((WORD32)0xfce8 << 16) | ((WORD32)0x041b & 0xFFFF),
     ((WORD32)0xf836 << 16) | ((WORD32)0xf847 & 0xFFFF),
     ((WORD32)0xfbbd << 16) | ((WORD32)0xf8b0 & 0xFFFF),
     ((WORD32)0x07fc << 16) | ((WORD32)0x04e4 & 0xFFFF),
     ((WORD32)0xfbfb << 16) | ((WORD32)0xf8e5 & 0xFFFF),
     ((WORD32)0x0029 << 16) | ((WORD32)0x06d1 & 0xFFFF),
     ((WORD32)0x07ff << 16) | ((WORD32)0x0791 & 0xFFFF),
     ((WORD32)0x06a2 << 16) | ((WORD32)0xff7e & 0xFFFF),
     ((WORD32)0xfb4f << 16) | ((WORD32)0x07bf & 0xFFFF),
     ((WORD32)0xfe98 << 16) | ((WORD32)0xfc26 & 0xFFFF),
     ((WORD32)0x06ad << 16) | ((WORD32)0xfef5 & 0xFFFF),
     ((WORD32)0x007a << 16) | ((WORD32)0x01a4 & 0xFFFF),
     ((WORD32)0x0685 << 16) | ((WORD32)0xf86d & 0xFFFF),
     ((WORD32)0xfc67 << 16) | ((WORD32)0x0346 & 0xFFFF),
     ((WORD32)0xf8d2 << 16) | ((WORD32)0x07fd & 0xFFFF),
     ((WORD32)0x032d << 16) | ((WORD32)0xfa03 & 0xFFFF),
     ((WORD32)0xff65 << 16) | ((WORD32)0x05ed & 0xFFFF),
     ((WORD32)0x061c << 16) | ((WORD32)0x0357 & 0xFFFF),
     ((WORD32)0xfa0a << 16) | ((WORD32)0x0794 & 0xFFFF),
     ((WORD32)0x0531 << 16) | ((WORD32)0x034f & 0xFFFF),
     ((WORD32)0x04fc << 16) | ((WORD32)0xf88d & 0xFFFF),
     ((WORD32)0x0361 << 16) | ((WORD32)0xff62 & 0xFFFF),
     ((WORD32)0x0037 << 16) | ((WORD32)0xff91 & 0xFFFF),
     ((WORD32)0x0666 << 16) | ((WORD32)0x0753 & 0xFFFF),
     ((WORD32)0xf9a7 << 16) | ((WORD32)0xfd1a & 0xFFFF),
     ((WORD32)0x051c << 16) | ((WORD32)0x00a6 & 0xFFFF),
     ((WORD32)0x043b << 16) | ((WORD32)0x04ce & 0xFFFF),
     ((WORD32)0x05f0 << 16) | ((WORD32)0x005c & 0xFFFF),
     ((WORD32)0x07ed << 16) | ((WORD32)0xfe72 & 0xFFFF),
     ((WORD32)0xf991 << 16) | ((WORD32)0xf8eb & 0xFFFF),
     ((WORD32)0xfad5 << 16) | ((WORD32)0x05c7 & 0xFFFF),
     ((WORD32)0x00ef << 16) | ((WORD32)0xf94f & 0xFFFF),
     ((WORD32)0xf865 << 16) | ((WORD32)0xf83f & 0xFFFF),
     ((WORD32)0xfb06 << 16) | ((WORD32)0x069f & 0xFFFF),
     ((WORD32)0x003e << 16) | ((WORD32)0xf805 & 0xFFFF),
     ((WORD32)0xf829 << 16) | ((WORD32)0x02ec & 0xFFFF),
     ((WORD32)0xf800 << 16) | ((WORD32)0xfd1e & 0xFFFF),
     ((WORD32)0x0721 << 16) | ((WORD32)0xf82b & 0xFFFF),
     ((WORD32)0x00d5 << 16) | ((WORD32)0x0630 & 0xFFFF),
     ((WORD32)0x07ad << 16) | ((WORD32)0xfd2a & 0xFFFF),
     ((WORD32)0x0411 << 16) | ((WORD32)0x07b0 & 0xFFFF),
     ((WORD32)0x015c << 16) | ((WORD32)0xf9da & 0xFFFF),
     ((WORD32)0x0212 << 16) | ((WORD32)0x07fe & 0xFFFF),
     ((WORD32)0xffe9 << 16) | ((WORD32)0x07e1 & 0xFFFF),
     ((WORD32)0xf9a2 << 16) | ((WORD32)0x07c5 & 0xFFFF),
     ((WORD32)0xf80f << 16) | ((WORD32)0xf809 & 0xFFFF),
     ((WORD32)0xf803 << 16) | ((WORD32)0x0026 & 0xFFFF),
     ((WORD32)0xfa56 << 16) | ((WORD32)0x02b2 & 0xFFFF),
     ((WORD32)0xfa5d << 16) | ((WORD32)0x0776 & 0xFFFF),
     ((WORD32)0x07fd << 16) | ((WORD32)0xf81a & 0xFFFF),
     ((WORD32)0xfaee << 16) | ((WORD32)0xfeaf & 0xFFFF),
     ((WORD32)0xfeb3 << 16) | ((WORD32)0xf853 & 0xFFFF),
     ((WORD32)0xfc82 << 16) | ((WORD32)0xf86a & 0xFFFF),
     ((WORD32)0xf803 << 16) | ((WORD32)0x07b3 & 0xFFFF),
     ((WORD32)0xfea8 << 16) | ((WORD32)0xf815 & 0xFFFF),
     ((WORD32)0xf8f6 << 16) | ((WORD32)0xfa43 & 0xFFFF),
     ((WORD32)0x0389 << 16) | ((WORD32)0xf884 & 0xFFFF),
     ((WORD32)0x0777 << 16) | ((WORD32)0xf802 & 0xFFFF),
     ((WORD32)0xf87c << 16) | ((WORD32)0xfb7d & 0xFFFF),
     ((WORD32)0xf8ea << 16) | ((WORD32)0x03cf & 0xFFFF),
     ((WORD32)0x07ff << 16) | ((WORD32)0xf94a & 0xFFFF),
     ((WORD32)0xf9f8 << 16) | ((WORD32)0x0011 & 0xFFFF),
     ((WORD32)0x0783 << 16) | ((WORD32)0xff19 & 0xFFFF),
     ((WORD32)0x06cf << 16) | ((WORD32)0x0430 & 0xFFFF),
     ((WORD32)0x032d << 16) | ((WORD32)0x068b & 0xFFFF),
     ((WORD32)0xfd0a << 16) | ((WORD32)0xf909 & 0xFFFF),
     ((WORD32)0xfd1e << 16) | ((WORD32)0x02c6 & 0xFFFF),
     ((WORD32)0xf887 << 16) | ((WORD32)0xf93e & 0xFFFF),
     ((WORD32)0xfac7 << 16) | ((WORD32)0xfe86 & 0xFFFF),
     ((WORD32)0x00f5 << 16) | ((WORD32)0x07fe & 0xFFFF),
     ((WORD32)0x078b << 16) | ((WORD32)0x06a7 & 0xFFFF),
     ((WORD32)0x0602 << 16) | ((WORD32)0xfd28 & 0xFFFF),
     ((WORD32)0x048a << 16) | ((WORD32)0xfe13 & 0xFFFF),
     ((WORD32)0x03c0 << 16) | ((WORD32)0xfd97 & 0xFFFF),
     ((WORD32)0x07c9 << 16) | ((WORD32)0xf809 & 0xFFFF),
     ((WORD32)0xfcf0 << 16) | ((WORD32)0x07e2 & 0xFFFF),
     ((WORD32)0x0348 << 16) | ((WORD32)0x002b & 0xFFFF),
     ((WORD32)0x00c5 << 16) | ((WORD32)0x005a & 0xFFFF),
     ((WORD32)0xf92d << 16) | ((WORD32)0x0751 & 0xFFFF),
     ((WORD32)0x071c << 16) | ((WORD32)0xf805 & 0xFFFF),
     ((WORD32)0xfc25 << 16) | ((WORD32)0xf841 & 0xFFFF),
     ((WORD32)0x0235 << 16) | ((WORD32)0x04b1 & 0xFFFF),
     ((WORD32)0xfabb << 16) | ((WORD32)0x04b5 & 0xFFFF),
     ((WORD32)0x07e8 << 16) | ((WORD32)0x0800 & 0xFFFF),
     ((WORD32)0xfe59 << 16) | ((WORD32)0x045e & 0xFFFF),
     ((WORD32)0xfb08 << 16) | ((WORD32)0xfb35 & 0xFFFF),
     ((WORD32)0x01a0 << 16) | ((WORD32)0xf90d & 0xFFFF),
     ((WORD32)0xf82d << 16) | ((WORD32)0x07b4 & 0xFFFF),
     ((WORD32)0x00e4 << 16) | ((WORD32)0x01b8 & 0xFFFF),
     ((WORD32)0xfcb1 << 16) | ((WORD32)0x0242 & 0xFFFF),
     ((WORD32)0x01ee << 16) | ((WORD32)0x041b & 0xFFFF),
     ((WORD32)0xfab0 << 16) | ((WORD32)0xff57 & 0xFFFF),
     ((WORD32)0xfbb4 << 16) | ((WORD32)0xf830 & 0xFFFF),
     ((WORD32)0xf839 << 16) | ((WORD32)0x01c4 & 0xFFFF),
     ((WORD32)0x06fe << 16) | ((WORD32)0xfefa & 0xFFFF),
     ((WORD32)0x0186 << 16) | ((WORD32)0x0021 & 0xFFFF),
     ((WORD32)0xfc4b << 16) | ((WORD32)0xf861 & 0xFFFF),
     ((WORD32)0xff6f << 16) | ((WORD32)0xf871 & 0xFFFF),
     ((WORD32)0xf89b << 16) | ((WORD32)0xff2a & 0xFFFF),
     ((WORD32)0xf94b << 16) | ((WORD32)0xffdd & 0xFFFF),
     ((WORD32)0x0604 << 16) | ((WORD32)0xf801 & 0xFFFF),
     ((WORD32)0xfca2 << 16) | ((WORD32)0x07fa & 0xFFFF),
     ((WORD32)0xfa3b << 16) | ((WORD32)0xfd33 & 0xFFFF),
     ((WORD32)0x064f << 16) | ((WORD32)0x043a & 0xFFFF),
     ((WORD32)0x07cb << 16) | ((WORD32)0xfddd & 0xFFFF),
     ((WORD32)0x07f0 << 16) | ((WORD32)0xfb70 & 0xFFFF),
     ((WORD32)0x0625 << 16) | ((WORD32)0xf9e1 & 0xFFFF),
     ((WORD32)0xf971 << 16) | ((WORD32)0xfa1e & 0xFFFF),
     ((WORD32)0x068e << 16) | ((WORD32)0x07fa & 0xFFFF),
     ((WORD32)0xfddd << 16) | ((WORD32)0x0583 & 0xFFFF),
     ((WORD32)0xfc89 << 16) | ((WORD32)0x06d3 & 0xFFFF),
     ((WORD32)0x07f0 << 16) | ((WORD32)0x075a & 0xFFFF),
     ((WORD32)0xf98b << 16) | ((WORD32)0xfd64 & 0xFFFF),
     ((WORD32)0x0372 << 16) | ((WORD32)0xfe3f & 0xFFFF),
     ((WORD32)0x056b << 16) | ((WORD32)0xf85d & 0xFFFF),
     ((WORD32)0x047e << 16) | ((WORD32)0xfa58 & 0xFFFF),
     ((WORD32)0x00de << 16) | ((WORD32)0xff4f & 0xFFFF),
     ((WORD32)0x074c << 16) | ((WORD32)0xfab9 & 0xFFFF),
     ((WORD32)0xfc15 << 16) | ((WORD32)0x0481 & 0xFFFF),
     ((WORD32)0xf8e1 << 16) | ((WORD32)0xfa44 & 0xFFFF),
     ((WORD32)0x0539 << 16) | ((WORD32)0x0546 & 0xFFFF),
     ((WORD32)0x0565 << 16) | ((WORD32)0xf977 & 0xFFFF),
     ((WORD32)0xfc2e << 16) | ((WORD32)0xfea8 & 0xFFFF),
     ((WORD32)0xf806 << 16) | ((WORD32)0xf884 & 0xFFFF),
     ((WORD32)0xf8bb << 16) | ((WORD32)0x04f6 & 0xFFFF),
     ((WORD32)0xff78 << 16) | ((WORD32)0xfe18 & 0xFFFF),
     ((WORD32)0x07f4 << 16) | ((WORD32)0x0181 & 0xFFFF),
     ((WORD32)0x07d1 << 16) | ((WORD32)0xfdb5 & 0xFFFF),
     ((WORD32)0x0796 << 16) | ((WORD32)0xf833 & 0xFFFF),
     ((WORD32)0xf85e << 16) | ((WORD32)0xf9a2 & 0xFFFF),
     ((WORD32)0xfc12 << 16) | ((WORD32)0x02a2 & 0xFFFF),
     ((WORD32)0x07fe << 16) | ((WORD32)0x071f & 0xFFFF),
     ((WORD32)0x0409 << 16) | ((WORD32)0xf91f & 0xFFFF),
     ((WORD32)0x03c6 << 16) | ((WORD32)0xfe81 & 0xFFFF),
     ((WORD32)0xfb09 << 16) | ((WORD32)0x0600 & 0xFFFF),
     ((WORD32)0xfc7e << 16) | ((WORD32)0x0800 & 0xFFFF),
     ((WORD32)0x07e4 << 16) | ((WORD32)0xfbb7 & 0xFFFF),
     ((WORD32)0xfb14 << 16) | ((WORD32)0xf8d7 & 0xFFFF),
     ((WORD32)0xffb1 << 16) | ((WORD32)0xfa69 & 0xFFFF),
     ((WORD32)0xfd98 << 16) | ((WORD32)0xff63 & 0xFFFF),
     ((WORD32)0x035a << 16) | ((WORD32)0x002d & 0xFFFF),
     ((WORD32)0xf91c << 16) | ((WORD32)0x07ea & 0xFFFF),
     ((WORD32)0x0561 << 16) | ((WORD32)0xfeec & 0xFFFF),
     ((WORD32)0xfa57 << 16) | ((WORD32)0xf9e0 & 0xFFFF),
     ((WORD32)0x0786 << 16) | ((WORD32)0x00b9 & 0xFFFF),
     ((WORD32)0xf969 << 16) | ((WORD32)0x00b7 & 0xFFFF),
     ((WORD32)0xfd6f << 16) | ((WORD32)0x0403 & 0xFFFF),
     ((WORD32)0x049c << 16) | ((WORD32)0xf815 & 0xFFFF),
     ((WORD32)0xfd18 << 16) | ((WORD32)0x0098 & 0xFFFF),
     ((WORD32)0x0800 << 16) | ((WORD32)0xfedf & 0xFFFF),
     ((WORD32)0xf89c << 16) | ((WORD32)0xf829 & 0xFFFF),
     ((WORD32)0xfc6e << 16) | ((WORD32)0xfba9 & 0xFFFF),
     ((WORD32)0x038a << 16) | ((WORD32)0x05b5 & 0xFFFF),
     ((WORD32)0x004b << 16) | ((WORD32)0x0517 & 0xFFFF),
     ((WORD32)0x042d << 16) | ((WORD32)0xf92b & 0xFFFF),
     ((WORD32)0xf86d << 16) | ((WORD32)0xffdb & 0xFFFF),
     ((WORD32)0xf819 << 16) | ((WORD32)0x0695 & 0xFFFF),
     ((WORD32)0x06ff << 16) | ((WORD32)0x0727 & 0xFFFF),
     ((WORD32)0xf887 << 16) | ((WORD32)0x034f & 0xFFFF),
     ((WORD32)0x07af << 16) | ((WORD32)0x0773 & 0xFFFF),
     ((WORD32)0x07ce << 16) | ((WORD32)0x06e4 & 0xFFFF),
     ((WORD32)0x07f9 << 16) | ((WORD32)0x059d & 0xFFFF),
     ((WORD32)0xf86c << 16) | ((WORD32)0xfda2 & 0xFFFF),
     ((WORD32)0x0754 << 16) | ((WORD32)0xf826 & 0xFFFF),

     ((WORD32)0xf801 << 16) | ((WORD32)0xfb3e & 0xFFFF),
     ((WORD32)0x07c5 << 16) | ((WORD32)0xfa99 & 0xFFFF),
     ((WORD32)0x0121 << 16) | ((WORD32)0xf865 & 0xFFFF),
     ((WORD32)0xfc3d << 16) | ((WORD32)0xfd03 & 0xFFFF),
     ((WORD32)0x0675 << 16) | ((WORD32)0x025f & 0xFFFF),
     ((WORD32)0xfce2 << 16) | ((WORD32)0x072a & 0xFFFF),
     ((WORD32)0xffea << 16) | ((WORD32)0xfaa5 & 0xFFFF),
     ((WORD32)0xf8b3 << 16) | ((WORD32)0xff14 & 0xFFFF),
     ((WORD32)0x0463 << 16) | ((WORD32)0x0605 & 0xFFFF),
     ((WORD32)0x0333 << 16) | ((WORD32)0xf816 & 0xFFFF),
     ((WORD32)0xf803 << 16) | ((WORD32)0xf8f3 & 0xFFFF),
     ((WORD32)0xf85c << 16) | ((WORD32)0x0746 & 0xFFFF),
     ((WORD32)0xfc58 << 16) | ((WORD32)0xfb76 & 0xFFFF),
     ((WORD32)0xfa2a << 16) | ((WORD32)0xf829 & 0xFFFF),
     ((WORD32)0x060d << 16) | ((WORD32)0x01ad & 0xFFFF),
     ((WORD32)0x0091 << 16) | ((WORD32)0xf9bd & 0xFFFF),
     ((WORD32)0x05f6 << 16) | ((WORD32)0xf8b5 & 0xFFFF),
     ((WORD32)0xf849 << 16) | ((WORD32)0xf86c & 0xFFFF),
     ((WORD32)0x026f << 16) | ((WORD32)0xfc0c & 0xFFFF),
     ((WORD32)0x0553 << 16) | ((WORD32)0x052c & 0xFFFF),
     ((WORD32)0x0756 << 16) | ((WORD32)0x0167 & 0xFFFF),
     ((WORD32)0xfa57 << 16) | ((WORD32)0x0434 & 0xFFFF),
     ((WORD32)0xfa65 << 16) | ((WORD32)0xfc5f & 0xFFFF),
     ((WORD32)0xf80a << 16) | ((WORD32)0xf8cb & 0xFFFF),
     ((WORD32)0x07da << 16) | ((WORD32)0xf9ce & 0xFFFF),
     ((WORD32)0xfba0 << 16) | ((WORD32)0xffcb & 0xFFFF),
     ((WORD32)0xffdd << 16) | ((WORD32)0x0006 & 0xFFFF),
     ((WORD32)0xf91c << 16) | ((WORD32)0x0367 & 0xFFFF),
     ((WORD32)0xf817 << 16) | ((WORD32)0xf8f8 & 0xFFFF),
     ((WORD32)0x0424 << 16) | ((WORD32)0x055b & 0xFFFF),
     ((WORD32)0xf807 << 16) | ((WORD32)0xfb5a & 0xFFFF),
     ((WORD32)0xf801 << 16) | ((WORD32)0x07df & 0xFFFF),
     ((WORD32)0x046c << 16) | ((WORD32)0x04c2 & 0xFFFF),
     ((WORD32)0x02c4 << 16) | ((WORD32)0x0797 & 0xFFFF),
     ((WORD32)0x0503 << 16) | ((WORD32)0xfa0c & 0xFFFF),
     ((WORD32)0xf9d4 << 16) | ((WORD32)0xfd4a & 0xFFFF),
     ((WORD32)0xf8ac << 16) | ((WORD32)0x004c & 0xFFFF),
     ((WORD32)0xf9e6 << 16) | ((WORD32)0xf8b1 & 0xFFFF),
     ((WORD32)0x0662 << 16) | ((WORD32)0xf88c & 0xFFFF),
     ((WORD32)0x045c << 16) | ((WORD32)0xff0c & 0xFFFF),
     ((WORD32)0xf926 << 16) | ((WORD32)0x0365 & 0xFFFF),
     ((WORD32)0xf892 << 16) | ((WORD32)0x023b & 0xFFFF),
     ((WORD32)0xff10 << 16) | ((WORD32)0xf804 & 0xFFFF),
     ((WORD32)0x01b5 << 16) | ((WORD32)0xf8be & 0xFFFF),
     ((WORD32)0xf9e8 << 16) | ((WORD32)0x07fb & 0xFFFF),
     ((WORD32)0x07d9 << 16) | ((WORD32)0xf855 & 0xFFFF),
     ((WORD32)0xf920 << 16) | ((WORD32)0x07a9 & 0xFFFF),
     ((WORD32)0xf889 << 16) | ((WORD32)0x03f4 & 0xFFFF)}

};

const ia_qmf_dec_tables_struct ixheaacd_aac_qmf_dec_tables = {

    // const WORD16 w_32[2 * 30] =
    {0,      32767,  0,      32767,  0,      32767,  6393,   32138, 12540,
     30274,  18205,  27246,  12540,  30274,  23170,  23170,  30274, 12540,
     18205,  27246,  30274,  12540,  32138,  -6393,  23170,  23170, 32767,
     0,      23170,  -23170, 27246,  18205,  30274,  -12540, 6393,  -32138,
     30274,  12540,  23170,  -23170, -12540, -30274, 32138,  6393,  12540,
     -30274, -27246, -18205, 0,      32767,  0,      32767,  0,     32767,
     23170,  23170,  32767,  0,      23170,  -23170},

    // const WORD16 w_16[2 * 12] =
    {0,     32767,  0,     32767, 0,     32767,  12540,  30274,
     23170, 23170,  30274, 12540, 23170, 23170,  32767,  0,
     23170, -23170, 30274, 12540, 23170, -23170, -12540, -30274},

    // const WORD32 ixheaacd_dig_rev_table2_32[4]=
    {0, 64, 16, 80},

    // const WORD32 ixheaacd_dig_rev_table4_16[2]=
    {0, 16},

    // const WORD16 ixheaacd_sbr_sin_twiddle_l64 and
    // ixheaacd_sbr_cos_twiddle_l64 [32] =
    {
        (WORD16)0x0192, (WORD16)0x7ffe, (WORD16)0x7fea, (WORD16)0x04b6,
        (WORD16)0x07d9, (WORD16)0x7fc2, (WORD16)0x7f87, (WORD16)0x0afb,
        (WORD16)0x0e1c, (WORD16)0x7f38, (WORD16)0x7ed6, (WORD16)0x113a,
        (WORD16)0x1455, (WORD16)0x7e60, (WORD16)0x7dd6, (WORD16)0x176e,
        (WORD16)0x1a83, (WORD16)0x7d3a, (WORD16)0x7c89, (WORD16)0x1d93,
        (WORD16)0x209f, (WORD16)0x7bc6, (WORD16)0x7aef, (WORD16)0x23a7,
        (WORD16)0x26a8, (WORD16)0x7a06, (WORD16)0x790a, (WORD16)0x29a4,
        (WORD16)0x2c99, (WORD16)0x77fb, (WORD16)0x76d9, (WORD16)0x2f87,
        (WORD16)0x326e, (WORD16)0x75a6, (WORD16)0x7460, (WORD16)0x354e,
        (WORD16)0x3825, (WORD16)0x7308, (WORD16)0x719e, (WORD16)0x3af3,
        (WORD16)0x3db8, (WORD16)0x7023, (WORD16)0x6e97, (WORD16)0x4074,
        (WORD16)0x4326, (WORD16)0x6cf9, (WORD16)0x6b4b, (WORD16)0x45cd,
        (WORD16)0x486a, (WORD16)0x698c, (WORD16)0x67bd, (WORD16)0x4afb,
        (WORD16)0x4d81, (WORD16)0x65de, (WORD16)0x63ef, (WORD16)0x4ffb,
        (WORD16)0x5269, (WORD16)0x61f1, (WORD16)0x5fe4, (WORD16)0x54ca,
        (WORD16)0x571e, (WORD16)0x5dc8, (WORD16)0x5b9d, (WORD16)0x5964,

    },
    // WORD16 sbr_alt_sin_twiddle_l64[32];
    {
        // (WORD16)0x0000,  (WORD16)0x7fff,
        (WORD16)0x0648, (WORD16)0x7fd9, (WORD16)0x0c8c, (WORD16)0x7f62,
        (WORD16)0x12c8, (WORD16)0x7e9d, (WORD16)0x18f9, (WORD16)0x7d8a,
        (WORD16)0x1f1a, (WORD16)0x7c2a, (WORD16)0x2528, (WORD16)0x7a7d,
        (WORD16)0x2b1f, (WORD16)0x7885, (WORD16)0x30fc, (WORD16)0x7642,
        (WORD16)0x36ba, (WORD16)0x73b6, (WORD16)0x3c57, (WORD16)0x70e3,
        (WORD16)0x41ce, (WORD16)0x6dca, (WORD16)0x471d, (WORD16)0x6a6e,
        (WORD16)0x4c40, (WORD16)0x66d0, (WORD16)0x5134, (WORD16)0x62f2,
        (WORD16)0x55f6, (WORD16)0x5ed7, (WORD16)0x5a82, (WORD16)0x5a82,

    },

    // const WORD16 ixheaacd_sbr_cos_sin_twiddle_ds_l32[32+32] =
    {(WORD16)0x7ffe, (WORD16)0x0192, (WORD16)0x7fea, (WORD16)0x04b6,
     (WORD16)0x7fc2, (WORD16)0x07d9, (WORD16)0x7f87, (WORD16)0x0afb,
     (WORD16)0x7f38, (WORD16)0x0e1c, (WORD16)0x7ed6, (WORD16)0x113a,
     (WORD16)0x7e60, (WORD16)0x1455, (WORD16)0x7dd6, (WORD16)0x176e,
     (WORD16)0x7d3a, (WORD16)0x1a83, (WORD16)0x7c89, (WORD16)0x1d93,
     (WORD16)0x7bc6, (WORD16)0x209f, (WORD16)0x7aef, (WORD16)0x23a7,
     (WORD16)0x7a06, (WORD16)0x26a8, (WORD16)0x790a, (WORD16)0x29a4,
     (WORD16)0x77fb, (WORD16)0x2c99, (WORD16)0x76d9, (WORD16)0x2f87,
     (WORD16)0x75a6, (WORD16)0x326e, (WORD16)0x7460, (WORD16)0x354e,
     (WORD16)0x7308, (WORD16)0x3825, (WORD16)0x719e, (WORD16)0x3af3,
     (WORD16)0x7023, (WORD16)0x3db8, (WORD16)0x6e97, (WORD16)0x4074,
     (WORD16)0x6cf9, (WORD16)0x4326, (WORD16)0x6b4b, (WORD16)0x45cd,
     (WORD16)0x698c, (WORD16)0x486a, (WORD16)0x67bd, (WORD16)0x4afb,
     (WORD16)0x65de, (WORD16)0x4d81, (WORD16)0x63ef, (WORD16)0x4ffb,
     (WORD16)0x61f1, (WORD16)0x5269, (WORD16)0x5fe4, (WORD16)0x54ca,
     (WORD16)0x5dc8, (WORD16)0x571e, (WORD16)0x5b9d, (WORD16)0x5964},

    // const WORD16 ixheaacd_sbr_cos_twiddle_l32 and
    // ixheaacd_sbr_sin_twiddle_l32[16]=
    {
        (WORD16)0x0324, (WORD16)0x7ff6, (WORD16)0x7fa7, (WORD16)0x096b,
        (WORD16)0x0fab, (WORD16)0x7f0a, (WORD16)0x7e1e, (WORD16)0x15e2,
        (WORD16)0x1c0c, (WORD16)0x7ce4, (WORD16)0x7b5d, (WORD16)0x2224,
        (WORD16)0x2827, (WORD16)0x798a, (WORD16)0x776c, (WORD16)0x2e11,
        (WORD16)0x33df, (WORD16)0x7505, (WORD16)0x7255, (WORD16)0x398d,
        (WORD16)0x3f17, (WORD16)0x6f5f, (WORD16)0x6c24, (WORD16)0x447b,
        (WORD16)0x49b4, (WORD16)0x68a7, (WORD16)0x64e9, (WORD16)0x4ec0,
        (WORD16)0x539b, (WORD16)0x60ec, (WORD16)0x5cb4, (WORD16)0x5843,

    },
    // const WORD16 ixheaacd_sbr_alt_sin_twiddle_l32[17] =
    {
        //(WORD16)0x0000, (WORD16)0x7fff,
        (WORD16)0x0c8c, (WORD16)0x7f62, (WORD16)0x18f9, (WORD16)0x7d8a,
        (WORD16)0x2528, (WORD16)0x7a7d, (WORD16)0x30fc, (WORD16)0x7642,
        (WORD16)0x3c57, (WORD16)0x70e3, (WORD16)0x471d, (WORD16)0x6a6e,
        (WORD16)0x5134, (WORD16)0x62f2, (WORD16)0x5a82, (WORD16)0x5a82,

    },
    // const WORD16 ixheaacd_sbr_t_cos_sin_l32[32+32] = //exp[-i * pi/32* 3/4 *
    // (k +0.5)]
    {(WORD16)0x7fea,  (WORD16)0x04b6, (WORD16)0x7f38,  (WORD16)0x0e1c,
     (WORD16)0x7dd6,  (WORD16)0x176e, (WORD16)0x7bc6,  (WORD16)0x209f,
     (WORD16)0x790a,  (WORD16)0x29a4, (WORD16)0x75a6,  (WORD16)0x326e,
     (WORD16)0x719e,  (WORD16)0x3af3, (WORD16)0x6cf9,  (WORD16)0x4326,
     (WORD16)0x67bd,  (WORD16)0x4afb, (WORD16)0x61f1,  (WORD16)0x5269,
     (WORD16)0x5b9d,  (WORD16)0x5964, (WORD16)0x54ca,  (WORD16)0x5fe4,
     (WORD16)0x4d81,  (WORD16)0x65de, (WORD16)0x45cd,  (WORD16)0x6b4b,
     (WORD16)0x3db8,  (WORD16)0x7023, (WORD16)0x354e,  (WORD16)0x7460,
     (WORD16)0x2c99,  (WORD16)0x77fb, (WORD16)0x23a7,  (WORD16)0x7aef,
     (WORD16)0x1a83,  (WORD16)0x7d3a, (WORD16)0x113a,  (WORD16)0x7ed6,
     (WORD16)0x07d9,  (WORD16)0x7fc2, (WORD16)-0x0192, (WORD16)0x7ffe,
     (WORD16)-0x0afb, (WORD16)0x7f87, (WORD16)-0x1455, (WORD16)0x7e60,
     (WORD16)-0x1d93, (WORD16)0x7c89, (WORD16)-0x26a8, (WORD16)0x7a06,
     (WORD16)-0x2f87, (WORD16)0x76d9, (WORD16)-0x3825, (WORD16)0x7308,
     (WORD16)-0x4074, (WORD16)0x6e97, (WORD16)-0x486a, (WORD16)0x698c,
     (WORD16)-0x4ffb, (WORD16)0x63ef, (WORD16)-0x571e, (WORD16)0x5dc8},

    // const WORD16 ixheeaacd_post_fft_tw_tab[17] =
    {32767, 32610, 32138, 31357, 30274, 28899, 27246, 25330, 23170, 20788,
     18205, 15447, 12540, 9512, 6393, 3212, 0},

    // const WORD16 ixheaacd_dct23_tw[66] =
    {0,     0,     32758, 804,   32729, 1608,  32679, 2411,  32610, 3212,
     32522, 4011,  32413, 4808,  32286, 5602,  32138, 6393,  31972, 7180,
     31786, 7962,  31581, 8740,  31357, 9512,  31114, 10279, 30853, 11039,
     30572, 11793, 30274, 12540, 29957, 13279, 29622, 14010, 29269, 14733,
     28899, 15447, 28511, 16151, 28106, 16846, 27684, 17531, 27246, 18205,
     26791, 18868, 26320, 19520, 25833, 20160, 25330, 20788, 24812, 21403,
     24279, 22006, 23732, 22595, 23170, 23170},

    // const WORD16 qmf_c[1280] =
    {0,      -18,    -18,    -16,    -16,    -16,   -17,    -17,    -18,
     -19,    -19,    -20,    -21,    -21,    -22,   -23,    -23,    -24,
     -24,    -25,    -25,    -25,    -26,    -25,   -26,    -26,    -25,
     -25,    -25,    -24,    -24,    -23,    -22,   -21,    -19,    -18,
     -17,    -15,    -13,    -11,    -9,     -7,    -5,     -2,     0,
     4,      7,      10,     13,     17,     20,    24,     28,     32,
     37,     41,     46,     51,     55,     60,    65,     70,     75,
     81,     86,     91,     97,     102,    107,   113,    118,    123,
     128,    134,    138,    143,    148,    153,   157,    161,    165,
     168,    172,    175,    178,    180,    182,   183,    184,    185,
     185,    184,    183,    182,    179,    176,   173,    168,    163,
     158,    151,    144,    135,    126,    116,   105,    93,     80,
     66,     52,     36,     19,     1,      -18,   -38,    -59,    -81,
     -105,   -129,   -155,   -181,   -209,   -238,  -268,   -299,   -331,
     -365,   -399,   435,    472,    509,    548,   588,    629,    670,
     713,    756,    800,    845,    891,    937,   985,    1032,   1081,
     1129,   1179,   1228,   1278,   1328,   1378,  1429,   1479,   1530,
     1580,   1630,   1680,   1729,   1778,   1826,  1873,   1920,   1966,
     2010,   2054,   2096,   2137,   2177,   2215,  2251,   2286,   2319,
     2349,   2378,   2404,   2428,   2449,   2468,  2484,   2497,   2507,
     2514,   2517,   2517,   2514,   2507,   2496,  2482,   2463,   2440,
     2413,   2381,   2346,   2305,   2260,   2210,  2155,   2095,   2030,
     1960,   1885,   1804,   1717,   1625,   1528,  1425,   1315,   1201,
     1080,   953,    820,    682,    536,    385,   228,    65,     -105,
     -281,   -463,   -652,   -846,   -1047,  -1254, -1467,  -1687,  -1913,
     -2144,  -2382,  -2626,  -2876,  -3131,  -3393, -3660,  -3932,  -4211,
     -4494,  -4783,  -5078,  -5377,  -5681,  -5991, -6304,  -6623,  -6946,
     -7273,  -7604,  -7940,  -8279,  -8621,  -8967, -9317,  -9669,  -10024,
     -10382, -10742, -11104, -11469, 11834,  12202, 12571,  12941,  13311,
     13683,  14055,  14426,  14798,  15169,  15540, 15910,  16278,  16646,
     17011,  17374,  17736,  18095,  18451,  18804, 19154,  19501,  19844,
     20182,  20517,  20847,  21172,  21493,  21808, 22117,  22421,  22719,
     23011,  23296,  23575,  23847,  24111,  24369, 24619,  24861,  25096,
     25322,  25540,  25750,  25951,  26144,  26327, 26502,  26667,  26823,
     26969,  27107,  27234,  27351,  27459,  27556, 27644,  27721,  27788,
     27846,  27892,  27928,  27954,  27970,  27975, 27970,  27954,  27928,
     27892,  27846,  27788,  27721,  27644,  27556, 27459,  27351,  27234,
     27107,  26969,  26823,  26667,  26502,  26327, 26144,  25951,  25750,
     25540,  25322,  25096,  24861,  24619,  24369, 24111,  23847,  23575,
     23296,  23011,  22719,  22421,  22117,  21808, 21493,  21172,  20847,
     20517,  20182,  19844,  19501,  19154,  18804, 18451,  18095,  17736,
     17374,  17011,  16646,  16278,  15910,  15540, 15169,  14798,  14426,
     14055,  13683,  13311,  12941,  12571,  12202, -11834, -11469, -11104,
     -10742, -10382, -10024, -9669,  -9317,  -8967, -8621,  -8279,  -7940,
     -7604,  -7273,  -6946,  -6623,  -6304,  -5991, -5681,  -5377,  -5078,
     -4783,  -4494,  -4211,  -3932,  -3660,  -3393, -3131,  -2876,  -2626,
     -2382,  -2144,  -1913,  -1687,  -1467,  -1254, -1047,  -846,   -652,
     -463,   -281,   -105,   65,     228,    385,   536,    682,    820,
     953,    1080,   1201,   1315,   1425,   1528,  1625,   1717,   1804,
     1885,   1960,   2030,   2095,   2155,   2210,  2260,   2305,   2346,
     2381,   2413,   2440,   2463,   2482,   2496,  2507,   2514,   2517,
     2517,   2514,   2507,   2497,   2484,   2468,  2449,   2428,   2404,
     2378,   2349,   2319,   2286,   2251,   2215,  2177,   2137,   2096,
     2054,   2010,   1966,   1920,   1873,   1826,  1778,   1729,   1680,
     1630,   1580,   1530,   1479,   1429,   1378,  1328,   1278,   1228,
     1179,   1129,   1081,   1032,   985,    937,   891,    845,    800,
     756,    713,    670,    629,    588,    548,   509,    472,    -435,
     -399,   -365,   -331,   -299,   -268,   -238,  -209,   -181,   -155,
     -129,   -105,   -81,    -59,    -38,    -18,   1,      19,     36,
     52,     66,     80,     93,     105,    116,   126,    135,    144,
     151,    158,    163,    168,    173,    176,   179,    182,    183,
     184,    185,    185,    184,    183,    182,   180,    178,    175,
     172,    168,    165,    161,    157,    153,   148,    143,    138,
     134,    128,    123,    118,    113,    107,   102,    97,     91,
     86,     81,     75,     70,     65,     60,    55,     51,     46,
     41,     37,     32,     28,     24,     20,    17,     13,     10,
     7,      4,      0,      -2,     -5,     -7,    -9,     -11,    -13,
     -15,    -17,    -18,    -19,    -21,    -22,   -23,    -24,    -24,
     -25,    -25,    -25,    -26,    -26,    -25,   -26,    -25,    -25,
     -25,    -24,    -24,    -23,    -23,    -22,   -21,    -21,    -20,
     -19,    -19,    -18,    -17,    -17,    -16,   -16,    -16,    -18,
     -18,    0,      -18,    -18,    -16,    -16,   -16,    -17,    -17,
     -18,    -19,    -19,    -20,    -21,    -21,   -22,    -23,    -23,
     -24,    -24,    -25,    -25,    -25,    -26,   -25,    -26,    -26,
     -25,    -25,    -25,    -24,    -24,    -23,   -22,    -21,    -19,
     -18,    -17,    -15,    -13,    -11,    -9,    -7,     -5,     -2,
     0,      4,      7,      10,     13,     17,    20,     24,     28,
     32,     37,     41,     46,     51,     55,    60,     65,     70,
     75,     81,     86,     91,     97,     102,   107,    113,    118,
     123,    128,    134,    138,    143,    148,   153,    157,    161,
     165,    168,    172,    175,    178,    180,   182,    183,    184,
     185,    185,    184,    183,    182,    179,   176,    173,    168,
     163,    158,    151,    144,    135,    126,   116,    105,    93,
     80,     66,     52,     36,     19,     1,     -18,    -38,    -59,
     -81,    -105,   -129,   -155,   -181,   -209,  -238,   -268,   -299,
     -331,   -365,   -399,   435,    472,    509,   548,    588,    629,
     670,    713,    756,    800,    845,    891,   937,    985,    1032,
     1081,   1129,   1179,   1228,   1278,   1328,  1378,   1429,   1479,
     1530,   1580,   1630,   1680,   1729,   1778,  1826,   1873,   1920,
     1966,   2010,   2054,   2096,   2137,   2177,  2215,   2251,   2286,
     2319,   2349,   2378,   2404,   2428,   2449,  2468,   2484,   2497,
     2507,   2514,   2517,   2517,   2514,   2507,  2496,   2482,   2463,
     2440,   2413,   2381,   2346,   2305,   2260,  2210,   2155,   2095,
     2030,   1960,   1885,   1804,   1717,   1625,  1528,   1425,   1315,
     1201,   1080,   953,    820,    682,    536,   385,    228,    65,
     -105,   -281,   -463,   -652,   -846,   -1047, -1254,  -1467,  -1687,
     -1913,  -2144,  -2382,  -2626,  -2876,  -3131, -3393,  -3660,  -3932,
     -4211,  -4494,  -4783,  -5078,  -5377,  -5681, -5991,  -6304,  -6623,
     -6946,  -7273,  -7604,  -7940,  -8279,  -8621, -8967,  -9317,  -9669,
     -10024, -10382, -10742, -11104, -11469, 11834, 12202,  12571,  12941,
     13311,  13683,  14055,  14426,  14798,  15169, 15540,  15910,  16278,
     16646,  17011,  17374,  17736,  18095,  18451, 18804,  19154,  19501,
     19844,  20182,  20517,  20847,  21172,  21493, 21808,  22117,  22421,
     22719,  23011,  23296,  23575,  23847,  24111, 24369,  24619,  24861,
     25096,  25322,  25540,  25750,  25951,  26144, 26327,  26502,  26667,
     26823,  26969,  27107,  27234,  27351,  27459, 27556,  27644,  27721,
     27788,  27846,  27892,  27928,  27954,  27970, 27975,  27970,  27954,
     27928,  27892,  27846,  27788,  27721,  27644, 27556,  27459,  27351,
     27234,  27107,  26969,  26823,  26667,  26502, 26327,  26144,  25951,
     25750,  25540,  25322,  25096,  24861,  24619, 24369,  24111,  23847,
     23575,  23296,  23011,  22719,  22421,  22117, 21808,  21493,  21172,
     20847,  20517,  20182,  19844,  19501,  19154, 18804,  18451,  18095,
     17736,  17374,  17011,  16646,  16278,  15910, 15540,  15169,  14798,
     14426,  14055,  13683,  13311,  12941,  12571, 12202,  -11834, -11469,
     -11104, -10742, -10382, -10024, -9669,  -9317, -8967,  -8621,  -8279,
     -7940,  -7604,  -7273,  -6946,  -6623,  -6304, -5991,  -5681,  -5377,
     -5078,  -4783,  -4494,  -4211,  -3932,  -3660, -3393,  -3131,  -2876,
     -2626,  -2382,  -2144,  -1913,  -1687,  -1467, -1254,  -1047,  -846,
     -652,   -463,   -281,   -105,   65,     228,   385,    536,    682,
     820,    953,    1080,   1201,   1315,   1425,  1528,   1625,   1717,
     1804,   1885,   1960,   2030,   2095,   2155,  2210,   2260,   2305,
     2346,   2381,   2413,   2440,   2463,   2482,  2496,   2507,   2514,
     2517,   2517,   2514,   2507,   2497,   2484,  2468,   2449,   2428,
     2404,   2378,   2349,   2319,   2286,   2251,  2215,   2177,   2137,
     2096,   2054,   2010,   1966,   1920,   1873,  1826,   1778,   1729,
     1680,   1630,   1580,   1530,   1479,   1429,  1378,   1328,   1278,
     1228,   1179,   1129,   1081,   1032,   985,   937,    891,    845,
     800,    756,    713,    670,    629,    588,   548,    509,    472,
     -435,   -399,   -365,   -331,   -299,   -268,  -238,   -209,   -181,
     -155,   -129,   -105,   -81,    -59,    -38,   -18,    1,      19,
     36,     52,     66,     80,     93,     105,   116,    126,    135,
     144,    151,    158,    163,    168,    173,   176,    179,    182,
     183,    184,    185,    185,    184,    183,   182,    180,    178,
     175,    172,    168,    165,    161,    157,   153,    148,    143,
     138,    134,    128,    123,    118,    113,   107,    102,    97,
     91,     86,     81,     75,     70,     65,    60,     55,     51,
     46,     41,     37,     32,     28,     24,    20,     17,     13,
     10,     7,      4,      0,      -2,     -5,    -7,     -9,     -11,
     -13,    -15,    -17,    -18,    -19,    -21,   -22,    -23,    -24,
     -24,    -25,    -25,    -25,    -26,    -26,   -25,    -26,    -25,
     -25,    -25,    -24,    -24,    -23,    -23,   -22,    -21,    -21,
     -20,    -19,    -19,    -18,    -17,    -17,   -16,    -16,    -16,
     -18,    -18},

    {
        0x00, 0x01, 0x02, 0x03,
    },

    // w1024[1536];
    {
        0x00007fff, 0xff377fff, 0xfe6e7ffe, 0xfda57ffa, 0xfcdc7ff6, 0xfc137ff1,
        0xfb4a7fea, 0xfa817fe2, 0xf9b87fd9, 0xf8ef7fce, 0xf8277fc2, 0xf75e7fb5,
        0xf6957fa7, 0xf5cd7f98, 0xf5057f87, 0xf43c7f75, 0xf3747f62, 0xf2ac7f4e,
        0xf1e47f38, 0xf11c7f22, 0xf0557f0a, 0xef8d7ef0, 0xeec67ed6, 0xedff7eba,
        0xed387e9d, 0xec717e7f, 0xebab7e60, 0xeae47e3f, 0xea1e7e1e, 0xe9587dfb,
        0xe8927dd6, 0xe7cd7db1, 0xe7077d8a, 0xe6427d63, 0xe57d7d3a, 0xe4b97d0f,
        0xe3f47ce4, 0xe3307cb7, 0xe26d7c89, 0xe1a97c5a, 0xe0e67c2a, 0xe0237bf9,
        0xdf617bc6, 0xde9e7b92, 0xdddc7b5d, 0xdd1b7b27, 0xdc597aef, 0xdb997ab7,
        0xdad87a7d, 0xda187a42, 0xd9587a06, 0xd89879c9, 0xd7d9798a, 0xd71b794a,
        0xd65c790a, 0xd59e78c8, 0xd4e17885, 0xd4247840, 0xd36777fb, 0xd2ab77b4,
        0xd1ef776c, 0xd1347723, 0xd07976d9, 0xcfbe768e, 0xcf047642, 0xce4b75f4,
        0xcd9275a6, 0xccd97556, 0xcc217505, 0xcb6974b3, 0xcab27460, 0xc9fc740b,
        0xc94673b6, 0xc890735f, 0xc7db7308, 0xc72772af, 0xc6737255, 0xc5c071fa,
        0xc50d719e, 0xc45b7141, 0xc3a970e3, 0xc2f87083, 0xc2487023, 0xc1986fc2,
        0xc0e96f5f, 0xc03a6efb, 0xbf8c6e97, 0xbedf6e31, 0xbe326dca, 0xbd866d62,
        0xbcda6cf9, 0xbc2f6c8f, 0xbb856c24, 0xbadc6bb8, 0xba336b4b, 0xb98b6add,
        0xb8e36a6e, 0xb83c69fd, 0xb796698c, 0xb6f1691a, 0xb64c68a7, 0xb5a86832,
        0xb50567bd, 0xb4626747, 0xb3c066d0, 0xb31f6657, 0xb27f65de, 0xb1df6564,
        0xb14064e9, 0xb0a2646c, 0xb00563ef, 0xaf686371, 0xaecc62f2, 0xae316272,
        0xad9761f1, 0xacfd616f, 0xac6560ec, 0xabcd6068, 0xab365fe4, 0xaaa05f5e,
        0xaa0a5ed7, 0xa9765e50, 0xa8e25dc8, 0xa84f5d3e, 0xa7bd5cb4, 0xa72c5c29,
        0xa69c5b9d, 0xa60c5b10, 0xa57e5a82, 0xa4f059f4, 0xa4635964, 0xa3d758d4,
        0xa34c5843, 0xa2c257b1, 0xa238571e, 0xa1b0568a, 0xa12955f6, 0xa0a25560,
        0xa01c54ca, 0x9f985433, 0x9f14539b, 0x9e915303, 0x9e0f5269, 0x9d8e51cf,
        0x9d0e5134, 0x9c8f5098, 0x9c114ffb, 0x9b944f5e, 0x9b174ec0, 0x9a9c4e21,
        0x9a224d81, 0x99a94ce1, 0x99304c40, 0x98b94b9e, 0x98434afb, 0x97ce4a58,
        0x975949b4, 0x96e6490f, 0x9674486a, 0x960347c4, 0x9592471d, 0x95234675,
        0x94b545cd, 0x94484524, 0x93dc447b, 0x937143d1, 0x93074326, 0x929e427a,
        0x923641ce, 0x91cf4121, 0x91694074, 0x91053fc6, 0x90a13f17, 0x903e3e68,
        0x8fdd3db8, 0x8f7d3d08, 0x8f1d3c57, 0x8ebf3ba5, 0x8e623af3, 0x8e063a40,
        0x8dab398d, 0x8d5138d9, 0x8cf83825, 0x8ca13770, 0x8c4a36ba, 0x8bf53604,
        0x8ba0354e, 0x8b4d3497, 0x8afb33df, 0x8aaa3327, 0x8a5a326e, 0x8a0c31b5,
        0x89be30fc, 0x89723042, 0x89272f87, 0x88dd2ecc, 0x88942e11, 0x884c2d55,
        0x88052c99, 0x87c02bdc, 0x877b2b1f, 0x87382a62, 0x86f629a4, 0x86b628e5,
        0x86762827, 0x86372768, 0x85fa26a8, 0x85be25e8, 0x85832528, 0x85492467,
        0x851123a7, 0x84d922e5, 0x84a32224, 0x846e2162, 0x843a209f, 0x84071fdd,
        0x83d61f1a, 0x83a61e57, 0x83771d93, 0x83491cd0, 0x831c1c0c, 0x82f11b47,
        0x82c61a83, 0x829d19be, 0x827618f9, 0x824f1833, 0x822a176e, 0x820516a8,
        0x81e215e2, 0x81c1151c, 0x81a01455, 0x8181138f, 0x816312c8, 0x81461201,
        0x812a113a, 0x81101073, 0x80f60fab, 0x80de0ee4, 0x80c80e1c, 0x80b20d54,
        0x809e0c8c, 0x808b0bc4, 0x80790afb, 0x80680a33, 0x8059096b, 0x804b08a2,
        0x803e07d9, 0x80320711, 0x80270648, 0x801e057f, 0x801604b6, 0x800f03ed,
        0x800a0324, 0x8006025b, 0x80020192, 0x800100c9, 0x80000000, 0x8001ff37,
        0x8002fe6e, 0x8006fda5, 0x800afcdc, 0x800ffc13, 0x8016fb4a, 0x801efa81,
        0x8027f9b8, 0x8032f8ef, 0x803ef827, 0x804bf75e, 0x8059f695, 0x8068f5cd,
        0x8079f505, 0x808bf43c, 0x809ef374, 0x80b2f2ac, 0x80c8f1e4, 0x80def11c,
        0x80f6f055, 0x8110ef8d, 0x812aeec6, 0x8146edff, 0x8163ed38, 0x8181ec71,
        0x81a0ebab, 0x81c1eae4, 0x81e2ea1e, 0x8205e958, 0x822ae892, 0x824fe7cd,
        0x8276e707, 0x829de642, 0x82c6e57d, 0x82f1e4b9, 0x831ce3f4, 0x8349e330,
        0x8377e26d, 0x83a6e1a9, 0x83d6e0e6, 0x8407e023, 0x843adf61, 0x846ede9e,
        0x84a3dddc, 0x84d9dd1b, 0x8511dc59, 0x8549db99, 0x8583dad8, 0x85beda18,
        0x85fad958, 0x8637d898, 0x8676d7d9, 0x86b6d71b, 0x86f6d65c, 0x8738d59e,
        0x877bd4e1, 0x87c0d424, 0x8805d367, 0x884cd2ab, 0x8894d1ef, 0x88ddd134,
        0x8927d079, 0x8972cfbe, 0x89becf04, 0x8a0cce4b, 0x8a5acd92, 0x8aaaccd9,
        0x8afbcc21, 0x8b4dcb69, 0x8ba0cab2, 0x8bf5c9fc, 0x8c4ac946, 0x8ca1c890,
        0x8cf8c7db, 0x8d51c727, 0x8dabc673, 0x8e06c5c0, 0x8e62c50d, 0x8ebfc45b,
        0x8f1dc3a9, 0x8f7dc2f8, 0x8fddc248, 0x903ec198, 0x90a1c0e9, 0x9105c03a,
        0x9169bf8c, 0x91cfbedf, 0x9236be32, 0x929ebd86, 0x9307bcda, 0x9371bc2f,
        0x93dcbb85, 0x9448badc, 0x94b5ba33, 0x9523b98b, 0x9592b8e3, 0x9603b83c,
        0x9674b796, 0x96e6b6f1, 0x9759b64c, 0x97ceb5a8, 0x9843b505, 0x98b9b462,
        0x9930b3c0, 0x99a9b31f, 0x9a22b27f, 0x9a9cb1df, 0x9b17b140, 0x9b94b0a2,
        0x9c11b005, 0x9c8faf68, 0x9d0eaecc, 0x9d8eae31, 0x9e0fad97, 0x9e91acfd,
        0x9f14ac65, 0x9f98abcd, 0xa01cab36, 0xa0a2aaa0, 0xa129aa0a, 0xa1b0a976,
        0xa238a8e2, 0xa2c2a84f, 0xa34ca7bd, 0xa3d7a72c, 0xa463a69c, 0xa4f0a60c,
        0xa57ea57e, 0xa60ca4f0, 0xa69ca463, 0xa72ca3d7, 0xa7bda34c, 0xa84fa2c2,
        0xa8e2a238, 0xa976a1b0, 0xaa0aa129, 0xaaa0a0a2, 0xab36a01c, 0xabcd9f98,
        0xac659f14, 0xacfd9e91, 0xad979e0f, 0xae319d8e, 0xaecc9d0e, 0xaf689c8f,
        0xb0059c11, 0xb0a29b94, 0xb1409b17, 0xb1df9a9c, 0xb27f9a22, 0xb31f99a9,
        0xb3c09930, 0xb46298b9, 0xb5059843, 0xb5a897ce, 0xb64c9759, 0xb6f196e6,
        0xb7969674, 0xb83c9603, 0xb8e39592, 0xb98b9523, 0xba3394b5, 0xbadc9448,
        0xbb8593dc, 0xbc2f9371, 0xbcda9307, 0xbd86929e, 0xbe329236, 0xbedf91cf,
        0xbf8c9169, 0xc03a9105, 0xc0e990a1, 0xc198903e, 0xc2488fdd, 0xc2f88f7d,
        0xc3a98f1d, 0xc45b8ebf, 0xc50d8e62, 0xc5c08e06, 0xc6738dab, 0xc7278d51,
        0xc7db8cf8, 0xc8908ca1, 0xc9468c4a, 0xc9fc8bf5, 0xcab28ba0, 0xcb698b4d,
        0xcc218afb, 0xccd98aaa, 0xcd928a5a, 0xce4b8a0c, 0xcf0489be, 0xcfbe8972,
        0xd0798927, 0xd13488dd, 0xd1ef8894, 0xd2ab884c, 0xd3678805, 0xd42487c0,
        0xd4e1877b, 0xd59e8738, 0xd65c86f6, 0xd71b86b6, 0xd7d98676, 0xd8988637,
        0xd95885fa, 0xda1885be, 0xdad88583, 0xdb998549, 0xdc598511, 0xdd1b84d9,
        0xdddc84a3, 0xde9e846e, 0xdf61843a, 0xe0238407, 0xe0e683d6, 0xe1a983a6,
        0xe26d8377, 0xe3308349, 0xe3f4831c, 0xe4b982f1, 0xe57d82c6, 0xe642829d,
        0xe7078276, 0xe7cd824f, 0xe892822a, 0xe9588205, 0xea1e81e2, 0xeae481c1,
        0xebab81a0, 0xec718181, 0xed388163, 0xedff8146, 0xeec6812a, 0xef8d8110,
        0xf05580f6, 0xf11c80de, 0xf1e480c8, 0xf2ac80b2, 0xf374809e, 0xf43c808b,
        0xf5058079, 0xf5cd8068, 0xf6958059, 0xf75e804b, 0xf827803e, 0xf8ef8032,
        0xf9b88027, 0xfa81801e, 0xfb4a8016, 0xfc13800f, 0xfcdc800a, 0xfda58006,
        0xfe6e8002, 0xff378001, 0x00008000, 0x00c98001, 0x01928002, 0x025b8006,
        0x0324800a, 0x03ed800f, 0x04b68016, 0x057f801e, 0x06488027, 0x07118032,
        0x07d9803e, 0x08a2804b, 0x096b8059, 0x0a338068, 0x0afb8079, 0x0bc4808b,
        0x0c8c809e, 0x0d5480b2, 0x0e1c80c8, 0x0ee480de, 0x0fab80f6, 0x10738110,
        0x113a812a, 0x12018146, 0x12c88163, 0x138f8181, 0x145581a0, 0x151c81c1,
        0x15e281e2, 0x16a88205, 0x176e822a, 0x1833824f, 0x18f98276, 0x19be829d,
        0x1a8382c6, 0x1b4782f1, 0x1c0c831c, 0x1cd08349, 0x1d938377, 0x1e5783a6,
        0x1f1a83d6, 0x1fdd8407, 0x209f843a, 0x2162846e, 0x222484a3, 0x22e584d9,
        0x23a78511, 0x24678549, 0x25288583, 0x25e885be, 0x26a885fa, 0x27688637,
        0x28278676, 0x28e586b6, 0x29a486f6, 0x2a628738, 0x2b1f877b, 0x2bdc87c0,
        0x2c998805, 0x2d55884c, 0x2e118894, 0x2ecc88dd, 0x2f878927, 0x30428972,
        0x30fc89be, 0x31b58a0c, 0x326e8a5a, 0x33278aaa, 0x33df8afb, 0x34978b4d,
        0x354e8ba0, 0x36048bf5, 0x36ba8c4a, 0x37708ca1, 0x38258cf8, 0x38d98d51,
        0x398d8dab, 0x3a408e06, 0x3af38e62, 0x3ba58ebf, 0x3c578f1d, 0x3d088f7d,
        0x3db88fdd, 0x3e68903e, 0x3f1790a1, 0x3fc69105, 0x40749169, 0x412191cf,
        0x41ce9236, 0x427a929e, 0x43269307, 0x43d19371, 0x447b93dc, 0x45249448,
        0x45cd94b5, 0x46759523, 0x471d9592, 0x47c49603, 0x486a9674, 0x490f96e6,
        0x49b49759, 0x4a5897ce, 0x4afb9843, 0x4b9e98b9, 0x4c409930, 0x4ce199a9,
        0x4d819a22, 0x4e219a9c, 0x4ec09b17, 0x4f5e9b94, 0x4ffb9c11, 0x50989c8f,
        0x51349d0e, 0x51cf9d8e, 0x52699e0f, 0x53039e91, 0x539b9f14, 0x54339f98,
        0x54caa01c, 0x5560a0a2, 0x55f6a129, 0x568aa1b0, 0x571ea238, 0x57b1a2c2,
        0x5843a34c, 0x58d4a3d7, 0x5964a463, 0x59f4a4f0, 0x5a82a57e, 0x5b10a60c,
        0x5b9da69c, 0x5c29a72c, 0x5cb4a7bd, 0x5d3ea84f, 0x5dc8a8e2, 0x5e50a976,
        0x5ed7aa0a, 0x5f5eaaa0, 0x5fe4ab36, 0x6068abcd, 0x60ecac65, 0x616facfd,
        0x61f1ad97, 0x6272ae31, 0x62f2aecc, 0x6371af68, 0x63efb005, 0x646cb0a2,
        0x64e9b140, 0x6564b1df, 0x65deb27f, 0x6657b31f, 0x66d0b3c0, 0x6747b462,
        0x67bdb505, 0x6832b5a8, 0x68a7b64c, 0x691ab6f1, 0x698cb796, 0x69fdb83c,
        0x6a6eb8e3, 0x6addb98b, 0x6b4bba33, 0x6bb8badc, 0x6c24bb85, 0x6c8fbc2f,
        0x6cf9bcda, 0x6d62bd86, 0x6dcabe32, 0x6e31bedf, 0x6e97bf8c, 0x6efbc03a,
        0x6f5fc0e9, 0x6fc2c198, 0x7023c248, 0x7083c2f8, 0x70e3c3a9, 0x7141c45b,
        0x719ec50d, 0x71fac5c0, 0x7255c673, 0x72afc727, 0x7308c7db, 0x735fc890,
        0x73b6c946, 0x740bc9fc, 0x7460cab2, 0x74b3cb69, 0x7505cc21, 0x7556ccd9,
        0x75a6cd92, 0x75f4ce4b, 0x7642cf04, 0x768ecfbe, 0x76d9d079, 0x7723d134,
        0x776cd1ef, 0x77b4d2ab, 0x77fbd367, 0x7840d424, 0x7885d4e1, 0x78c8d59e,
        0x790ad65c, 0x794ad71b, 0x798ad7d9, 0x79c9d898, 0x7a06d958, 0x7a42da18,
        0x7a7ddad8, 0x7ab7db99, 0x7aefdc59, 0x7b27dd1b, 0x7b5ddddc, 0x7b92de9e,
        0x7bc6df61, 0x7bf9e023, 0x7c2ae0e6, 0x7c5ae1a9, 0x7c89e26d, 0x7cb7e330,
        0x7ce4e3f4, 0x7d0fe4b9, 0x7d3ae57d, 0x7d63e642, 0x7d8ae707, 0x7db1e7cd,
        0x7dd6e892, 0x7dfbe958, 0x7e1eea1e, 0x7e3feae4, 0x7e60ebab, 0x7e7fec71,
        0x7e9ded38, 0x7ebaedff, 0x7ed6eec6, 0x7ef0ef8d, 0x7f0af055, 0x7f22f11c,
        0x7f38f1e4, 0x7f4ef2ac, 0x7f62f374, 0x7f75f43c, 0x7f87f505, 0x7f98f5cd,
        0x7fa7f695, 0x7fb5f75e, 0x7fc2f827, 0x7fcef8ef, 0x7fd9f9b8, 0x7fe2fa81,
        0x7feafb4a, 0x7ff1fc13, 0x7ff6fcdc, 0x7ffafda5, 0x7ffefe6e, 0x7fffff37,
    },

    // WORD32 esbr_qmf_c[1280] =
    {0,          -1186546,   -1206390,   -1062471,   -1046947,   -1050933,
     -1082485,   -1122396,   -1173936,   -1219298,   -1260772,   -1316997,
     -1355597,   -1404525,   -1455498,   -1490700,   -1537112,   -1558008,
     -1597930,   -1608593,   -1649562,   -1658898,   -1682410,   -1670714,
     -1675824,   -1675348,   -1666012,   -1638700,   -1617055,   -1571819,
     -1549493,   -1485615,   -1428165,   -1361847,   -1276919,   -1194983,
     -1105003,   -989200,    -879420,    -751871,    -622121,    -450614,
     -310607,    -132571,    28980,      235016,     438734,     633406,
     864692,     1096803,    1339895,    1601598,    1848649,    2122999,
     2415952,    2701080,    2985538,    3316406,    3622393,    3940259,
     4260852,    4608839,    4942917,    5288310,    5626784,    5985136,
     6328515,    6684133,    7030778,    7391396,    7732716,    8075380,
     8419731,    8765975,    9076182,    9391100,    9708741,    10008661,
     10293439,   10552220,   10821819,   11039645,   11265949,   11482956,
     11638669,   11784539,   11913318,   12012598,   12073291,   12123661,
     12109488,   12083056,   12008111,   11897996,   11758285,   11561832,
     11320622,   11034259,   10702991,   10331429,   9886913,    9406378,
     8858722,    8258450,    7602359,    6891679,    6108894,    5263168,
     4353846,    3389734,    2341257,    1252469,    59280,      -1173445,
     -2484238,   -3873947,   -5331498,   -6857726,   -8461326,   -10140975,
     -11883575,  -13699290,  -15594127,  -17566036,  -19611965,  -21721843,
     -23904831,  -26167087,  28501020,   30903291,   33373088,   35932708,
     38533025,   41204290,   43922868,   46700800,   49538189,   52433173,
     55378416,   58381367,   61433531,   64532454,   67649516,   70814149,
     74006785,   77244462,   80490446,   83763389,   87048071,   90333705,
     93651234,   96956396,   100253776,  103544299,  106812777,  110070596,
     113307839,  116490844,  119652129,  122753697,  125824434,  128814117,
     131738494,  134616689,  137377942,  140068999,  142671836,  145186212,
     147541538,  149814954,  151962108,  153975151,  155839148,  157543750,
     159129320,  160514214,  161735011,  162781055,  163636638,  164280817,
     164732072,  164964105,  164976138,  164756002,  164293390,  163584206,
     162630172,  161399771,  159915461,  158141985,  156073666,  153722541,
     151082577,  148104219,  144853145,  141237995,  137319726,  133058683,
     128455292,  123513100,  118210392,  112548291,  106510609,  100137872,
     93365884,   86212508,   78687691,   70777610,   62453979,   53753139,
     44667031,   35154577,   25259525,   14954402,   4244630,    -6890608,
     -18406457,  -30341544,  -42699304,  -55453887,  -68618818,  -82200642,
     -96165782,  -110553355, -125349764, -140533445, -156109885, -172093527,
     -188451898, -205199224, -222335323, -239836757, -257714784, -275952260,
     -294538497, -313482466, -332775584, -352393230, -372332469, -392597065,
     -413168712, -434060170, -455209808, -476666786, -498364569, -520338913,
     -542557514, -565014393, -587687684, -610575597, -633661589, -656936416,
     -680382715, -703969562, -727722656, -751600834, 775583025,  799679004,
     823849891,  848086767,  872376077,  896724080,  921081488,  945441219,
     969802871,  994136341,  1018434072, 1042657661, 1066807223, 1090882501,
     1114809220, 1138647561, 1162337001, 1185851477, 1209202759, 1232338673,
     1255290785, 1277993950, 1300469611, 1322658785, 1344591629, 1366224824,
     1387547101, 1408538024, 1429180406, 1449479132, 1469384180, 1488911052,
     1508046493, 1526734263, 1544999085, 1562820250, 1580163942, 1597046622,
     1613433982, 1629313186, 1644687903, 1659528307, 1673810498, 1687568481,
     1700750320, 1713362615, 1725392676, 1736819276, 1747663266, 1757882010,
     1767469212, 1776457603, 1784781917, 1792491148, 1799530594, 1805935261,
     1811668375, 1816732182, 1821133945, 1824889769, 1827931965, 1830310413,
     1832022798, 1833032034, 1833389596, 1833032034, 1832022798, 1830310413,
     1827931965, 1824889769, 1821133945, 1816732182, 1811668375, 1805935261,
     1799530594, 1792491148, 1784781917, 1776457603, 1767469212, 1757882010,
     1747663266, 1736819276, 1725392676, 1713362615, 1700750320, 1687568481,
     1673810498, 1659528307, 1644687903, 1629313186, 1613433982, 1597046622,
     1580163942, 1562820250, 1544999085, 1526734263, 1508046493, 1488911052,
     1469384180, 1449479132, 1429180406, 1408538024, 1387547101, 1366224824,
     1344591629, 1322658785, 1300469611, 1277993950, 1255290785, 1232338673,
     1209202759, 1185851477, 1162337001, 1138647561, 1114809220, 1090882501,
     1066807223, 1042657661, 1018434072, 994136341,  969802871,  945441219,
     921081488,  896724080,  872376077,  848086767,  823849891,  799679004,
     -775583025, -751600834, -727722656, -703969562, -680382715, -656936416,
     -633661589, -610575597, -587687684, -565014393, -542557514, -520338913,
     -498364569, -476666786, -455209808, -434060170, -413168712, -392597065,
     -372332469, -352393230, -332775584, -313482466, -294538497, -275952260,
     -257714784, -239836757, -222335323, -205199224, -188451898, -172093527,
     -156109885, -140533445, -125349764, -110553355, -96165782,  -82200642,
     -68618818,  -55453887,  -42699304,  -30341544,  -18406457,  -6890608,
     4244630,    14954402,   25259525,   35154577,   44667031,   53753139,
     62453979,   70777610,   78687691,   86212508,   93365884,   100137872,
     106510609,  112548291,  118210392,  123513100,  128455292,  133058683,
     137319726,  141237995,  144853145,  148104219,  151082577,  153722541,
     156073666,  158141985,  159915461,  161399771,  162630172,  163584206,
     164293390,  164756002,  164976138,  164964105,  164732072,  164280817,
     163636638,  162781055,  161735011,  160514214,  159129320,  157543750,
     155839148,  153975151,  151962108,  149814954,  147541538,  145186212,
     142671836,  140068999,  137377942,  134616689,  131738494,  128814117,
     125824434,  122753697,  119652129,  116490844,  113307839,  110070596,
     106812777,  103544299,  100253776,  96956396,   93651234,   90333705,
     87048071,   83763389,   80490446,   77244462,   74006785,   70814149,
     67649516,   64532454,   61433531,   58381367,   55378416,   52433173,
     49538189,   46700800,   43922868,   41204290,   38533025,   35932708,
     33373088,   30903291,   -28501020,  -26167087,  -23904831,  -21721843,
     -19611965,  -17566036,  -15594127,  -13699290,  -11883575,  -10140975,
     -8461326,   -6857726,   -5331498,   -3873947,   -2484238,   -1173445,
     59280,      1252469,    2341257,    3389734,    4353846,    5263168,
     6108894,    6891679,    7602359,    8258450,    8858722,    9406378,
     9886913,    10331429,   10702991,   11034259,   11320622,   11561832,
     11758285,   11897996,   12008111,   12083056,   12109488,   12123661,
     12073291,   12012598,   11913318,   11784539,   11638669,   11482956,
     11265949,   11039645,   10821819,   10552220,   10293439,   10008661,
     9708741,    9391100,    9076182,    8765975,    8419731,    8075380,
     7732716,    7391396,    7030778,    6684133,    6328515,    5985136,
     5626784,    5288310,    4942917,    4608839,    4260852,    3940259,
     3622393,    3316406,    2985538,    2701080,    2415952,    2122999,
     1848649,    1601598,    1339895,    1096803,    864692,     633406,
     438734,     235016,     28980,      -132571,    -310607,    -450614,
     -622121,    -751871,    -879420,    -989200,    -1105003,   -1194983,
     -1276919,   -1361847,   -1428165,   -1485615,   -1549493,   -1571819,
     -1617055,   -1638700,   -1666012,   -1675348,   -1675824,   -1670714,
     -1682410,   -1658898,   -1649562,   -1608593,   -1597930,   -1558008,
     -1537112,   -1490700,   -1455498,   -1404525,   -1355597,   -1316997,
     -1260772,   -1219298,   -1173936,   -1122396,   -1082485,   -1050933,
     -1046947,   -1062471,   -1206390,   -1186546,

     0,          -1186546,   -1206390,   -1062471,   -1046947,   -1050933,
     -1082485,   -1122396,   -1173936,   -1219298,   -1260772,   -1316997,
     -1355597,   -1404525,   -1455498,   -1490700,   -1537112,   -1558008,
     -1597930,   -1608593,   -1649562,   -1658898,   -1682410,   -1670714,
     -1675824,   -1675348,   -1666012,   -1638700,   -1617055,   -1571819,
     -1549493,   -1485615,   -1428165,   -1361847,   -1276919,   -1194983,
     -1105003,   -989200,    -879420,    -751871,    -622121,    -450614,
     -310607,    -132571,    28980,      235016,     438734,     633406,
     864692,     1096803,    1339895,    1601598,    1848649,    2122999,
     2415952,    2701080,    2985538,    3316406,    3622393,    3940259,
     4260852,    4608839,    4942917,    5288310,    5626784,    5985136,
     6328515,    6684133,    7030778,    7391396,    7732716,    8075380,
     8419731,    8765975,    9076182,    9391100,    9708741,    10008661,
     10293439,   10552220,   10821819,   11039645,   11265949,   11482956,
     11638669,   11784539,   11913318,   12012598,   12073291,   12123661,
     12109488,   12083056,   12008111,   11897996,   11758285,   11561832,
     11320622,   11034259,   10702991,   10331429,   9886913,    9406378,
     8858722,    8258450,    7602359,    6891679,    6108894,    5263168,
     4353846,    3389734,    2341257,    1252469,    59280,      -1173445,
     -2484238,   -3873947,   -5331498,   -6857726,   -8461326,   -10140975,
     -11883575,  -13699290,  -15594127,  -17566036,  -19611965,  -21721843,
     -23904831,  -26167087,  28501020,   30903291,   33373088,   35932708,
     38533025,   41204290,   43922868,   46700800,   49538189,   52433173,
     55378416,   58381367,   61433531,   64532454,   67649516,   70814149,
     74006785,   77244462,   80490446,   83763389,   87048071,   90333705,
     93651234,   96956396,   100253776,  103544299,  106812777,  110070596,
     113307839,  116490844,  119652129,  122753697,  125824434,  128814117,
     131738494,  134616689,  137377942,  140068999,  142671836,  145186212,
     147541538,  149814954,  151962108,  153975151,  155839148,  157543750,
     159129320,  160514214,  161735011,  162781055,  163636638,  164280817,
     164732072,  164964105,  164976138,  164756002,  164293390,  163584206,
     162630172,  161399771,  159915461,  158141985,  156073666,  153722541,
     151082577,  148104219,  144853145,  141237995,  137319726,  133058683,
     128455292,  123513100,  118210392,  112548291,  106510609,  100137872,
     93365884,   86212508,   78687691,   70777610,   62453979,   53753139,
     44667031,   35154577,   25259525,   14954402,   4244630,    -6890608,
     -18406457,  -30341544,  -42699304,  -55453887,  -68618818,  -82200642,
     -96165782,  -110553355, -125349764, -140533445, -156109885, -172093527,
     -188451898, -205199224, -222335323, -239836757, -257714784, -275952260,
     -294538497, -313482466, -332775584, -352393230, -372332469, -392597065,
     -413168712, -434060170, -455209808, -476666786, -498364569, -520338913,
     -542557514, -565014393, -587687684, -610575597, -633661589, -656936416,
     -680382715, -703969562, -727722656, -751600834, 775583025,  799679004,
     823849891,  848086767,  872376077,  896724080,  921081488,  945441219,
     969802871,  994136341,  1018434072, 1042657661, 1066807223, 1090882501,
     1114809220, 1138647561, 1162337001, 1185851477, 1209202759, 1232338673,
     1255290785, 1277993950, 1300469611, 1322658785, 1344591629, 1366224824,
     1387547101, 1408538024, 1429180406, 1449479132, 1469384180, 1488911052,
     1508046493, 1526734263, 1544999085, 1562820250, 1580163942, 1597046622,
     1613433982, 1629313186, 1644687903, 1659528307, 1673810498, 1687568481,
     1700750320, 1713362615, 1725392676, 1736819276, 1747663266, 1757882010,
     1767469212, 1776457603, 1784781917, 1792491148, 1799530594, 1805935261,
     1811668375, 1816732182, 1821133945, 1824889769, 1827931965, 1830310413,
     1832022798, 1833032034, 1833389596, 1833032034, 1832022798, 1830310413,
     1827931965, 1824889769, 1821133945, 1816732182, 1811668375, 1805935261,
     1799530594, 1792491148, 1784781917, 1776457603, 1767469212, 1757882010,
     1747663266, 1736819276, 1725392676, 1713362615, 1700750320, 1687568481,
     1673810498, 1659528307, 1644687903, 1629313186, 1613433982, 1597046622,
     1580163942, 1562820250, 1544999085, 1526734263, 1508046493, 1488911052,
     1469384180, 1449479132, 1429180406, 1408538024, 1387547101, 1366224824,
     1344591629, 1322658785, 1300469611, 1277993950, 1255290785, 1232338673,
     1209202759, 1185851477, 1162337001, 1138647561, 1114809220, 1090882501,
     1066807223, 1042657661, 1018434072, 994136341,  969802871,  945441219,
     921081488,  896724080,  872376077,  848086767,  823849891,  799679004,
     -775583025, -751600834, -727722656, -703969562, -680382715, -656936416,
     -633661589, -610575597, -587687684, -565014393, -542557514, -520338913,
     -498364569, -476666786, -455209808, -434060170, -413168712, -392597065,
     -372332469, -352393230, -332775584, -313482466, -294538497, -275952260,
     -257714784, -239836757, -222335323, -205199224, -188451898, -172093527,
     -156109885, -140533445, -125349764, -110553355, -96165782,  -82200642,
     -68618818,  -55453887,  -42699304,  -30341544,  -18406457,  -6890608,
     4244630,    14954402,   25259525,   35154577,   44667031,   53753139,
     62453979,   70777610,   78687691,   86212508,   93365884,   100137872,
     106510609,  112548291,  118210392,  123513100,  128455292,  133058683,
     137319726,  141237995,  144853145,  148104219,  151082577,  153722541,
     156073666,  158141985,  159915461,  161399771,  162630172,  163584206,
     164293390,  164756002,  164976138,  164964105,  164732072,  164280817,
     163636638,  162781055,  161735011,  160514214,  159129320,  157543750,
     155839148,  153975151,  151962108,  149814954,  147541538,  145186212,
     142671836,  140068999,  137377942,  134616689,  131738494,  128814117,
     125824434,  122753697,  119652129,  116490844,  113307839,  110070596,
     106812777,  103544299,  100253776,  96956396,   93651234,   90333705,
     87048071,   83763389,   80490446,   77244462,   74006785,   70814149,
     67649516,   64532454,   61433531,   58381367,   55378416,   52433173,
     49538189,   46700800,   43922868,   41204290,   38533025,   35932708,
     33373088,   30903291,   -28501020,  -26167087,  -23904831,  -21721843,
     -19611965,  -17566036,  -15594127,  -13699290,  -11883575,  -10140975,
     -8461326,   -6857726,   -5331498,   -3873947,   -2484238,   -1173445,
     59280,      1252469,    2341257,    3389734,    4353846,    5263168,
     6108894,    6891679,    7602359,    8258450,    8858722,    9406378,
     9886913,    10331429,   10702991,   11034259,   11320622,   11561832,
     11758285,   11897996,   12008111,   12083056,   12109488,   12123661,
     12073291,   12012598,   11913318,   11784539,   11638669,   11482956,
     11265949,   11039645,   10821819,   10552220,   10293439,   10008661,
     9708741,    9391100,    9076182,    8765975,    8419731,    8075380,
     7732716,    7391396,    7030778,    6684133,    6328515,    5985136,
     5626784,    5288310,    4942917,    4608839,    4260852,    3940259,
     3622393,    3316406,    2985538,    2701080,    2415952,    2122999,
     1848649,    1601598,    1339895,    1096803,    864692,     633406,
     438734,     235016,     28980,      -132571,    -310607,    -450614,
     -622121,    -751871,    -879420,    -989200,    -1105003,   -1194983,
     -1276919,   -1361847,   -1428165,   -1485615,   -1549493,   -1571819,
     -1617055,   -1638700,   -1666012,   -1675348,   -1675824,   -1670714,
     -1682410,   -1658898,   -1649562,   -1608593,   -1597930,   -1558008,
     -1537112,   -1490700,   -1455498,   -1404525,   -1355597,   -1316997,
     -1260772,   -1219298,   -1173936,   -1122396,   -1082485,   -1050933,
     -1046947,   -1062471,   -1206390,   -1186546},

    // WORD32 esbr_qmf_c_24[480] =
    {0,          -1110444,   -1061450,   -1173936,   -1298255,   -1421516,
     -1537112,   -1605039,   -1666735,   -1675824,   -1647804,   -1564377,
     -1428165,   -1222295,   -952607,    -622121,    -191917,    302922,
     864692,     1514364,    2220650,    2985538,    3834304,    4720199,
     5626784,    6565594,    7505170,    8419731,    9286127,    10103587,
     10821819,   11410620,   11827466,   12073291,   12091866,   11851426,
     11320622,   10455283,   9223826,    7602359,    5545077,    3040242,
     59280,      -3410710,   -7392260,   -11883575,  -16908733,  -22449506,
     28501020,   35079501,   42110483,   49538189,   57380384,   65571474,
     74006785,   82672408,   91439548,   100253776,  108984656,  117544606,
     125824434,  133657291,  140936611,  147541538,  153304137,  158072273,
     161735011,  164066091,  164968116,  164293390,  161809905,  157452545,
     151082577,  142443045,  131524220,  118210392,  102262118,  83704236,
     62453979,   38325395,   11384478,   -18406457,  -51202360,  -86855689,
     -125349764, -166765646, -210911257, -257714784, -307167810, -359039643,
     -413168712, -469514460, -527745114, -587687684, -649178140, -711887260,
     775583025,  840007809,  904843216,  969802871,  1034583131, 1098858074,
     1162337001, 1224626701, 1285485837, 1344591629, 1401541050, 1456114148,
     1508046493, 1556879862, 1602509075, 1644687903, 1682982487, 1717372635,
     1747663266, 1773461472, 1794837630, 1811668375, 1823637828, 1830881208,
     1833389596, 1830881208, 1823637828, 1811668375, 1794837630, 1773461472,
     1747663266, 1717372635, 1682982487, 1644687903, 1602509075, 1556879862,
     1508046493, 1456114148, 1401541050, 1344591629, 1285485837, 1224626701,
     1162337001, 1098858074, 1034583131, 969802871,  904843216,  840007809,
     -775583025, -711887260, -649178140, -587687684, -527745114, -469514460,
     -413168712, -359039643, -307167810, -257714784, -210911257, -166765646,
     -125349764, -86855689,  -51202360,  -18406457,  11384478,   38325395,
     62453979,   83704236,   102262118,  118210392,  131524220,  142443045,
     151082577,  157452545,  161809905,  164293390,  164968116,  164066091,
     161735011,  158072273,  153304137,  147541538,  140936611,  133657291,
     125824434,  117544606,  108984656,  100253776,  91439548,   82672408,
     74006785,   65571474,   57380384,   49538189,   42110483,   35079501,
     -28501020,  -22449506,  -16908733,  -11883575,  -7392260,   -3410710,
     59280,      3040242,    5545077,    7602359,    9223826,    10455283,
     11320622,   11851426,   12091866,   12073291,   11827466,   11410620,
     10821819,   10103587,   9286127,    8419731,    7505170,    6565594,
     5626784,    4720199,    3834304,    2985538,    2220650,    1514364,
     864692,     302922,     -191917,    -622121,    -952607,    -1222295,
     -1428165,   -1564377,   -1647804,   -1675824,   -1666735,   -1605039,
     -1537112,   -1421516,   -1298255,   -1173936,   -1061450,   -1110444,

     0,          -1110444,   -1061450,   -1173936,   -1298255,   -1421516,
     -1537112,   -1605039,   -1666735,   -1675824,   -1647804,   -1564377,
     -1428165,   -1222295,   -952607,    -622121,    -191917,    302922,
     864692,     1514364,    2220650,    2985538,    3834304,    4720199,
     5626784,    6565594,    7505170,    8419731,    9286127,    10103587,
     10821819,   11410620,   11827466,   12073291,   12091866,   11851426,
     11320622,   10455283,   9223826,    7602359,    5545077,    3040242,
     59280,      -3410710,   -7392260,   -11883575,  -16908733,  -22449506,
     28501020,   35079501,   42110483,   49538189,   57380384,   65571474,
     74006785,   82672408,   91439548,   100253776,  108984656,  117544606,
     125824434,  133657291,  140936611,  147541538,  153304137,  158072273,
     161735011,  164066091,  164968116,  164293390,  161809905,  157452545,
     151082577,  142443045,  131524220,  118210392,  102262118,  83704236,
     62453979,   38325395,   11384478,   -18406457,  -51202360,  -86855689,
     -125349764, -166765646, -210911257, -257714784, -307167810, -359039643,
     -413168712, -469514460, -527745114, -587687684, -649178140, -711887260,
     775583025,  840007809,  904843216,  969802871,  1034583131, 1098858074,
     1162337001, 1224626701, 1285485837, 1344591629, 1401541050, 1456114148,
     1508046493, 1556879862, 1602509075, 1644687903, 1682982487, 1717372635,
     1747663266, 1773461472, 1794837630, 1811668375, 1823637828, 1830881208,
     1833389596, 1830881208, 1823637828, 1811668375, 1794837630, 1773461472,
     1747663266, 1717372635, 1682982487, 1644687903, 1602509075, 1556879862,
     1508046493, 1456114148, 1401541050, 1344591629, 1285485837, 1224626701,
     1162337001, 1098858074, 1034583131, 969802871,  904843216,  840007809,
     -775583025, -711887260, -649178140, -587687684, -527745114, -469514460,
     -413168712, -359039643, -307167810, -257714784, -210911257, -166765646,
     -125349764, -86855689,  -51202360,  -18406457,  11384478,   38325395,
     62453979,   83704236,   102262118,  118210392,  131524220,  142443045,
     151082577,  157452545,  161809905,  164293390,  164968116,  164066091,
     161735011,  158072273,  153304137,  147541538,  140936611,  133657291,
     125824434,  117544606,  108984656,  100253776,  91439548,   82672408,
     74006785,   65571474,   57380384,   49538189,   42110483,   35079501,
     -28501020,  -22449506,  -16908733,  -11883575,  -7392260,   -3410710,
     59280,      3040242,    5545077,    7602359,    9223826,    10455283,
     11320622,   11851426,   12091866,   12073291,   11827466,   11410620,
     10821819,   10103587,   9286127,    8419731,    7505170,    6565594,
     5626784,    4720199,    3834304,    2985538,    2220650,    1514364,
     864692,     302922,     -191917,    -622121,    -952607,    -1222295,
     -1428165,   -1564377,   -1647804,   -1675824,   -1666735,   -1605039,
     -1537112,   -1421516,   -1298255,   -1173936,   -1061450,   -1110444},

    // const WORD32 esbr_w_32[2 * 30] =
    {0,          2147483647, 0,          2147483647,  0,           2147483647,
     418953276,  2106220350, 821806413,  1984016188,  1193077990,  1785567395,
     821806413,  1984016188, 1518500249, 1518500249,  1984016188,  821806413,
     1193077990, 1785567395, 1984016188, 821806413,   2106220350,  -418953276,
     1518500249, 1518500249, 2147483647, 0,           1518500249,  -1518500249,
     1785567395, 1193077990, 1984016188, -821806413,  418953276,   -2106220350,
     1984016188, 821806413,  1518500249, -1518500249, -821806413,  -1984016188,
     2106220350, 418953276,  821806413,  -1984016188, -1785567395, -1193077990,
     0,          2147483647, 0,          2147483647,  0,           2147483647,
     1518500249, 1518500249, 2147483647, 0,           1518500249,  -1518500249},

    // const WORD32 esbr_w_16[2 * 12] =
    {0,          2147483647, 0,          2147483647,  0,          2147483647,
     821806413,  1984016188, 1518500249, 1518500249,  1984016188, 821806413,
     1518500249, 1518500249, 2147483647, 0,           1518500249, -1518500249,
     1984016188, 821806413,  1518500249, -1518500249, -821806413, -1984016188},

    // WORD32 ixheaacd_esbr_sin_cos_twiddle_l64[64] =
    {(WORD32)0x1921d1f,  (WORD32)0x7ffd8859, (WORD32)0x7fe9cbbe,
     (WORD32)0x4b6195d,  (WORD32)0x7d95b9e,  (WORD32)0x7fc25595,
     (WORD32)0x7f872bf1, (WORD32)0xafb6805,  (WORD32)0xe1bc2e3,
     (WORD32)0x7f3857f4, (WORD32)0x7ed5e5c5, (WORD32)0x1139f0ce,
     (WORD32)0x145576b1, (WORD32)0x7e5fe492, (WORD32)0x7dd6668d,
     (WORD32)0x176dd9de, (WORD32)0x1a82a025, (WORD32)0x7d3980eb,
     (WORD32)0x7c894bdc, (WORD32)0x1d934fe5, (WORD32)0x209f701c,
     (WORD32)0x7bc5e28e, (WORD32)0x7aef6322, (WORD32)0x23a6887e,
     (WORD32)0x26a82185, (WORD32)0x7a05eeac, (WORD32)0x7909a92b,
     (WORD32)0x29a3c484, (WORD32)0x2c98fbba, (WORD32)0x77fab987,
     (WORD32)0x76d94987, (WORD32)0x2f875261, (WORD32)0x326e54c7,
     (WORD32)0x75a585ce, (WORD32)0x745f9dd0, (WORD32)0x354d9056,
     (WORD32)0x382493af, (WORD32)0x7307c3cf, (WORD32)0x719e2cd1,
     (WORD32)0x3af2eeb6, (WORD32)0x3db832a5, (WORD32)0x70231098,
     (WORD32)0x6e96a99b, (WORD32)0x4073f21c, (WORD32)0x4325c134,
     (WORD32)0x6cf934fa, (WORD32)0x6b4af277, (WORD32)0x45cd358e,
     (WORD32)0x4869e664, (WORD32)0x698c246b, (WORD32)0x67bd0fbb,
     (WORD32)0x4afb6c97, (WORD32)0x4d8162c3, (WORD32)0x65ddfbd2,
     (WORD32)0x63ef328e, (WORD32)0x4ffb654c, (WORD32)0x5269126d,
     (WORD32)0x61f1003e, (WORD32)0x5fe3b38c, (WORD32)0x54ca0a49,
     (WORD32)0x571deef8, (WORD32)0x5dc79d7b, (WORD32)0x5b9d1152,
     (WORD32)0x59646497},

    // WORD32 ixheaacd_esbr_alt_sin_twiddle_l64[32]=
    {
        (WORD32)0x647d97c,  (WORD32)0x7fd8878c, (WORD32)0xc8bd35d,
        (WORD32)0x7f62368e, (WORD32)0x12c8106e, (WORD32)0x7e9d55fb,
        (WORD32)0x18f8b83c, (WORD32)0x7d8a5f3e, (WORD32)0x1f19f97a,
        (WORD32)0x7c29fbed, (WORD32)0x25280c5d, (WORD32)0x7a7d055a,
        (WORD32)0x2b1f34eb, (WORD32)0x78848412, (WORD32)0x30fbc54c,
        (WORD32)0x7641af3b, (WORD32)0x36ba2013, (WORD32)0x73b5ebd0,
        (WORD32)0x3c56ba6f, (WORD32)0x70e2cbc5, (WORD32)0x41ce1e64,
        (WORD32)0x6dca0d13, (WORD32)0x471cece6, (WORD32)0x6a6d98a3,
        (WORD32)0x4c3fdff2, (WORD32)0x66cf811f, (WORD32)0x5133cc93,
        (WORD32)0x62f201ab, (WORD32)0x55f5a4d1, (WORD32)0x5ed77c88,
        (WORD32)0x5a827999, (WORD32)0x5a827999,
    },

    // const WORD32 ixheaacd_esbr_sin_cos_twiddle_l32[32] =
    {(WORD32)0x3242abf,  (WORD32)0x7ff62181, (WORD32)0x7fa736b3,
     (WORD32)0x96a9049,  (WORD32)0xfab272b,  (WORD32)0x7f0991c3,
     (WORD32)0x7e1d93e9, (WORD32)0x15e21444, (WORD32)0x1c0b826a,
     (WORD32)0x7ce3ceb1, (WORD32)0x7b5d039d, (WORD32)0x2223a4c5,
     (WORD32)0x2826b928, (WORD32)0x798a23b0, (WORD32)0x776c4eda,
     (WORD32)0x2e110a62, (WORD32)0x33def287, (WORD32)0x7504d344,
     (WORD32)0x72552c84, (WORD32)0x398cdd32, (WORD32)0x3f1749b7,
     (WORD32)0x6f5f02b1, (WORD32)0x6c24295f, (WORD32)0x447acd50,
     (WORD32)0x49b41533, (WORD32)0x68a69e80, (WORD32)0x64e88925,
     (WORD32)0x4ebfe8a4, (WORD32)0x539b2aef, (WORD32)0x60ec382f,
     (WORD32)0x5cb420df, (WORD32)0x5842dd54},

    // const WORD32 ixheaacd_esbr_alt_sin_twiddle_l32[16] =
    {(WORD32)0xc8bd35e, (WORD32)0x7f62368e, (WORD32)0x18f8b83c,
     (WORD32)0x7d8a5f3f, (WORD32)0x25280c5d, (WORD32)0x7a7d055a,
     (WORD32)0x30fbc54d, (WORD32)0x7641af3c, (WORD32)0x3c56ba70,
     (WORD32)0x70e2cbc5, (WORD32)0x471cece6, (WORD32)0x6a6d98a3,
     (WORD32)0x5133cc94, (WORD32)0x62f201ac, (WORD32)0x5a827999,
     (WORD32)0x5a827999},

    // const WORD32 ixheaacd_esbr_t_cos_sin_l32[32+32] = //exp[-i * pi/32* 3/4 *
    // (k
    // +0.5)]
    {(WORD32)0x7fe9cbbe, (WORD32)0x4b6195d,  (WORD32)0x7f3857f4,
     (WORD32)0xe1bc2e3,  (WORD32)0x7dd6668d, (WORD32)0x176dd9de,
     (WORD32)0x7bc5e28e, (WORD32)0x209f701c, (WORD32)0x7909a92b,
     (WORD32)0x29a3c484, (WORD32)0x75a585ce, (WORD32)0x326e54c7,
     (WORD32)0x719e2cd1, (WORD32)0x3af2eeb6, (WORD32)0x6cf934fa,
     (WORD32)0x4325c134, (WORD32)0x67bd0fbb, (WORD32)0x4afb6c97,
     (WORD32)0x61f1003e, (WORD32)0x5269126d, (WORD32)0x5b9d1152,
     (WORD32)0x59646497, (WORD32)0x54ca0a49, (WORD32)0x5fe3b38c,
     (WORD32)0x4d8162c3, (WORD32)0x65ddfbd2, (WORD32)0x45cd358e,
     (WORD32)0x6b4af277, (WORD32)0x3db832a5, (WORD32)0x70231098,
     (WORD32)0x354d9056, (WORD32)0x745f9dd0, (WORD32)0x2c98fbba,
     (WORD32)0x77fab987, (WORD32)0x23a6887e, (WORD32)0x7aef6322,
     (WORD32)0x1a82a025, (WORD32)0x7d3980eb, (WORD32)0x1139f0ce,
     (WORD32)0x7ed5e5c5, (WORD32)0x7d95b9e,  (WORD32)0x7fc25595,
     (WORD32)0xfe6de2e1, (WORD32)0x7ffd8859, (WORD32)0xf50497fb,
     (WORD32)0x7f872bf1, (WORD32)0xebaa894f, (WORD32)0x7e5fe492,
     (WORD32)0xe26cb01b, (WORD32)0x7c894bdc, (WORD32)0xd957de7b,
     (WORD32)0x7a05eeac, (WORD32)0xd078ad9f, (WORD32)0x76d94987,
     (WORD32)0xc7db6c51, (WORD32)0x7307c3cf, (WORD32)0xbf8c0de4,
     (WORD32)0x6e96a99b, (WORD32)0xb796199c, (WORD32)0x698c246b,
     (WORD32)0xb0049ab4, (WORD32)0x63ef328e, (WORD32)0xa8e21108,
     (WORD32)0x5dc79d7b},

    // const WORD32 ixheaacd_esbr_sin_cos_twiddle_l24[24] =
    {(WORD32)0x430238f,  (WORD32)0x7fee74a1, (WORD32)0x7f62368e,
     (WORD32)0xc8bd35e,  (WORD32)0x14d9c245, (WORD32)0x7e4a5425,
     (WORD32)0x7ca80037, (WORD32)0x1d10d5c1, (WORD32)0x25280c5d,
     (WORD32)0x7a7d055a, (WORD32)0x77cbc3f1, (WORD32)0x2d168792,
     (WORD32)0x34d3957e, (WORD32)0x74972f91, (WORD32)0x70e2cbc5,
     (WORD32)0x3c56ba70, (WORD32)0x4397ba32, (WORD32)0x6cb2a836,
     (WORD32)0x680b5c33, (WORD32)0x4a8ea111, (WORD32)0x5133cc94,
     (WORD32)0x62f201ac, (WORD32)0x5d6c2f99, (WORD32)0x577ff3da},

    // const WORD32 ixheaacd_esbr_alt_sin_twiddle_l24[12] =
    {(WORD32)0x10b5150f, (WORD32)0x7ee7aa4b, (WORD32)0x2120fb83,
     (WORD32)0x7ba3751c, (WORD32)0x30fbc54d, (WORD32)0x7641af3c,
     (WORD32)0x3fffffff, (WORD32)0x6ed9eba1, (WORD32)0x4debe4fe,
     (WORD32)0x658c9a2d, (WORD32)0x5a827999, (WORD32)0x5a827999},

    // const WORD32 ixheaacd_esbr_t_cos_sin_l24[24+24] = //exp[-i * pi/24* 11/8
    // * (k
    // +0.5)]
    {(WORD32)0x7fded52e, (WORD32)0x5c1f4e6,  (WORD32)0x7ed5e5c5,
     (WORD32)0x1139f0ce, (WORD32)0x7cc62bde, (WORD32)0x1c8e3bbe,
     (WORD32)0x79b3ecde, (WORD32)0x27a75c94, (WORD32)0x75a585ce,
     (WORD32)0x326e54c7, (WORD32)0x70a35e24, (WORD32)0x3cccd003,
     (WORD32)0x6ab7d661, (WORD32)0x46ad5277, (WORD32)0x63ef328e,
     (WORD32)0x4ffb654c, (WORD32)0x5c5780d1, (WORD32)0x58a3c117,
     (WORD32)0x54007c50, (WORD32)0x609475c2, (WORD32)0x4afb6c97,
     (WORD32)0x67bd0fbb, (WORD32)0x415b01cd, (WORD32)0x6e0eba0a,
     (WORD32)0x37332dfc, (WORD32)0x737c5d0a, (WORD32)0x2c98fbba,
     (WORD32)0x77fab987, (WORD32)0x21a26295, (WORD32)0x7b808014,
     (WORD32)0x1666198d, (WORD32)0x7e06644a, (WORD32)0xafb6805,
     (WORD32)0x7f872bf1, (WORD32)0xff79f587, (WORD32)0x7fffb9cf,
     (WORD32)0xf3f998c1, (WORD32)0x7f6f141d, (WORD32)0xe8922622,
     (WORD32)0x7dd6668d, (WORD32)0xdd5b3e7c, (WORD32)0x7b38ffdc,
     (WORD32)0xd26c1e09, (WORD32)0x779c4afa, (WORD32)0xc7db6c51,
     (WORD32)0x7307c3cf, (WORD32)0xbdbf0d30, (WORD32)0x6d84e7b6},

    // const WORD32 ixheaacd_esbr_sin_cos_twiddle_l16[16] =
    {(WORD32)0x647d97c, (WORD32)0x7fd8878d, (WORD32)0x7e9d55fb,
     (WORD32)0x12c8106e, (WORD32)0x1f19f97b, (WORD32)0x7c29fbed,
     (WORD32)0x78848413, (WORD32)0x2b1f34eb, (WORD32)0x36ba2013,
     (WORD32)0x73b5ebd0, (WORD32)0x6dca0d14, (WORD32)0x41ce1e64,
     (WORD32)0x4c3fdff3, (WORD32)0x66cf811f, (WORD32)0x5ed77c89,
     (WORD32)0x55f5a4d2},

    // const WORD32 ixheaacd_esbr_alt_sin_twiddle_l16[8] =
    {(WORD32)0x18f8b83c, (WORD32)0x7d8a5f3f, (WORD32)0x30fbc54d,
     (WORD32)0x7641af3c, (WORD32)0x471cece6, (WORD32)0x6a6d98a3,
     (WORD32)0x5a827999, (WORD32)0x5a827999},

    // const WORD32 ixheaacd_esbr_t_cos_sin_l16[16+16] = //exp[-i * pi/16* 5/4 *
    // (k
    // +0.5)]
    {(WORD32)0x7fc25595, (WORD32)0x7d95b9e,  (WORD32)0x7dd6668d,
     (WORD32)0x176dd9de, (WORD32)0x7a05eeac, (WORD32)0x26a82185,
     (WORD32)0x745f9dd0, (WORD32)0x354d9056, (WORD32)0x6cf934fa,
     (WORD32)0x4325c134, (WORD32)0x63ef328e, (WORD32)0x4ffb654c,
     (WORD32)0x59646497, (WORD32)0x5b9d1152, (WORD32)0x4d8162c3,
     (WORD32)0x65ddfbd2, (WORD32)0x4073f21c, (WORD32)0x6e96a99b,
     (WORD32)0x326e54c7, (WORD32)0x75a585ce, (WORD32)0x23a6887e,
     (WORD32)0x7aef6322, (WORD32)0x145576b1, (WORD32)0x7e5fe492,
     (WORD32)0x4b6195d,  (WORD32)0x7fe9cbbe, (WORD32)0xf50497fb,
     (WORD32)0x7f872bf1, (WORD32)0xe57d5fdb, (WORD32)0x7d3980eb,
     (WORD32)0xd65c3b7c, (WORD32)0x7909a92b},

    // WORD16 ixheaacd_sbr_t_cos_sin_l32_eld[32+32];
    {
        (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)0x5a82,
        (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82,
        (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)0x5a82,
        (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82,
        (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)0x5a82,
        (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82,
        (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)0x5a82,
        (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82,
        (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)0x5a82,
        (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82,
        (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)0x5a82,
        (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82,
        (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)0x5a82,
        (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82,
        (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)0x5a82,
        (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)-0x5a82,
    },

    // WORD16 qmf_c_eld[640];
    {185,   386,   565,   759,   970,   1200,  1447,  1707,  1977,  2255,
     2535,  2818,  3099,  3379,  3657,  3933,  4208,  4481,  4754,  5027,
     5301,  5576,  5852,  6129,  6407,  6685,  6963,  7242,  7520,  7797,
     8073,  8349,  8624,  8898,  9172,  9445,  9717,  9989,  10259, 10528,
     10796, 11061, 11325, 11586, 11845, 12102, 12357, 12611, 12863, 13114,
     13364, 13612, 13858, 14103, 14344, 14581, 14813, 15040, 15260, 15473,
     15678, 15876, 16069, 16265, 16408, 16497, 16589, 16674, 16752, 16820,
     16879, 16928, 16969, 17001, 17027, 17045, 17057, 17063, 17063, 17056,
     17044, 17024, 16997, 16963, 16920, 16869, 16809, 16741, 16664, 16578,
     16484, 16381, 16270, 16150, 16023, 15887, 15743, 15590, 15430, 15262,
     15087, 14903, 14713, 14515, 14310, 14099, 13882, 13659, 13431, 13197,
     12958, 12715, 12467, 12214, 11958, 11698, 11435, 11168, 10899, 10627,
     10354, 10078, 9801,  9522,  9243,  8963,  8683,  8403,  -8120, -7836,
     -7553, -7270, -6989, -6710, -6431, -6155, -5881, -5610, -5341, -5076,
     -4813, -4554, -4299, -4047, -3799, -3555, -3315, -3080, -2848, -2622,
     -2399, -2182, -1969, -1761, -1558, -1360, -1167, -979,  -796,  -619,
     -447,  -280,  -120,  36,    186,   330,   468,   601,   727,   848,
     964,   1073,  1177,  1275,  1368,  1454,  1535,  1610,  1679,  1742,
     1800,  1852,  1898,  1939,  1974,  2004,  2030,  2050,  2066,  2078,
     2085,  2087,  2088,  2090,  2087,  2080,  2069,  2056,  2039,  2019,
     1996,  1970,  1942,  1911,  1878,  1842,  1804,  1765,  1723,  1680,
     1636,  1590,  1544,  1496,  1449,  1400,  1352,  1303,  1255,  1206,
     1158,  1109,  1062,  1015,  969,   924,   880,   837,   795,   754,
     714,   676,   640,   606,   572,   540,   510,   480,   452,   426,
     400,   376,   353,   332,   311,   291,   273,   255,   239,   223,
     208,   194,   181,   169,   158,   147,   -138,  -129,  -121,  -113,
     -107,  -100,  -94,   -88,   -83,   -78,   -73,   -68,   -62,   -57,
     -53,   -48,   -43,   -39,   -35,   -32,   -28,   -24,   -21,   -19,
     -16,   -13,   -9,    -5,    -1,    2,     7,     10,    10,    15,
     20,    24,    28,    33,    36,    30,    22,    15,    9,     3,
     -3,    -10,   -17,   -26,   -35,   -43,   -50,   -57,   -62,   -67,
     -72,   -75,   -76,   -77,   -77,   -76,   -74,   -71,   -68,   -63,
     -59,   -54,   -49,   -44,   -38,   -31,   -25,   -19,   -13,   -7,
     -2,    2,     5,     8,     10,    11,    11,    11,    11,    12,
     12,    12,    11,    9,     5,     2,     11,    20,    26,    31,
     36,    41,    45,    45,    44,    43,    40,    37,    33,    32,
     28,    23,    18,    13,    8,     1,     -5,    -8,    -9,    -11,
     -13,   -16,   -20,   -21,   -19,   -17,   -16,   -15,   -16,   -17,
     -18,   -19,   -20,   -20,   21,    21,    20,    19,    18,    18,
     17,    15,    13,    10,    5,     4,     4,     4,     3,     3,
     2,     1,     1,     0,     0,     0,     -2,    1,     2,     0,
     1,     1,     -1,    -2,    -3,    -6,    0,     3,     2,     1,
     1,     1,     1,     1,     0,     2,     2,     2,     1,     1,
     0,     0,     0,     0,     0,     1,     0,     0,     1,     1,
     1,     0,     0,     0,     0,     0,     0,     -1,    -3,    -3,
     -3,    -3,    -3,    -3,    -3,    -3,    -4,    -4,    -2,    -1,
     -1,    -1,    -1,    -1,    -1,    0,     0,     0,     0,     0,
     3,     1,     -1,    0,     -1,    -1,    1,     1,     1,     10,
     4,     1,     1,     1,     1,     1,     1,     1,     1,     -1,
     1,     1,     1,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     -1,    -1,    -1,    0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0},

    // WORD16 qmf_c_eld2[640];

    {185,   386,   565,   759,   970,   1200,  1447,  1707,  1977,  2255,
     2535,  2818,  3099,  3379,  3657,  3933,  4208,  4481,  4754,  5027,
     5301,  5576,  5852,  6129,  6407,  6685,  6963,  7242,  7520,  7797,
     8073,  8349,  8624,  8898,  9172,  9445,  9717,  9989,  10259, 10528,
     10796, 11061, 11325, 11586, 11845, 12102, 12357, 12611, 12863, 13114,
     13364, 13612, 13858, 14103, 14344, 14581, 14813, 15040, 15260, 15473,
     15678, 15876, 16069, 16265, 16408, 16497, 16589, 16674, 16752, 16820,
     16879, 16928, 16969, 17001, 17027, 17045, 17057, 17063, 17063, 17056,
     17044, 17024, 16997, 16963, 16920, 16869, 16809, 16741, 16664, 16578,
     16484, 16381, 16270, 16150, 16023, 15887, 15743, 15590, 15430, 15262,
     15087, 14903, 14713, 14515, 14310, 14099, 13882, 13659, 13431, 13197,
     12958, 12715, 12467, 12214, 11958, 11698, 11435, 11168, 10899, 10627,
     10354, 10078, 9801,  9522,  9243,  8963,  8683,  8403,  -8120, -7836,
     -7553, -7270, -6989, -6710, -6431, -6155, -5881, -5610, -5341, -5076,
     -4813, -4554, -4299, -4047, -3799, -3555, -3315, -3080, -2848, -2622,
     -2399, -2182, -1969, -1761, -1558, -1360, -1167, -979,  -796,  -619,
     -447,  -280,  -120,  36,    186,   330,   468,   601,   727,   848,
     964,   1073,  1177,  1275,  1368,  1454,  1535,  1610,  1679,  1742,
     1800,  1852,  1898,  1939,  1974,  2004,  2030,  2050,  2066,  2078,
     2085,  2087,  2088,  2090,  2087,  2080,  2069,  2056,  2039,  2019,
     1996,  1970,  1942,  1911,  1878,  1842,  1804,  1765,  1723,  1680,
     1636,  1590,  1544,  1496,  1449,  1400,  1352,  1303,  1255,  1206,
     1158,  1109,  1062,  1015,  969,   924,   880,   837,   795,   754,
     714,   676,   640,   606,   572,   540,   510,   480,   452,   426,
     400,   376,   353,   332,   311,   291,   273,   255,   239,   223,
     208,   194,   181,   169,   158,   147,   -138,  -129,  -121,  -113,
     -107,  -100,  -94,   -88,   -83,   -78,   -73,   -68,   -62,   -57,
     -53,   -48,   -43,   -39,   -35,   -32,   -28,   -24,   -21,   -19,
     -16,   -13,   -9,    -5,    -1,    2,     7,     10,    10,    15,
     20,    24,    28,    33,    36,    30,    22,    15,    9,     3,
     -3,    -10,   -17,   -26,   -35,   -43,   -50,   -57,   -62,   -67,
     -72,   -75,   -76,   -77,   -77,   -76,   -74,   -71,   -68,   -63,
     -59,   -54,   -49,   -44,   -38,   -31,   -25,   -19,   -13,   -7,
     -2,    2,     5,     8,     10,    11,    11,    11,    11,    12,
     12,    12,    11,    9,     5,     2,     11,    20,    26,    31,
     36,    41,    45,    45,    44,    43,    40,    37,    33,    32,
     28,    23,    18,    13,    8,     1,     -5,    -8,    -9,    -11,
     -13,   -16,   -20,   -21,   -19,   -17,   -16,   -15,   -16,   -17,
     -18,   -19,   -20,   -20,   21,    21,    20,    19,    18,    18,
     17,    15,    13,    10,    5,     4,     4,     4,     3,     3,
     2,     1,     1,     0,     0,     0,     -2,    1,     2,     0,
     1,     1,     -1,    -2,    -3,    -6,    0,     3,     2,     1,
     1,     1,     1,     1,     0,     2,     2,     2,     1,     1,
     0,     0,     0,     0,     0,     1,     0,     0,     1,     1,
     1,     0,     0,     0,     0,     0,     0,     -1,    -3,    -3,
     -3,    -3,    -3,    -3,    -3,    -3,    -4,    -4,    -2,    -1,
     -1,    -1,    -1,    -1,    -1,    0,     0,     0,     0,     0,
     3,     1,     -1,    0,     -1,    -1,    1,     1,     1,     10,
     4,     1,     1,     1,     1,     1,     1,     1,     1,     -1,
     1,     1,     1,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     -1,    -1,    -1,    0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     1,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0},

    // WORD16 qmf_c_eld3[640];
    {
        285,   662,   1085,  1577,  2116,  2676,  3239,  3795,  4344,  4890,
        5438,  5990,  6546,  7102,  7658,  8211,  8761,  9308,  9853,  10393,
        10928, 11455, 11973, 12484, 12988, 13488, 13980, 14462, 14926, 15366,
        15777, 16167, 16452, 16631, 16786, 16903, 16985, 17036, 17060, 17059,
        17034, 16980, 16894, 16775, 16621, 16432, 16210, 15955, 15666, 15346,
        14995, 14614, 14204, 13770, 13314, 12836, 12340, 11828, 11301, 10763,
        10216, 9661,  9103,  8543,  -7978, -7412, -6850, -6293, -5746, -5209,
        -4684, -4173, -3677, -3198, -2735, -2291, -1865, -1459, -1073, -708,
        -364,  -42,   258,   534,   787,   1018,  1226,  1411,  1572,  1710,
        1826,  1918,  1989,  2040,  2072,  2086,  2089,  2083,  2062,  2029,
        1983,  1926,  1860,  1784,  1701,  1613,  1520,  1424,  1327,  1230,
        1133,  1038,  946,   858,   774,   695,   623,   556,   495,   439,
        388,   342,   301,   264,   231,   201,   175,   152,   -134,  -117,
        -104,  -91,   -81,   -71,   -60,   -51,   -41,   -34,   -26,   -20,
        -15,   -7,    0,     8,     12,    22,    30,    33,    18,    6,
        -7,    -22,   -39,   -54,   -65,   -74,   -77,   -77,   -73,   -66,
        -57,   -47,   -35,   -22,   -10,   0,     6,     10,    11,    11,
        12,    10,    3,     15,    28,    38,    45,    43,    38,    32,
        25,    15,    4,     -7,    -10,   -15,   -21,   -18,   -16,   -17,
        -19,   -20,   21,    19,    18,    16,    11,    4,     4,     3,
        1,     0,     0,     -1,    1,     1,     -2,    -5,    1,     1,
        1,     1,     1,     2,     1,     0,     0,     0,     0,     1,
        0,     0,     0,     -1,    -3,    -3,    -3,    -3,    -4,    -2,
        -1,    -1,    -1,    0,     0,     2,     -1,    -1,    1,     5,
        2,     1,     1,     1,     0,     1,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     -1,    -1,    0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        285,   662,   1085,  1577,  2116,  2676,  3239,  3795,  4344,  4890,
        5438,  5990,  6546,  7102,  7658,  8211,  8761,  9308,  9853,  10393,
        10928, 11455, 11973, 12484, 12988, 13488, 13980, 14462, 14926, 15366,
        15777, 16167, 16452, 16631, 16786, 16903, 16985, 17036, 17060, 17059,
        17034, 16980, 16894, 16775, 16621, 16432, 16210, 15955, 15666, 15346,
        14995, 14614, 14204, 13770, 13314, 12836, 12340, 11828, 11301, 10763,
        10216, 9661,  9103,  8543,  -7978, -7412, -6850, -6293, -5746, -5209,
        -4684, -4173, -3677, -3198, -2735, -2291, -1865, -1459, -1073, -708,
        -364,  -42,   258,   534,   787,   1018,  1226,  1411,  1572,  1710,
        1826,  1918,  1989,  2040,  2072,  2086,  2089,  2083,  2062,  2029,
        1983,  1926,  1860,  1784,  1701,  1613,  1520,  1424,  1327,  1230,
        1133,  1038,  946,   858,   774,   695,   623,   556,   495,   439,
        388,   342,   301,   264,   231,   201,   175,   152,   -134,  -117,
        -104,  -91,   -81,   -71,   -60,   -51,   -41,   -34,   -26,   -20,
        -15,   -7,    0,     8,     12,    22,    30,    33,    18,    6,
        -7,    -22,   -39,   -54,   -65,   -74,   -77,   -77,   -73,   -66,
        -57,   -47,   -35,   -22,   -10,   0,     6,     10,    11,    11,
        12,    10,    3,     15,    28,    38,    45,    43,    38,    32,
        25,    15,    4,     -7,    -10,   -15,   -21,   -18,   -16,   -17,
        -19,   -20,   21,    19,    18,    16,    11,    4,     4,     3,
        1,     0,     0,     -1,    1,     1,     -2,    -5,    1,     1,
        1,     1,     1,     2,     1,     0,     0,     0,     0,     1,
        0,     0,     0,     -1,    -3,    -3,    -3,    -3,    -4,    -2,
        -1,    -1,    -1,    0,     0,     2,     -1,    -1,    1,     5,
        2,     1,     1,     1,     0,     1,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     -1,    -1,    0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    },
    // const WORD16 ixheaacd_sbr_synth_cos_sin_l32[64+64] = //exp[-i * pi/4* (2k
    // + 1)]
    {
        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

        (WORD16)0x5a82,  (WORD16)0x5a82,  (WORD16)-0x5a82, (WORD16)0x5a82,
        (WORD16)-0x5a82, (WORD16)-0x5a82, (WORD16)0x5a82,  (WORD16)-0x5a82,

    },

};

const ia_env_extr_tables_struct ixheaacd_aac_dec_env_extr_tables = {
    {
        // const ia_frame_info_struct sbr_frame_info1_16 =
        {0,
         1,
         -1,
         1,
         {0, 16, 0, 0, 0, 0, 0, 0, 0},
         {1, 0, 0, 0, 0, 0, 0, 0},
         {0, 16, 0}},

        // const ia_frame_info_struct sbr_frame_info2_16 =
        {0,
         2,
         -1,
         2,
         {0, 8, 16, 0, 0, 0, 0, 0, 0},
         {1, 1, 0, 0, 0, 0, 0, 0},
         {0, 8, 16}},

        // const ia_frame_info_struct sbr_frame_info4_16 =
        {0,
         4,
         -1,
         2,
         {0, 4, 8, 12, 16, 0, 0, 0, 0},
         {1, 1, 1, 1, 0, 0, 0, 0},
         {0, 8, 16}},

        // const ia_frame_info_struct sbr_frame_info8_16 =
        {0,
         8,
         -1,
         2,
         {0, 2, 4, 6, 8, 10, 12, 14, 16},
         {1, 1, 1, 1, 1, 1, 1, 1},
         {0, 8, 16}},

    },

    // const ia_sbr_header_data_struct sbr_default_header =
    {SBR_NOT_INITIALIZED,
     0,
     0,
     16,
     2,
     1024,
     44100,

     0,
     SBR_AMPLITUDE_RESOLUTION_3_0,

     15,
     6,
     0,
     SBR_SAMP_FEQ_LVL_DEF,
     SBR_CHANGE_LVL_DEF,
     SBR_NOISE_BND_DEF,

     SBR_BND_LIMIT_DEF,
     SBR_GAIN_LIMIT_DEF,
     SBR_INTERPOL_SAMP_FEQ_DEF,
     SBR_SMOOTH_LEN_DEF,

     NULL,
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0},

    // WORD16 ixheaacd_t_huffman_env_bal_1_5db_inp_table[50];
    {0x0011, 0x0301, 0x0322, 0x02e3, 0x0344, 0x02c5, 0x0366, 0x02a7, 0x0388,
     0x0289, 0x026b, 0x03ab, 0x024c, 0x03cc, 0x03ef, 0x0230, 0x0410, 0x0010,
     0x0030, 0x0050, 0x0070, 0x0090, 0x00b0, 0x00d0, 0x00f0, 0x0110, 0x0130,
     0x0150, 0x0170, 0x0190, 0x01b0, 0x01d0, 0x01f0, 0x0210, 0x0430, 0x0450,
     0x0470, 0x0490, 0x04b0, 0x04d0, 0x04f1, 0x0511, 0x0531, 0x0551, 0x0571,
     0x0591, 0x05b1, 0x05d1, 0x05f1, 0x0611},
    // WORD16 ixheaacd_f_huffman_env_bal_1_5db_inp_table[50];
    {0x0013, 0x0301, 0x02e2, 0x0323, 0x02c4, 0x0345, 0x0366, 0x02a7, 0x0288,
     0x0389, 0x026b, 0x03ab, 0x024b, 0x03cc, 0x022e, 0x03ef, 0x0410, 0x01f0,
     0x0211, 0x0012, 0x0032, 0x0052, 0x0072, 0x0092, 0x00b2, 0x00d2, 0x00f2,
     0x0112, 0x0132, 0x0152, 0x0172, 0x0192, 0x01b2, 0x01d2, 0x0432, 0x0452,
     0x0472, 0x0492, 0x04b2, 0x04d2, 0x04f2, 0x0512, 0x0532, 0x0552, 0x0572,
     0x0592, 0x05b2, 0x05d2, 0x05f3, 0x0613},
    // WORD16 ixheaacd_t_huffman_env_bal_3_0db_inp_table[26];
    {0x000e, 0x0181, 0x01a2, 0x0163, 0x0144, 0x01c5, 0x01e6, 0x0127, 0x0108,
     0x0209, 0x00ec, 0x000d, 0x002d, 0x004d, 0x006d, 0x008d, 0x00ad, 0x00cd,
     0x022d, 0x024d, 0x026d, 0x028d, 0x02ad, 0x02cd, 0x02ee, 0x030e},
    // WORD16 ixheaacd_f_huffman_env_bal_3_0db_inp_table[26];
    {0x000e, 0x0181, 0x0162, 0x01a3, 0x0144, 0x01c5, 0x01e6, 0x0127, 0x0108,
     0x0209, 0x00eb, 0x022c, 0x024d, 0x000d, 0x002d, 0x004d, 0x006d, 0x008d,
     0x00ae, 0x00ce, 0x026e, 0x028e, 0x02ae, 0x02ce, 0x02ee, 0x030e},
    // WORD16 ixheaacd_t_huffman_noise_3_0db_inp_table[64];
    {0x000e, 0x03e1, 0x0402, 0x03c3, 0x03a4, 0x0425, 0x0386, 0x0448,
     0x0368, 0x046a, 0x034b, 0x048d, 0x054d, 0x000d, 0x002d, 0x004d,
     0x006d, 0x008d, 0x00ad, 0x00cd, 0x00ed, 0x010d, 0x012d, 0x014d,
     0x016d, 0x018d, 0x01ad, 0x01cd, 0x01ed, 0x020d, 0x022d, 0x024d,
     0x026d, 0x028d, 0x02ad, 0x02cd, 0x02ed, 0x030d, 0x032d, 0x04ad,
     0x04cd, 0x04ed, 0x050d, 0x052d, 0x056d, 0x058d, 0x05ad, 0x05cd,
     0x05ed, 0x060d, 0x062d, 0x064d, 0x066d, 0x068d, 0x06ad, 0x06cd,
     0x06ed, 0x070d, 0x072d, 0x074d, 0x076d, 0x078d, 0x07ae, 0x07ce},
    // WORD16 ixheaacd_t_huffman_noise_bal_3_0db_inp_table[26];
    {0x0008, 0x0181, 0x0162, 0x01a3, 0x0145, 0x01c6, 0x0008, 0x0028, 0x0048,
     0x0068, 0x0088, 0x00a8, 0x00c8, 0x00e8, 0x0108, 0x0128, 0x01e8, 0x0208,
     0x0228, 0x0248, 0x0268, 0x0288, 0x02a8, 0x02c8, 0x02e8, 0x0308},
    // WORD16 ixheaacd_t_huffman_env_1_5db_inp_table[122];
    {0x0013, 0x0782, 0x0762, 0x07a3, 0x0743, 0x07c4, 0x0724, 0x07e5, 0x0705,
     0x0806, 0x06e6, 0x0827, 0x06c7, 0x0848, 0x06a8, 0x0869, 0x0689, 0x066a,
     0x088a, 0x064b, 0x08ac, 0x062c, 0x08cd, 0x060d, 0x05ed, 0x08ee, 0x05ce,
     0x090e, 0x05ae, 0x058f, 0x092f, 0x0530, 0x0550, 0x0570, 0x0950, 0x0490,
     0x0510, 0x0990, 0x0451, 0x04f1, 0x0971, 0x04b1, 0x0472, 0x04d2, 0x0012,
     0x0032, 0x0052, 0x0072, 0x0092, 0x00b2, 0x00d3, 0x00f3, 0x0113, 0x0133,
     0x0153, 0x0173, 0x0193, 0x01b3, 0x01d3, 0x01f3, 0x0213, 0x0233, 0x0253,
     0x0273, 0x0293, 0x02b3, 0x02d3, 0x02f3, 0x0313, 0x0333, 0x0353, 0x0373,
     0x0393, 0x03b3, 0x03d3, 0x03f3, 0x0413, 0x0433, 0x09b3, 0x09d3, 0x09f3,
     0x0a13, 0x0a33, 0x0a53, 0x0a73, 0x0a93, 0x0ab3, 0x0ad3, 0x0af3, 0x0b13,
     0x0b33, 0x0b53, 0x0b73, 0x0b93, 0x0bb3, 0x0bd3, 0x0bf3, 0x0c13, 0x0c33,
     0x0c53, 0x0c73, 0x0c93, 0x0cb3, 0x0cd3, 0x0cf3, 0x0d13, 0x0d33, 0x0d53,
     0x0d73, 0x0d93, 0x0db3, 0x0dd3, 0x0df3, 0x0e13, 0x0e33, 0x0e53, 0x0e73,
     0x0e93, 0x0eb3, 0x0ed3, 0x0ef3, 0x0f13},
    // WORD16 ixheaacd_f_huffman_env_1_5db_inp_table[122];
    {0x0014, 0x0782, 0x0762, 0x07a3, 0x0743, 0x0724, 0x07c4, 0x0705, 0x07e5,
     0x06e6, 0x0806, 0x06c7, 0x0828, 0x06a8, 0x0848, 0x0689, 0x0869, 0x0669,
     0x088a, 0x064a, 0x08ab, 0x062b, 0x08cb, 0x08eb, 0x060c, 0x090c, 0x05ec,
     0x092c, 0x094d, 0x05cd, 0x05ad, 0x096d, 0x098e, 0x09ae, 0x058e, 0x056f,
     0x054f, 0x0530, 0x09d0, 0x09f0, 0x0510, 0x04f0, 0x0a11, 0x0a31, 0x0491,
     0x04b1, 0x04d1, 0x0451, 0x0412, 0x0a52, 0x0a72, 0x0ab2, 0x0272, 0x0472,
     0x0ad2, 0x0af2, 0x03d2, 0x0432, 0x0a92, 0x0b12, 0x0d12, 0x0133, 0x01d3,
     0x0213, 0x0233, 0x02f3, 0x0373, 0x03b3, 0x03f3, 0x0b53, 0x0c33, 0x0cd3,
     0x0d73, 0x0d93, 0x0013, 0x0033, 0x0054, 0x0074, 0x0094, 0x00b4, 0x00d4,
     0x00f4, 0x0114, 0x0154, 0x0174, 0x0194, 0x01b4, 0x01f4, 0x0254, 0x0294,
     0x02b4, 0x02d4, 0x0314, 0x0334, 0x0354, 0x0394, 0x0b34, 0x0b74, 0x0b94,
     0x0bb4, 0x0bd4, 0x0bf4, 0x0c14, 0x0c54, 0x0c74, 0x0c94, 0x0cb4, 0x0cf4,
     0x0d34, 0x0d54, 0x0db4, 0x0dd4, 0x0df4, 0x0e14, 0x0e34, 0x0e54, 0x0e74,
     0x0e94, 0x0eb4, 0x0ed4, 0x0ef4, 0x0f14},
    // WORD16 ixheaacd_t_huffman_env_3_0db_inp_table[64];
    {0x0013, 0x03e1, 0x03c2, 0x0403, 0x03a4, 0x0425, 0x0386, 0x0447,
     0x0368, 0x0469, 0x034b, 0x048b, 0x032c, 0x030d, 0x04ad, 0x02ee,
     0x04ce, 0x02ce, 0x02ae, 0x04ee, 0x050f, 0x0530, 0x0250, 0x0290,
     0x0270, 0x0231, 0x0551, 0x0572, 0x0012, 0x0032, 0x0053, 0x0073,
     0x0093, 0x00b3, 0x00d3, 0x00f3, 0x0113, 0x0133, 0x0153, 0x0173,
     0x0193, 0x01b3, 0x01d3, 0x01f3, 0x0213, 0x0593, 0x05b3, 0x05d3,
     0x05f3, 0x0613, 0x0633, 0x0653, 0x0673, 0x0693, 0x06b3, 0x06d3,
     0x06f3, 0x0713, 0x0733, 0x0753, 0x0773, 0x0793, 0x07b3, 0x07d3},
    // WORD16 ixheaacd_f_huffman_env_3_0db_inp_table[64];
    {0x0014, 0x03e1, 0x03c2, 0x0403, 0x03a4, 0x0425, 0x0386, 0x0448,
     0x0368, 0x0469, 0x0349, 0x048a, 0x032a, 0x04ab, 0x030b, 0x04cc,
     0x02ec, 0x04ed, 0x050e, 0x02ce, 0x02af, 0x052f, 0x054f, 0x0290,
     0x0270, 0x0570, 0x0590, 0x0251, 0x0211, 0x05b1, 0x05d1, 0x0232,
     0x0632, 0x01b2, 0x00f2, 0x0192, 0x05f2, 0x0612, 0x0133, 0x0153,
     0x01f3, 0x0673, 0x0693, 0x06b3, 0x0713, 0x0113, 0x0173, 0x06f3,
     0x0014, 0x0034, 0x0054, 0x0074, 0x0094, 0x00b4, 0x00d4, 0x01d4,
     0x0654, 0x06d4, 0x0734, 0x0754, 0x0774, 0x0794, 0x07b4, 0x07d4},
    // WORD32 ixheaacd_t_huffman_env_bal_1_5db_idx_table[20];
    {0x00000000, 0x00100002, 0x00200006, 0x0030000e, 0x0040001e,
     0x0050003e, 0x0060007e, 0x007000fe, 0x008001fe, 0x00a007fd,
     0x00c00ffd, 0x10d07ff0, 0x0230fff7, 0x2260fffa, 0x02c1fffb,
     0x02e1fffd, 0x02f1fffe, 0x0301ffff, 0x01b0ffef, 0x0281fff7},
    // WORD32 ixheaacd_f_huffman_env_bal_1_5db_idx_table[23];
    {0x00000000, 0x00100002, 0x00200006, 0x0030000e, 0x0040001e, 0x0050003e,
     0x0060007e, 0x007000fe, 0x008001fe, 0x00a007fd, 0x00b007fe, 0x00c00ffe,
     0x10d03ffc, 0x2111fff0, 0x0273fff7, 0x02b3fffb, 0x02d3fffd, 0x02e3fffe,
     0x02f7fffe, 0x0307ffff, 0x20e07ffa, 0x01f3ffef, 0x0100fff7},
    // WORD32 ixheaacd_t_huffman_env_bal_3_0db_idx_table[16];
    {0x00000000, 0x00100002, 0x00200006, 0x0030000e, 0x0040001e, 0x0050003e,
     0x0060007e, 0x007000fe, 0x008001fe, 0x10900ff8, 0x01301ffb, 0x01501ffd,
     0x01601ffe, 0x01703ffe, 0x01803fff, 0x00f01ff7},
    // WORD32 ixheaacd_f_huffman_env_bal_3_0db_idx_table[17];
    {0x00000000, 0x00100002, 0x00200006, 0x0030000e, 0x0040001e, 0x0050003e,
     0x0060007e, 0x007000fe, 0x008001fe, 0x109007fc, 0x01001ffb, 0x01403ffb,
     0x01603ffd, 0x01703ffe, 0x01803fff, 0x10a00ffa, 0x00c01ff7},
    // WORD32 ixheaacd_t_huffman_noise_3_0db_idx_table[17];
    {0x00000000, 0x00100002, 0x00200006, 0x0030000e, 0x0040001e, 0x0050003e,
     0x007000fd, 0x108003f8, 0x02d01fef, 0x03501ff7, 0x03901ffb, 0x03b01ffd,
     0x03c01ffe, 0x03d03ffe, 0x03e03fff, 0x109007f2, 0x01d01fdf},
    // WORD32 ixheaacd_t_huffman_noise_bal_3_0db_idx_table[11];
    {0x00000000, 0x00100002, 0x00200006, 0x1030001c, 0x010000f7, 0x014000fb,
     0x016000fd, 0x017000fe, 0x018000ff, 0x1040003a, 0x008000ef},
    // WORD32 ixheaacd_t_huffman_env_1_5db_idx_table[27];
    {0x00100001, 0x00300005, 0x0050000d, 0x0070001d, 0x0090003d, 0x00b0007d,
     0x00d000fd, 0x00f001fd, 0x011003fd, 0x112007fc, 0x21701ffa, 0x31b03ff9,
     0x4240fff2, 0x0587ffdf, 0x0687ffef, 0x0707fff7, 0x0747fffb, 0x0767fffd,
     0x0777fffe, 0x0787ffff, 0x01400ffb, 0x01903ff7, 0x21d07ff5, 0x2281ffe9,
     0x0210ffef, 0x1303ffdb, 0x0387ffbf},
    // WORD32 ixheaacd_f_huffman_env_1_5db_idx_table[28];
    {0x00100001, 0x00300005, 0x0050000d, 0x0070001d, 0x0090003d, 0x10a0007c,
     0x20d000fc, 0x310001fc, 0x016007fb, 0x01a00ffb, 0x01e01ffb, 0x42103ffa,
     0x5280fff4, 0x63b3ffec, 0x74a7ffe8, 0x068fffef, 0x070ffff7, 0x074ffffb,
     0x076ffffd, 0x077ffffe, 0x078fffff, 0x00c000fb, 0x00f001fb, 0x012003fb,
     0x02307ff7, 0x02e1ffef, 0x0417ffdf, 0x058fffdf},
    // WORD32 ixheaacd_t_huffman_env_3_0db_idx_table[26];
    {0x00000000, 0x00100002, 0x00200006, 0x0030000e, 0x0040001e, 0x0050003e,
     0x0060007e, 0x007000fe, 0x008001fe, 0x00a007fd, 0x10b00ffc, 0x01103ffb,
     0x21203ffc, 0x3170fff9, 0x02e7ffef, 0x0367fff7, 0x03a7fffb, 0x03c7fffd,
     0x03d7fffe, 0x03e7ffff, 0x00d01ffb, 0x21307ffa, 0x2191fff5, 0x0150fff7,
     0x11c3ffee, 0x01e7ffdf},
    // WORD32 ixheaacd_f_huffman_env_3_0db_idx_table[25];
    {0x00000000, 0x00100002, 0x00200006, 0x0030000e, 0x0040001e,
     0x0050003e, 0x007000fd, 0x009001fd, 0x00b003fd, 0x00d007fd,
     0x00f00ffd, 0x11001ffc, 0x21507ffa, 0x3190fff9, 0x4243fff6,
     0x02e7fff7, 0x036ffff7, 0x03affffb, 0x03cffffd, 0x03dffffe,
     0x03efffff, 0x01203ffb, 0x0170fff7, 0x01d1fff7, 0x0267ffef},

    // const WORD8 start_min[12] =
    {7, 7, 10, 11, 12, 16, 16, 17, 24, 32, 35, 48},

    // const WORD8 offset_idx[12] =
    {5, 5, 4, 4, 4, 3, 2, 1, 0, 6, 6, 6},

    // const WORD8 ixheaacd_drc_offset[7][16] =
    {{-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7},
     {-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13},
     {-5, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16},
     {-6, -4, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16},
     {-4, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16, 20},
     {-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16, 20, 24},
     {0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16, 20, 24, 28, 33}},

    // const WORD8 stop_min[12] =
    {13, 15, 20, 21, 23, 32, 32, 35, 48, 64, 70, 96},

    // const WORD8 stop_off[12][14] =
    {{0, 2, 4, 6, 8, 11, 14, 18, 22, 26, 31, 37, 44, 51},
     {0, 2, 4, 6, 8, 11, 14, 18, 22, 26, 31, 36, 42, 49},
     {0, 2, 4, 6, 8, 11, 14, 17, 21, 25, 29, 34, 39, 44},
     {0, 2, 4, 6, 8, 11, 14, 17, 20, 24, 28, 33, 38, 43},
     {0, 2, 4, 6, 8, 11, 14, 17, 20, 24, 28, 32, 36, 41},
     {0, 2, 4, 6, 8, 10, 12, 14, 17, 20, 23, 26, 29, 32},
     {0, 2, 4, 6, 8, 10, 12, 14, 17, 20, 23, 26, 29, 32},
     {0, 1, 3, 5, 7, 9, 11, 13, 15, 17, 20, 23, 26, 29},
     {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16},
     {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
     {0, -1, -2, -3, -4, -5, -6, -6, -6, -6, -6, -6, -6, -6},
     {0, -3, -6, -9, -12, -15, -18, -20, -22, -24, -26, -28, -30, -32}}

};

const ia_ps_tables_struct ixheaacd_aac_dec_ps_tables = {
    {
        // const WORD16 decay_scale_factor[70]=

        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x5361, 0x4848, 0x3ea8, 0x4f36, 0x44ab, 0x3b86, 0x4b0b, 0x410e, 0x3864,
        0x46e0, 0x3d71, 0x3542, 0x42b5, 0x39d4, 0x3221, 0x3e8a, 0x3637, 0x2eff,
        0x3a5f, 0x329a, 0x2bdd, 0x3634, 0x2efd, 0x28bb, 0x3209, 0x2b60, 0x2599,
        0x2ddd, 0x27c3, 0x2277, 0x29b2, 0x2426, 0x1f55, 0x2587, 0x2089, 0x1c34,
        0x215c, 0x1cec, 0x1912, 0x1d31, 0x194f, 0x15f0, 0x1906, 0x15b2, 0x12ce,
        0x14db, 0x1215, 0x0fac, 0x10b0, 0x0e78, 0x0c8a, 0x0c85, 0x0adb, 0x0968,
        0x085a, 0x073e, 0x0647, 0x042f, 0x03a0, 0x0325, 0x0000, 0x0000, 0x0000,
    }

    ,
    // const WORD16 hyb_resol[3] =
    {8, 2, 2},

    // const WORD16 rev_link_decay_ser[NO_SERIAL_ALLPASS_LINKS]=
    {0x5362, 0x4849, 0x3ea9},

    // const WORD16 rev_link_delay_ser[3] =
    {3, 4, 5},

    // const WORD16 borders_group[NO_IID_GROUPS + 1] =
    {4, 5, 0, 1, 2, 3, 7, 6, 8, 9, 3, 4, 5, 6, 7, 8, 9, 11, 14, 18, 23, 35, 64},

    // const WORD16 group_shift[6] =
    {0, 1, 1, 2, 3, 4},

    // const WORD16 group_to_bin[NO_IID_GROUPS] =
    {0, 1,  2,  3,  1,  0,  5,  4,  6,  7,  8,
     9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19},

    // const WORD16 hybrid_to_bin[SUBQMF_GROUPS] =
    {0, 1, 2, 3, 1, 0, 5, 4, 6, 7},

    // const WORD16 delay_to_bin[32] =
    {20, 20, 20, 8,  9,  10, 11, 12, 13, 14, 14, 15, 15, 15, 16, 16, 16,
     16, 17, 17, 17, 17, 17, 20, 20, 20, 20, 20, 20, 20, 20, 20

    },

    // const WORD16 frac_delay_phase_fac_qmf_re_im[24*2]=
    {
        0,
        0,
        0,
        0,
        0,
        0,
        (WORD16)-0x34ac,
        (WORD16)0x74a9,
        (WORD16)0x5bec,
        (WORD16)0x5914,
        (WORD16)0x72f3,
        (WORD16)-0x3850,
        (WORD16)-0x0e0c,
        (WORD16)-0x7f3a,
        (WORD16)-0x7c77,
        (WORD16)-0x1de2,
        (WORD16)-0x4646,
        (WORD16)0x6afc,
        (WORD16)0x4cdb,
        (WORD16)0x665c,
        (WORD16)0x7a57,
        (WORD16)-0x25a3,
        (WORD16)0x0608,
        (WORD16)-0x7fdc,
        (WORD16)-0x7642,
        (WORD16)-0x30fc,
        (WORD16)-0x5625,
        (WORD16)0x5eac,
        (WORD16)0x3be5,
        (WORD16)0x711f,
        (WORD16)0x7eb9,
        (WORD16)-0x1209,
        (WORD16)0x19f5,
        (WORD16)-0x7d57,
        (WORD16)-0x6d23,
        (WORD16)-0x42e1,
        (WORD16)-0x63e5,
        (WORD16)0x5008,
        (WORD16)0x2976,
        (WORD16)0x7919,
        (WORD16)0x7ffc,
        (WORD16)0x0203,
        (WORD16)0x2d3f,
        (WORD16)-0x77bd,
        (WORD16)-0x6155,
        (WORD16)-0x5321,
    },

    // const WORD16 frac_delay_phase_fac_qmf_sub_re_im[16*2]=
    {
        (WORD16)0x7e80,  (WORD16)-0x1387, (WORD16)0x72ba,  (WORD16)-0x38c3,
        (WORD16)0x5c45,  (WORD16)-0x58b7, (WORD16)0x3d39,  (WORD16)-0x7069,
        (WORD16)0x72ba,  (WORD16)0x38c3,  (WORD16)0x7e80,  (WORD16)0x1387,
        (WORD16)-0x456f, (WORD16)-0x6b88, (WORD16)0x0506,  (WORD16)-0x7fe7,
        (WORD16)-0x76a3, (WORD16)-0x300e, (WORD16)-0x7cb2, (WORD16)0x1ce7,
    },

    // const WORD16 frac_delay_phase_fac_qmf_ser_re_im[3][32]=
    {
        // const WORD16
        {
            0,
            0,
            0,
            0,
            0,
            0,
            (WORD16)0x0203,
            (WORD16)0x7ffc,
            (WORD16)0x7d57,
            (WORD16)0x19f5,
            (WORD16)0x34ac,
            (WORD16)-0x74a9,
            (WORD16)-0x665c,
            (WORD16)-0x4cdb,
            (WORD16)-0x6155,
            (WORD16)0x5321,
            (WORD16)0x3be5,
            (WORD16)0x711f,
            (WORD16)0x7b77,
            (WORD16)-0x21c7,
            (WORD16)-0x0608,
            (WORD16)-0x7fdc,
            (WORD16)-0x7e18,
            (WORD16)-0x1602,
            (WORD16)-0x30fc,
            (WORD16)0x7642,
            (WORD16)0x68b9,
            (WORD16)0x499a,
            (WORD16)0x5eac,
            (WORD16)-0x5625,
            (WORD16)-0x3f6b,
            (WORD16)-0x6f2f,
            (WORD16)-0x7a57,
            (WORD16)0x25a3,
            (WORD16)0x0a0b,
            (WORD16)0x7f9b,
            (WORD16)0x7eb9,
            (WORD16)0x1209,
            (WORD16)0x2d3f,
            (WORD16)-0x77bd,
            (WORD16)-0x6afc,
            (WORD16)-0x4646,
            (WORD16)-0x5bec,
            (WORD16)0x5914,
            (WORD16)0x42e1,
            (WORD16)0x6d23,
        },

        // const WORD16
        {
            0,
            0,
            0,
            0,
            0,
            0,
            (WORD16)-0x30fc,
            (WORD16)-0x7642,
            (WORD16)-0x30fc,
            (WORD16)0x7642,
            (WORD16)0x7642,
            (WORD16)-0x30fc,
            (WORD16)-0x7642,
            (WORD16)-0x30fc,
            (WORD16)0x30fc,
            (WORD16)0x7642,
            (WORD16)0x30fc,
            (WORD16)-0x7642,
            (WORD16)-0x7642,
            (WORD16)0x30fc,
            (WORD16)0x7642,
            (WORD16)0x30fc,
            (WORD16)-0x30fc,
            (WORD16)-0x7642,
            (WORD16)-0x30fc,
            (WORD16)0x7642,
            (WORD16)0x7642,
            (WORD16)-0x30fc,
            (WORD16)-0x7642,
            (WORD16)-0x30fc,
            (WORD16)0x30fc,
            (WORD16)0x7642,
            (WORD16)0x30fc,
            (WORD16)-0x7642,
            (WORD16)-0x7642,
            (WORD16)0x30fc,
            (WORD16)0x7642,
            (WORD16)0x30fc,
            (WORD16)-0x30fc,
            (WORD16)-0x7642,
            (WORD16)-0x30fc,
            (WORD16)0x7642,
            (WORD16)0x7642,
            (WORD16)-0x30fc,
            (WORD16)-0x7642,
            (WORD16)-0x30fc,
        },

        // const WORD16
        {
            0,
            0,
            0,
            0,
            0,
            0,
            (WORD16)-0x6405,
            (WORD16)0x4fe0,
            (WORD16)0x1894,
            (WORD16)0x7d9e,
            (WORD16)0x7abf,
            (WORD16)0x244a,
            (WORD16)0x58ef,
            (WORD16)-0x5c0f,
            (WORD16)-0x2882,
            (WORD16)-0x796c,
            (WORD16)-0x7e64,
            (WORD16)-0x1439,
            (WORD16)-0x4c5f,
            (WORD16)0x66b8,
            (WORD16)0x37c5,
            (WORD16)0x7336,
            (WORD16)0x7ff1,
            (WORD16)0x03d2,
            (WORD16)0x3e8b,
            (WORD16)-0x6fae,
            (WORD16)-0x461b,
            (WORD16)-0x6b18,
            (WORD16)-0x7f60,
            (WORD16)0x0ca5,
            (WORD16)-0x2fae,
            (WORD16)0x76ca,
            (WORD16)0x5348,
            (WORD16)0x6134,
            (WORD16)0x7cb2,
            (WORD16)-0x1ce7,
            (WORD16)0x2007,
            (WORD16)-0x7bee,
            (WORD16)-0x5f14,
            (WORD16)-0x55b3,
            (WORD16)-0x77f3,
            (WORD16)0x2cae,
            (WORD16)-0x0fd8,
            (WORD16)0x7f04,
            (WORD16)0x694c,
            (WORD16)0x48c7,
        },

    },
    // const WORD16 frac_delay_phase_fac_qmf_sub_ser_re_im[3][16]=
    {
        {
            (WORD16)0x7e2e,  (WORD16)-0x1583, (WORD16)0x6fed,  (WORD16)-0x3e1b,
            (WORD16)0x5506,  (WORD16)-0x5fae, (WORD16)0x3085,  (WORD16)-0x7673,
            (WORD16)0x6fed,  (WORD16)0x3e1b,  (WORD16)0x7e2e,  (WORD16)0x1583,
            (WORD16)-0x5b38, (WORD16)-0x59cc, (WORD16)-0x0f0b, (WORD16)-0x7f1d,
            (WORD16)-0x7f55, (WORD16)-0x0d0c, (WORD16)-0x6b88, (WORD16)0x456f,
        },
        {
            (WORD16)0x7a7d,  (WORD16)-0x2528, (WORD16)0x5134,  (WORD16)-0x62f2,
            (WORD16)0x0c8c,  (WORD16)-0x7f62, (WORD16)-0x3c57, (WORD16)-0x70e3,
            (WORD16)0x5134,  (WORD16)0x62f2,  (WORD16)0x7a7d,  (WORD16)0x2528,
            (WORD16)-0x471d, (WORD16)0x6a6e,  (WORD16)-0x7d8a, (WORD16)-0x18f9,
            (WORD16)0x471d,  (WORD16)0x6a6e,  (WORD16)0x7d8a,  (WORD16)-0x18f9,
        },
        {
            (WORD16)0x7ed0,  (WORD16)-0x1163, (WORD16)0x7574,  (WORD16)-0x32e2,
            (WORD16)0x636c,  (WORD16)-0x509e, (WORD16)0x4a0d,  (WORD16)-0x6867,
            (WORD16)0x7574,  (WORD16)0x32e2,  (WORD16)0x7ed0,  (WORD16)0x1163,
            (WORD16)-0x2a51, (WORD16)-0x78ce, (WORD16)0x1a73,  (WORD16)-0x7d3d,
            (WORD16)-0x62d1, (WORD16)-0x515c, (WORD16)-0x7eae, (WORD16)-0x1255,
        },

    },
    // const WORD16 scale_factors[NO_IID_LEVELS]=
    {(WORD16)0x5a5e, (WORD16)0x59cd, (WORD16)0x58c3, (WORD16)0x564c,
     (WORD16)0x52a4, (WORD16)0x4c8c, (WORD16)0x46df, (WORD16)0x4000,
     (WORD16)0x384c, (WORD16)0x304c, (WORD16)0x24ea, (WORD16)0x1b4a,
     (WORD16)0x11b6, (WORD16)0x0b4e, (WORD16)0x0515},

    // const WORD16 scale_factors_fine[NO_IID_LEVELS_FINE] =
    {(WORD16)0x5a82, (WORD16)0x5a82, (WORD16)0x5a81, (WORD16)0x5a7f,
     (WORD16)0x5a77, (WORD16)0x5a5e, (WORD16)0x5a3a, (WORD16)0x59f2,
     (WORD16)0x5965, (WORD16)0x5853, (WORD16)0x564c, (WORD16)0x5417,
     (WORD16)0x50ea, (WORD16)0x4c8c, (WORD16)0x46df, (WORD16)0x4000,
     (WORD16)0x384c, (WORD16)0x304c, (WORD16)0x288e, (WORD16)0x217a,
     (WORD16)0x1b4a, (WORD16)0x13c6, (WORD16)0x0e2b, (WORD16)0x0a18,
     (WORD16)0x072b, (WORD16)0x0515, (WORD16)0x02dc, (WORD16)0x019c,
     (WORD16)0x00e8, (WORD16)0x0082, (WORD16)0x0049},

    // const WORD16 alpha_values[NO_ICC_LEVELS]=
    {(WORD16)0x0000, (WORD16)0x0b6b, (WORD16)0x1248, (WORD16)0x1da3,
     (WORD16)0x2638, (WORD16)0x3244, (WORD16)0x466b, (WORD16)0x6488},

    // const WORD32 p2_6[6] =
    {
        (WORD32)0x026e, (WORD32)-0x0956, (WORD32)0x272a, (WORD32)0x272a,
        (WORD32)-0x0956, (WORD32)0x026e,
    },

    // const WORD32 p8_13[13] =
    {
        (WORD32)-0x00f4, (WORD32)-0x02e8, (WORD32)-0x05d2, (WORD32)-0x094d,
        (WORD32)-0x0ca7, (WORD32)0x0f19, (WORD32)0x1000, (WORD32)0x0f19,
        (WORD32)0x0ca7, (WORD32)0x094d, (WORD32)0x05d2, (WORD32)0x02e8,
        (WORD32)0x00f4,
    },

    // const WORD16 huff_iid_dt[28] =
    {
        (WORD16)-0x3fff, (WORD16)-0x40fe, (WORD16)-0x3efd, (WORD16)-0x41fc,
        (WORD16)-0x3dfb, (WORD16)-0x42fa, (WORD16)-0x3cf9, (WORD16)-0x43f8,
        (WORD16)-0x3bf7, (WORD16)-0x44f6, (WORD16)-0x3af5, (WORD16)-0x45f4,
        (WORD16)-0x39f3, (WORD16)-0x38f2, (WORD16)-0x46f1, (WORD16)0x1011,
        (WORD16)-0x3748, (WORD16)0x1215,  (WORD16)0x1314,  (WORD16)-0x364e,
        (WORD16)-0x4c4c, (WORD16)0x1619,  (WORD16)0x1718,  (WORD16)-0x4a4a,
        (WORD16)-0x4836, (WORD16)0x1a1b,  (WORD16)-0x3434, (WORD16)-0x3232,
    },

    // const WORD16 huff_iid_df[28] =
    {
        (WORD16)-0x3fff, (WORD16)0x0203,  (WORD16)-0x3e41, (WORD16)0x0405,
        (WORD16)-0x3d42, (WORD16)0x0607,  (WORD16)-0x3c43, (WORD16)0x0809,
        (WORD16)-0x433c, (WORD16)-0x3af6, (WORD16)-0x44f5, (WORD16)-0x39f4,
        (WORD16)-0x45f3, (WORD16)-0x46f2, (WORD16)-0x38f1, (WORD16)0x1011,
        (WORD16)-0x3748, (WORD16)0x1213,  (WORD16)-0x3636, (WORD16)0x1415,
        (WORD16)-0x4835, (WORD16)0x1618,  (WORD16)-0x49e9, (WORD16)-0x4a4e,
        (WORD16)0x191a,  (WORD16)-0x4c4c, (WORD16)-0x33e5, (WORD16)-0x3232,
    },

    // const WORD16 huff_icc_dt[14] =
    {
        (WORD16)-0x3fff, (WORD16)-0x3efe, (WORD16)-0x40fd, (WORD16)-0x3dfc,
        (WORD16)-0x41fb, (WORD16)-0x3cfa, (WORD16)-0x42f9, (WORD16)-0x3bf8,
        (WORD16)-0x43f7, (WORD16)-0x3af6, (WORD16)-0x44f5, (WORD16)-0x39f4,
        (WORD16)-0x45f3, (WORD16)-0x4639,
    },

    // const WORD16 huff_icc_df[14] =
    {
        (WORD16)-0x3fff, (WORD16)-0x3efe, (WORD16)-0x40fd, (WORD16)-0x3dfc,
        (WORD16)-0x41fb, (WORD16)-0x3cfa, (WORD16)-0x42f9, (WORD16)-0x3bf8,
        (WORD16)-0x3af7, (WORD16)-0x43f6, (WORD16)-0x39f5, (WORD16)-0x44f4,
        (WORD16)-0x38f3, (WORD16)-0x4547,
    },

    // const WORD16 huff_iid_dt_fine[60] =
    {
        (WORD16)0x01c0,  (WORD16)-0x3efe, (WORD16)0x03bf,  (WORD16)0x043b,
        (WORD16)0x0507,  (WORD16)0x06bd,  (WORD16)-0x433c, (WORD16)-0x3cf8,
        (WORD16)0x090b,  (WORD16)-0x3af6, (WORD16)-0x453a, (WORD16)0x0c29,
        (WORD16)0x0d14,  (WORD16)0x0eb9,  (WORD16)-0x36f1, (WORD16)-0x34f0,
        (WORD16)0x11b3,  (WORD16)0x1213,  (WORD16)-0x5454, (WORD16)-0x2d2d,
        (WORD16)-0x38eb, (WORD16)0x1628,  (WORD16)0x171d,  (WORD16)-0x32e8,
        (WORD16)0x191a,  (WORD16)-0x5252, (WORD16)0x1b1c,  (WORD16)-0x5926,
        (WORD16)-0x5b5b, (WORD16)0x1e25,  (WORD16)0x1f22,  (WORD16)0x2021,
        (WORD16)-0x2222, (WORD16)-0x2424, (WORD16)0x2324,  (WORD16)-0x5d5d,
        (WORD16)-0x5827, (WORD16)0x26b1,  (WORD16)0x27af,  (WORD16)-0x5728,
        (WORD16)-0x4936, (WORD16)0x2abb,  (WORD16)0x2b2c,  (WORD16)-0x4738,
        (WORD16)0x2d34,  (WORD16)0x2e32,  (WORD16)0x2fb4,  (WORD16)-0x30d0,
        (WORD16)-0x2ecf, (WORD16)-0x5629, (WORD16)-0x33cd, (WORD16)-0x4d32,
        (WORD16)0x35b7,  (WORD16)0x36b5,  (WORD16)0x3739,  (WORD16)0x38b0,
        (WORD16)-0x552a, (WORD16)-0x2fc6, (WORD16)-0x2b2b, (WORD16)-0x413e,
    },

    // const WORD16 huff_iid_df_fine[60] =
    {
        (WORD16)0x01c0,  (WORD16)0x0204,  (WORD16)0x03bf,  (WORD16)-0x413e,
        (WORD16)-0x3efb, (WORD16)0x0607,  (WORD16)-0x423d, (WORD16)0x0809,
        (WORD16)-0x433c, (WORD16)0x0a0b,  (WORD16)-0x443b, (WORD16)0x0c0d,
        (WORD16)-0x453a, (WORD16)0x0e12,  (WORD16)-0x38f1, (WORD16)0x10b8,
        (WORD16)-0x35ef, (WORD16)-0x4a35, (WORD16)0x1325,  (WORD16)-0x37ec,
        (WORD16)0x15b7,  (WORD16)0x161d,  (WORD16)0x17b4,  (WORD16)0x18b2,
        (WORD16)0x191c,  (WORD16)0x1a1b,  (WORD16)-0x542b, (WORD16)-0x522d,
        (WORD16)-0x502f, (WORD16)-0x33e2, (WORD16)-0x31e1, (WORD16)0x20b1,
        (WORD16)0x2122,  (WORD16)-0x512e, (WORD16)0x2324,  (WORD16)-0x5959,
        (WORD16)-0x5b5b, (WORD16)0x26b9,  (WORD16)-0x36d9, (WORD16)0x28b6,
        (WORD16)0x2932,  (WORD16)0x2ab3,  (WORD16)-0x30d5, (WORD16)0x2c2f,
        (WORD16)0x2d2e,  (WORD16)-0x552a, (WORD16)-0x5757, (WORD16)0x3031,
        (WORD16)-0x2626, (WORD16)-0x2828, (WORD16)-0x32cd, (WORD16)0x343b,
        (WORD16)0x3538,  (WORD16)0x3637,  (WORD16)-0x2222, (WORD16)-0x2424,
        (WORD16)0x393a,  (WORD16)-0x5d5d, (WORD16)-0x532c, (WORD16)-0x4f30,
    },
    0};