xref: /aosp_15_r20/external/libxaac/decoder/ixheaacd_sbr_rom.h (revision 15dc779a375ca8b5125643b829a8aa4b70d7f451)
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