1*15dc779aSAndroid Build Coastguard Worker /****************************************************************************** 2*15dc779aSAndroid Build Coastguard Worker * * 3*15dc779aSAndroid Build Coastguard Worker * Copyright (C) 2018 The Android Open Source Project 4*15dc779aSAndroid Build Coastguard Worker * 5*15dc779aSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 6*15dc779aSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 7*15dc779aSAndroid Build Coastguard Worker * You may obtain a copy of the License at: 8*15dc779aSAndroid Build Coastguard Worker * 9*15dc779aSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 10*15dc779aSAndroid Build Coastguard Worker * 11*15dc779aSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 12*15dc779aSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 13*15dc779aSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*15dc779aSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 15*15dc779aSAndroid Build Coastguard Worker * limitations under the License. 16*15dc779aSAndroid Build Coastguard Worker * 17*15dc779aSAndroid Build Coastguard Worker ***************************************************************************** 18*15dc779aSAndroid Build Coastguard Worker * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19*15dc779aSAndroid Build Coastguard Worker */ 20*15dc779aSAndroid Build Coastguard Worker #ifndef IXHEAACD_SBR_ROM_H 21*15dc779aSAndroid Build Coastguard Worker #define IXHEAACD_SBR_ROM_H 22*15dc779aSAndroid Build Coastguard Worker 23*15dc779aSAndroid Build Coastguard Worker #define INV_INT_TABLE_SIZE 49 24*15dc779aSAndroid Build Coastguard Worker #define SBR_NF_NO_RANDOM_VAL 512 25*15dc779aSAndroid Build Coastguard Worker #define NUM_SER_AP_LINKS 3 26*15dc779aSAndroid Build Coastguard Worker #define SUBQMF_GROUPS (10) 27*15dc779aSAndroid Build Coastguard Worker #define QMF_GROUPS (12) 28*15dc779aSAndroid Build Coastguard Worker #define NO_IID_GROUPS (SUBQMF_GROUPS + QMF_GROUPS) 29*15dc779aSAndroid Build Coastguard Worker #define NUM_IID_LEVELS (7) 30*15dc779aSAndroid Build Coastguard Worker #define NUM_IID_LEVELS_FINE (15) 31*15dc779aSAndroid Build Coastguard Worker #define NUM_ICC_LEVELS (8) 32*15dc779aSAndroid Build Coastguard Worker #define NO_IID_LEVELS (2 * NUM_IID_LEVELS + 1) 33*15dc779aSAndroid Build Coastguard Worker #define NO_IID_LEVELS_FINE (2 * NUM_IID_LEVELS_FINE + 1) 34*15dc779aSAndroid Build Coastguard Worker #define NO_ICC_LEVELS (NUM_ICC_LEVELS) 35*15dc779aSAndroid Build Coastguard Worker 36*15dc779aSAndroid Build Coastguard Worker #define IPD_QMF_GROUPS (3) 37*15dc779aSAndroid Build Coastguard Worker 38*15dc779aSAndroid Build Coastguard Worker #define SUBQMF_GROUPS_HI_RES (32) 39*15dc779aSAndroid Build Coastguard Worker #define QMF_GROUPS_HI_RES (18) 40*15dc779aSAndroid Build Coastguard Worker #define IPD_QMF_GROUPS_HI_RES (1) 41*15dc779aSAndroid Build Coastguard Worker 42*15dc779aSAndroid Build Coastguard Worker #define NUM_IID_GROUPS (SUBQMF_GROUPS + QMF_GROUPS) 43*15dc779aSAndroid Build Coastguard Worker #define NUM_IPD_GROUPS (SUBQMF_GROUPS + IPD_QMF_GROUPS) 44*15dc779aSAndroid Build Coastguard Worker 45*15dc779aSAndroid Build Coastguard Worker #define NUM_IID_GROUPS_HI_RES (SUBQMF_GROUPS_HI_RES + QMF_GROUPS_HI_RES) 46*15dc779aSAndroid Build Coastguard Worker #define NUM_IPD_GROUPS_HI_RES (SUBQMF_GROUPS_HI_RES + IPD_QMF_GROUPS_HI_RES) 47*15dc779aSAndroid Build Coastguard Worker 48*15dc779aSAndroid Build Coastguard Worker #define NUM_SUB_QMF_CHANNELS 12 49*15dc779aSAndroid Build Coastguard Worker #define NUM_SUB_QMF_CHANNELS_HI_RES 32 50*15dc779aSAndroid Build Coastguard Worker 51*15dc779aSAndroid Build Coastguard Worker #define NUM_QUAD_MIRROR_FILTER_CHNLS 64 52*15dc779aSAndroid Build Coastguard Worker 53*15dc779aSAndroid Build Coastguard Worker #define NUM_IID_STEPS (7) 54*15dc779aSAndroid Build Coastguard Worker #define NUM_IID_STEPS_FINE (15) 55*15dc779aSAndroid Build Coastguard Worker #define NUM_ICC_STEPS (8) 56*15dc779aSAndroid Build Coastguard Worker #define HYBRID_FILTER_LENGTH 13 57*15dc779aSAndroid Build Coastguard Worker 58*15dc779aSAndroid Build Coastguard Worker typedef struct { 59*15dc779aSAndroid Build Coastguard Worker WORD16 sbr_lim_gains_m[8]; 60*15dc779aSAndroid Build Coastguard Worker 61*15dc779aSAndroid Build Coastguard Worker WORD16 sbr_lim_bands_per_octave_q13[4]; 62*15dc779aSAndroid Build Coastguard Worker WORD16 sbr_smooth_filter[4]; 63*15dc779aSAndroid Build Coastguard Worker WORD16 sbr_inv_int_table[INV_INT_TABLE_SIZE]; 64*15dc779aSAndroid Build Coastguard Worker 65*15dc779aSAndroid Build Coastguard Worker WORD32 sbr_rand_ph[SBR_NF_NO_RANDOM_VAL + MAX_FREQ_COEFFS]; 66*15dc779aSAndroid Build Coastguard Worker 67*15dc779aSAndroid Build Coastguard Worker } ia_env_calc_tables_struct; 68*15dc779aSAndroid Build Coastguard Worker 69*15dc779aSAndroid Build Coastguard Worker extern const ia_env_calc_tables_struct ixheaacd_aac_dec_env_calc_tables; 70*15dc779aSAndroid Build Coastguard Worker 71*15dc779aSAndroid Build Coastguard Worker typedef struct { 72*15dc779aSAndroid Build Coastguard Worker WORD16 w_32[2 * 30]; 73*15dc779aSAndroid Build Coastguard Worker WORD16 w_16[2 * 12]; 74*15dc779aSAndroid Build Coastguard Worker WORD32 dig_rev_table2_32[4]; 75*15dc779aSAndroid Build Coastguard Worker WORD32 dig_rev_table4_16[2]; 76*15dc779aSAndroid Build Coastguard Worker 77*15dc779aSAndroid Build Coastguard Worker WORD16 sbr_sin_cos_twiddle_l64[64]; 78*15dc779aSAndroid Build Coastguard Worker WORD16 sbr_alt_sin_twiddle_l64[32]; 79*15dc779aSAndroid Build Coastguard Worker WORD16 sbr_cos_sin_twiddle_ds_l32[32 + 32]; 80*15dc779aSAndroid Build Coastguard Worker WORD16 sbr_sin_cos_twiddle_l32[32]; 81*15dc779aSAndroid Build Coastguard Worker WORD16 sbr_alt_sin_twiddle_l32[16]; 82*15dc779aSAndroid Build Coastguard Worker WORD16 sbr_t_cos_sin_l32[32 + 32]; 83*15dc779aSAndroid Build Coastguard Worker 84*15dc779aSAndroid Build Coastguard Worker WORD16 post_fft_tbl[18]; 85*15dc779aSAndroid Build Coastguard Worker WORD16 dct23_tw[66]; 86*15dc779aSAndroid Build Coastguard Worker 87*15dc779aSAndroid Build Coastguard Worker WORD16 qmf_c[1280]; 88*15dc779aSAndroid Build Coastguard Worker 89*15dc779aSAndroid Build Coastguard Worker UWORD8 dig_rev_table2_128[4]; 90*15dc779aSAndroid Build Coastguard Worker WORD32 w1024[1536]; 91*15dc779aSAndroid Build Coastguard Worker WORD32 esbr_qmf_c[1280]; 92*15dc779aSAndroid Build Coastguard Worker WORD32 esbr_qmf_c_24[480]; 93*15dc779aSAndroid Build Coastguard Worker WORD32 esbr_w_32[2 * 30]; 94*15dc779aSAndroid Build Coastguard Worker WORD32 esbr_w_16[2 * 12]; 95*15dc779aSAndroid Build Coastguard Worker 96*15dc779aSAndroid Build Coastguard Worker WORD32 esbr_sin_cos_twiddle_l64[64]; 97*15dc779aSAndroid Build Coastguard Worker WORD32 esbr_alt_sin_twiddle_l64[32]; 98*15dc779aSAndroid Build Coastguard Worker 99*15dc779aSAndroid Build Coastguard Worker WORD32 esbr_sin_cos_twiddle_l32[32]; 100*15dc779aSAndroid Build Coastguard Worker WORD32 esbr_alt_sin_twiddle_l32[16]; 101*15dc779aSAndroid Build Coastguard Worker WORD32 esbr_t_cos_sin_l32[32 + 32]; 102*15dc779aSAndroid Build Coastguard Worker 103*15dc779aSAndroid Build Coastguard Worker WORD32 esbr_sin_cos_twiddle_l24[24]; 104*15dc779aSAndroid Build Coastguard Worker WORD32 esbr_alt_sin_twiddle_l24[12]; 105*15dc779aSAndroid Build Coastguard Worker WORD32 esbr_t_cos_sin_l24[24 + 24]; 106*15dc779aSAndroid Build Coastguard Worker 107*15dc779aSAndroid Build Coastguard Worker WORD32 esbr_sin_cos_twiddle_l16[16]; 108*15dc779aSAndroid Build Coastguard Worker WORD32 esbr_alt_sin_twiddle_l16[8]; 109*15dc779aSAndroid Build Coastguard Worker WORD32 esbr_t_cos_sin_l16[16 + 16]; 110*15dc779aSAndroid Build Coastguard Worker 111*15dc779aSAndroid Build Coastguard Worker WORD16 ixheaacd_sbr_t_cos_sin_l32_eld[32 + 32]; 112*15dc779aSAndroid Build Coastguard Worker 113*15dc779aSAndroid Build Coastguard Worker WORD16 qmf_c_eld[640]; 114*15dc779aSAndroid Build Coastguard Worker WORD16 qmf_c_eld2[640]; 115*15dc779aSAndroid Build Coastguard Worker 116*15dc779aSAndroid Build Coastguard Worker WORD16 qmf_c_eld3[640]; 117*15dc779aSAndroid Build Coastguard Worker WORD32 qmf_c_ldsbr_mps[640]; 118*15dc779aSAndroid Build Coastguard Worker 119*15dc779aSAndroid Build Coastguard Worker WORD16 ixheaacd_sbr_synth_cos_sin_l32[64 + 64]; 120*15dc779aSAndroid Build Coastguard Worker 121*15dc779aSAndroid Build Coastguard Worker } ia_qmf_dec_tables_struct; 122*15dc779aSAndroid Build Coastguard Worker 123*15dc779aSAndroid Build Coastguard Worker extern const ia_qmf_dec_tables_struct ixheaacd_aac_qmf_dec_tables; 124*15dc779aSAndroid Build Coastguard Worker 125*15dc779aSAndroid Build Coastguard Worker typedef struct { 126*15dc779aSAndroid Build Coastguard Worker ia_frame_info_struct sbr_frame_info1_2_4_16[3 + 1 + 3]; 127*15dc779aSAndroid Build Coastguard Worker 128*15dc779aSAndroid Build Coastguard Worker ia_sbr_header_data_struct str_sbr_default_header; 129*15dc779aSAndroid Build Coastguard Worker WORD16 ixheaacd_t_huffman_env_bal_1_5db_inp_table[50]; 130*15dc779aSAndroid Build Coastguard Worker WORD16 ixheaacd_f_huffman_env_bal_1_5db_inp_table[50]; 131*15dc779aSAndroid Build Coastguard Worker WORD16 ixheaacd_t_huffman_env_bal_3_0db_inp_table[26]; 132*15dc779aSAndroid Build Coastguard Worker WORD16 ixheaacd_f_huffman_env_bal_3_0db_inp_table[26]; 133*15dc779aSAndroid Build Coastguard Worker WORD16 ixheaacd_t_huffman_noise_3_0db_inp_table[64]; 134*15dc779aSAndroid Build Coastguard Worker WORD16 ixheaacd_t_huffman_noise_bal_3_0db_inp_table[26]; 135*15dc779aSAndroid Build Coastguard Worker WORD16 ixheaacd_t_huffman_env_1_5db_inp_table[122]; 136*15dc779aSAndroid Build Coastguard Worker WORD16 ixheaacd_f_huffman_env_1_5db_inp_table[122]; 137*15dc779aSAndroid Build Coastguard Worker WORD16 ixheaacd_t_huffman_env_3_0db_inp_table[64]; 138*15dc779aSAndroid Build Coastguard Worker WORD16 ixheaacd_f_huffman_env_3_0db_inp_table[64]; 139*15dc779aSAndroid Build Coastguard Worker 140*15dc779aSAndroid Build Coastguard Worker WORD32 ixheaacd_t_huffman_env_bal_1_5db_idx_table[20]; 141*15dc779aSAndroid Build Coastguard Worker WORD32 ixheaacd_f_huffman_env_bal_1_5db_idx_table[23]; 142*15dc779aSAndroid Build Coastguard Worker WORD32 ixheaacd_t_huffman_env_bal_3_0db_idx_table[16]; 143*15dc779aSAndroid Build Coastguard Worker WORD32 ixheaacd_f_huffman_env_bal_3_0db_idx_table[17]; 144*15dc779aSAndroid Build Coastguard Worker WORD32 ixheaacd_t_huffman_noise_3_0db_idx_table[17]; 145*15dc779aSAndroid Build Coastguard Worker WORD32 ixheaacd_t_huffman_noise_bal_3_0db_idx_table[11]; 146*15dc779aSAndroid Build Coastguard Worker WORD32 ixheaacd_t_huffman_env_1_5db_idx_table[27]; 147*15dc779aSAndroid Build Coastguard Worker WORD32 ixheaacd_f_huffman_env_1_5db_idx_table[28]; 148*15dc779aSAndroid Build Coastguard Worker WORD32 ixheaacd_t_huffman_env_3_0db_idx_table[26]; 149*15dc779aSAndroid Build Coastguard Worker WORD32 ixheaacd_f_huffman_env_3_0db_idx_table[25]; 150*15dc779aSAndroid Build Coastguard Worker 151*15dc779aSAndroid Build Coastguard Worker WORD8 start_min[12]; 152*15dc779aSAndroid Build Coastguard Worker WORD8 offset_idx[12]; 153*15dc779aSAndroid Build Coastguard Worker WORD8 ixheaacd_drc_offset[7][16]; 154*15dc779aSAndroid Build Coastguard Worker WORD8 stop_min[12]; 155*15dc779aSAndroid Build Coastguard Worker WORD8 stop_off[12][14]; 156*15dc779aSAndroid Build Coastguard Worker 157*15dc779aSAndroid Build Coastguard Worker } ia_env_extr_tables_struct; 158*15dc779aSAndroid Build Coastguard Worker 159*15dc779aSAndroid Build Coastguard Worker extern const ia_env_extr_tables_struct ixheaacd_aac_dec_env_extr_tables; 160*15dc779aSAndroid Build Coastguard Worker 161*15dc779aSAndroid Build Coastguard Worker typedef struct { 162*15dc779aSAndroid Build Coastguard Worker WORD16 decay_scale_factor[72]; 163*15dc779aSAndroid Build Coastguard Worker 164*15dc779aSAndroid Build Coastguard Worker WORD16 hyb_resol[3]; 165*15dc779aSAndroid Build Coastguard Worker WORD16 rev_link_decay_ser[NUM_SER_AP_LINKS]; 166*15dc779aSAndroid Build Coastguard Worker WORD16 rev_link_delay_ser[3]; 167*15dc779aSAndroid Build Coastguard Worker WORD16 borders_group[NO_IID_GROUPS + 1]; 168*15dc779aSAndroid Build Coastguard Worker WORD16 group_shift[6]; 169*15dc779aSAndroid Build Coastguard Worker WORD16 group_to_bin[NO_IID_GROUPS]; 170*15dc779aSAndroid Build Coastguard Worker WORD16 hybrid_to_bin[SUBQMF_GROUPS]; 171*15dc779aSAndroid Build Coastguard Worker WORD16 delay_to_bin[32]; 172*15dc779aSAndroid Build Coastguard Worker 173*15dc779aSAndroid Build Coastguard Worker WORD16 frac_delay_phase_fac_qmf_re_im[24 * 2]; 174*15dc779aSAndroid Build Coastguard Worker WORD16 frac_delay_phase_fac_qmf_sub_re_im[16 * 2]; 175*15dc779aSAndroid Build Coastguard Worker WORD16 frac_delay_phase_fac_qmf_ser_re_im[3][32 * 2]; 176*15dc779aSAndroid Build Coastguard Worker WORD16 frac_delay_phase_fac_qmf_sub_ser_re_im[3][16 * 2]; 177*15dc779aSAndroid Build Coastguard Worker 178*15dc779aSAndroid Build Coastguard Worker WORD16 scale_factors[NO_IID_LEVELS]; 179*15dc779aSAndroid Build Coastguard Worker WORD16 scale_factors_fine[NO_IID_LEVELS_FINE]; 180*15dc779aSAndroid Build Coastguard Worker WORD16 alpha_values[NO_ICC_LEVELS]; 181*15dc779aSAndroid Build Coastguard Worker WORD16 p2_6[6]; 182*15dc779aSAndroid Build Coastguard Worker WORD16 p8_13[13]; 183*15dc779aSAndroid Build Coastguard Worker WORD16 huff_iid_dt[28]; 184*15dc779aSAndroid Build Coastguard Worker WORD16 huff_iid_df[28]; 185*15dc779aSAndroid Build Coastguard Worker WORD16 huff_icc_dt[14]; 186*15dc779aSAndroid Build Coastguard Worker WORD16 huff_icc_df[14]; 187*15dc779aSAndroid Build Coastguard Worker WORD16 huff_iid_dt_fine[60]; 188*15dc779aSAndroid Build Coastguard Worker WORD16 huff_iid_df_fine[60]; 189*15dc779aSAndroid Build Coastguard Worker WORD32 dummy; 190*15dc779aSAndroid Build Coastguard Worker 191*15dc779aSAndroid Build Coastguard Worker FLOAT32 qmf_fract_delay_phase_factor_im[NUM_QUAD_MIRROR_FILTER_CHNLS]; 192*15dc779aSAndroid Build Coastguard Worker FLOAT32 qmf_fract_delay_phase_factor_re[NUM_QUAD_MIRROR_FILTER_CHNLS]; 193*15dc779aSAndroid Build Coastguard Worker 194*15dc779aSAndroid Build Coastguard Worker FLOAT32 frac_delay_phase_fac_qmf_sub_im_20[NUM_SUB_QMF_CHANNELS]; 195*15dc779aSAndroid Build Coastguard Worker FLOAT32 frac_delay_phase_fac_qmf_sub_re_20[NUM_SUB_QMF_CHANNELS]; 196*15dc779aSAndroid Build Coastguard Worker FLOAT32 frac_delay_phase_fac_qmf_sub_im_34[NUM_SUB_QMF_CHANNELS_HI_RES]; 197*15dc779aSAndroid Build Coastguard Worker FLOAT32 frac_delay_phase_fac_qmf_sub_re_34[NUM_SUB_QMF_CHANNELS_HI_RES]; 198*15dc779aSAndroid Build Coastguard Worker 199*15dc779aSAndroid Build Coastguard Worker FLOAT32 qmf_ser_fract_delay_phase_factor_im[NUM_QUAD_MIRROR_FILTER_CHNLS] 200*15dc779aSAndroid Build Coastguard Worker [NUM_SER_AP_LINKS]; 201*15dc779aSAndroid Build Coastguard Worker FLOAT32 qmf_ser_fract_delay_phase_factor_re[NUM_QUAD_MIRROR_FILTER_CHNLS] 202*15dc779aSAndroid Build Coastguard Worker [NUM_SER_AP_LINKS]; 203*15dc779aSAndroid Build Coastguard Worker 204*15dc779aSAndroid Build Coastguard Worker FLOAT32 frac_delay_phase_fac_ser_qmf_sub_im_20[NUM_SUB_QMF_CHANNELS][NUM_SER_AP_LINKS]; 205*15dc779aSAndroid Build Coastguard Worker FLOAT32 frac_delay_phase_fac_ser_qmf_sub_re_20[NUM_SUB_QMF_CHANNELS][NUM_SER_AP_LINKS]; 206*15dc779aSAndroid Build Coastguard Worker FLOAT32 frac_delay_phase_fac_ser_qmf_sub_im_34[NUM_SUB_QMF_CHANNELS_HI_RES] 207*15dc779aSAndroid Build Coastguard Worker [NUM_SER_AP_LINKS]; 208*15dc779aSAndroid Build Coastguard Worker FLOAT32 frac_delay_phase_fac_ser_qmf_sub_re_34[NUM_SUB_QMF_CHANNELS_HI_RES] 209*15dc779aSAndroid Build Coastguard Worker [NUM_SER_AP_LINKS]; 210*15dc779aSAndroid Build Coastguard Worker 211*15dc779aSAndroid Build Coastguard Worker FLOAT32 scale_factors_flt[NO_IID_LEVELS]; 212*15dc779aSAndroid Build Coastguard Worker FLOAT32 scale_factors_fine_flt[NO_IID_LEVELS_FINE]; 213*15dc779aSAndroid Build Coastguard Worker 214*15dc779aSAndroid Build Coastguard Worker FLOAT32 alphas[NUM_ICC_LEVELS]; 215*15dc779aSAndroid Build Coastguard Worker FLOAT32 all_pass_link_decay_ser[NUM_SER_AP_LINKS]; 216*15dc779aSAndroid Build Coastguard Worker FLOAT32 p8_13_20[HYBRID_FILTER_LENGTH]; 217*15dc779aSAndroid Build Coastguard Worker FLOAT32 p2_13_20[HYBRID_FILTER_LENGTH]; 218*15dc779aSAndroid Build Coastguard Worker FLOAT32 p12_13_34[HYBRID_FILTER_LENGTH]; 219*15dc779aSAndroid Build Coastguard Worker FLOAT32 p8_13_34[HYBRID_FILTER_LENGTH]; 220*15dc779aSAndroid Build Coastguard Worker FLOAT32 p4_13_34[HYBRID_FILTER_LENGTH]; 221*15dc779aSAndroid Build Coastguard Worker FLOAT32 cos_mod_2channel[2][HYBRID_FILTER_LENGTH]; 222*15dc779aSAndroid Build Coastguard Worker FLOAT32 cos_sin_mod_4channel[4][HYBRID_FILTER_LENGTH * 2]; 223*15dc779aSAndroid Build Coastguard Worker FLOAT32 cos_sin_mod_8channel[8][HYBRID_FILTER_LENGTH * 2]; 224*15dc779aSAndroid Build Coastguard Worker FLOAT32 cos_sin_mod_12channel[12][HYBRID_FILTER_LENGTH * 2]; 225*15dc779aSAndroid Build Coastguard Worker 226*15dc779aSAndroid Build Coastguard Worker WORD32 qmf_delay_idx_tbl[NUM_QUAD_MIRROR_FILTER_CHNLS]; 227*15dc779aSAndroid Build Coastguard Worker WORD32 group_borders_20_tbl[NUM_IID_GROUPS + 1]; 228*15dc779aSAndroid Build Coastguard Worker WORD32 group_borders_34_tbl[NUM_IID_GROUPS_HI_RES + 1]; 229*15dc779aSAndroid Build Coastguard Worker WORD32 bin_group_map_20[NUM_IID_GROUPS]; 230*15dc779aSAndroid Build Coastguard Worker WORD32 bin_group_map_34[NUM_IID_GROUPS_HI_RES]; 231*15dc779aSAndroid Build Coastguard Worker WORD32 quantized_iids[NUM_IID_STEPS]; 232*15dc779aSAndroid Build Coastguard Worker WORD32 quantized_iids_fine[NUM_IID_STEPS_FINE]; 233*15dc779aSAndroid Build Coastguard Worker FLOAT32 quantized_rhos[NUM_ICC_STEPS]; 234*15dc779aSAndroid Build Coastguard Worker WORD32 ipd_bins_tbl[3]; 235*15dc779aSAndroid Build Coastguard Worker 236*15dc779aSAndroid Build Coastguard Worker WORD16 band_res_hyb20[3]; 237*15dc779aSAndroid Build Coastguard Worker WORD16 band_res_hyb34[5]; 238*15dc779aSAndroid Build Coastguard Worker } ia_ps_tables_struct; 239*15dc779aSAndroid Build Coastguard Worker 240*15dc779aSAndroid Build Coastguard Worker extern const ia_ps_tables_struct ixheaacd_aac_dec_ps_tables; 241*15dc779aSAndroid Build Coastguard Worker 242*15dc779aSAndroid Build Coastguard Worker typedef struct { 243*15dc779aSAndroid Build Coastguard Worker ia_env_calc_tables_struct *env_calc_tables_ptr; 244*15dc779aSAndroid Build Coastguard Worker ia_qmf_dec_tables_struct *qmf_dec_tables_ptr; 245*15dc779aSAndroid Build Coastguard Worker ia_env_extr_tables_struct *env_extr_tables_ptr; 246*15dc779aSAndroid Build Coastguard Worker ia_ps_tables_struct *ps_tables_ptr; 247*15dc779aSAndroid Build Coastguard Worker WORD32 *sbr_rand_ph; 248*15dc779aSAndroid Build Coastguard Worker } ia_sbr_tables_struct; 249*15dc779aSAndroid Build Coastguard Worker 250*15dc779aSAndroid Build Coastguard Worker #endif 251