xref: /aosp_15_r20/external/libxaac/encoder/iusace_rom.h (revision 15dc779a375ca8b5125643b829a8aa4b70d7f451)
1*15dc779aSAndroid Build Coastguard Worker /******************************************************************************
2*15dc779aSAndroid Build Coastguard Worker  *                                                                            *
3*15dc779aSAndroid Build Coastguard Worker  * Copyright (C) 2023 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 
21*15dc779aSAndroid Build Coastguard Worker #pragma once
22*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_twiddle_table_fft_32x32[514];
23*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_twiddle_table_3pr[1155];
24*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_twiddle_table_3pi[1155];
25*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_twiddle_sin_2048[1024];
26*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_twiddle_cos_2048[1024];
27*15dc779aSAndroid Build Coastguard Worker extern const FLOAT32 ia_fft_twiddle_table_float[514];
28*15dc779aSAndroid Build Coastguard Worker extern const FLOAT32 ia_mixed_rad_twiddle_cos[16384];
29*15dc779aSAndroid Build Coastguard Worker extern const FLOAT32 ia_mixed_rad_twiddle_sin[16384];
30*15dc779aSAndroid Build Coastguard Worker 
31*15dc779aSAndroid Build Coastguard Worker #define WIN_LEN_1024 1024
32*15dc779aSAndroid Build Coastguard Worker #define WIN_LEN_768 768
33*15dc779aSAndroid Build Coastguard Worker #define WIN_LEN_128 128
34*15dc779aSAndroid Build Coastguard Worker #define WIN_LEN_256 256
35*15dc779aSAndroid Build Coastguard Worker #define WIN_LEN_192 192
36*15dc779aSAndroid Build Coastguard Worker #define WIN_LEN_96 96
37*15dc779aSAndroid Build Coastguard Worker 
38*15dc779aSAndroid Build Coastguard Worker extern const FLOAT32 iusace_iir_hipass_coeffs[BLK_SWITCH_FILT_LEN];
39*15dc779aSAndroid Build Coastguard Worker extern const WORD32 iusace_suggested_grouping_table[MAX_SHORT_WINDOWS][MAXIMUM_NO_OF_GROUPS];
40*15dc779aSAndroid Build Coastguard Worker extern const WORD32 iusace_synchronized_block_types[4][4];
41*15dc779aSAndroid Build Coastguard Worker 
42*15dc779aSAndroid Build Coastguard Worker extern const FLOAT32 iusace_gamma_table[ORDER + 1];
43*15dc779aSAndroid Build Coastguard Worker extern const FLOAT32 iusace_chebyshev_polyn_grid[101];
44*15dc779aSAndroid Build Coastguard Worker 
45*15dc779aSAndroid Build Coastguard Worker extern const UWORD32 iusace_sampl_freq_idx_table[32];
46*15dc779aSAndroid Build Coastguard Worker extern const WORD32 iusace_bandwidth_table[8][2];
47*15dc779aSAndroid Build Coastguard Worker 
48*15dc779aSAndroid Build Coastguard Worker extern const WORD32 iusace_huffman_code_table[121][2];
49*15dc779aSAndroid Build Coastguard Worker 
50*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_pre_post_twid_cos_2048[512];
51*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_pre_post_twid_sin_2048[512];
52*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iexheaac_pre_post_twid_cos_1536[384];
53*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iexheaac_pre_post_twid_sin_1536[384];
54*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_pre_post_twid_cos_256[64];
55*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_pre_post_twid_sin_256[64];
56*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iexheaac_pre_post_twid_cos_192[48];
57*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iexheaac_pre_post_twid_sin_192[48];
58*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_kbd_win1024[1024];
59*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_kbd_win256[256];
60*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_kbd_win128[128];
61*15dc779aSAndroid Build Coastguard Worker 
62*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iexheaac_kbd_win_768[768];
63*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iexheaac_kbd_win_192[192];
64*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iexheaac_kbd_win_96[96];
65*15dc779aSAndroid Build Coastguard Worker 
66*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_sine_win_1024[1024];
67*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iexheaac_sine_win_768[768];
68*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_sine_win_256[256];
69*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_sine_win_128[128];
70*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iexheaac_sine_win_192[192];
71*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iexheaac_sine_win_96[96];
72*15dc779aSAndroid Build Coastguard Worker 
73*15dc779aSAndroid Build Coastguard Worker extern const UWORD16 iusace_ari_cf_r[3][4];
74*15dc779aSAndroid Build Coastguard Worker extern const UWORD16 iusace_ari_lookup_m[742];
75*15dc779aSAndroid Build Coastguard Worker extern const UWORD32 iusace_ari_hash_m[742];
76*15dc779aSAndroid Build Coastguard Worker extern const UWORD8 iusace_ari_hash_m_lsb[742];
77*15dc779aSAndroid Build Coastguard Worker extern const UWORD16 iusace_ari_cf_m[64][17];
78*15dc779aSAndroid Build Coastguard Worker 
79*15dc779aSAndroid Build Coastguard Worker extern const FLOAT32 iusace_pre_post_twid_cos_sin_512[4][512];
80*15dc779aSAndroid Build Coastguard Worker extern const FLOAT32 iusace_pre_post_twid_cos_sin_256[4][256];
81*15dc779aSAndroid Build Coastguard Worker extern const FLOAT32 iusace_pre_post_twid_cos_sin_128[4][128];
82*15dc779aSAndroid Build Coastguard Worker extern const FLOAT32 iusace_pre_post_twid_cos_sin_64[4][64];
83*15dc779aSAndroid Build Coastguard Worker extern const FLOAT32 iusace_pre_post_twid_cos_sin_32[4][32];
84*15dc779aSAndroid Build Coastguard Worker 
85*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_pow_table[9000];
86*15dc779aSAndroid Build Coastguard Worker 
87*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_long_sin[];
88*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_long_kbd[];
89*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_long_sin_kbd[];
90*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_long_kbd_sin[];
91*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 *const iusace_mdst_fcoeff_longshort_curr[2][2];
92*15dc779aSAndroid Build Coastguard Worker 
93*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_start_sin[];
94*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_start_kbd[];
95*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_start_sin_kbd[];
96*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_start_kbd_sin[];
97*15dc779aSAndroid Build Coastguard Worker 
98*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 *const iusace_mdst_fcoeff_start_curr[2][2];
99*15dc779aSAndroid Build Coastguard Worker 
100*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_stop_sin[];
101*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_stop_kbd[];
102*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_stop_sin_kbd[];
103*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_stop_kbd_sin[];
104*15dc779aSAndroid Build Coastguard Worker 
105*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 *const iusace_mdst_fcoeff_stop_cur[2][2];
106*15dc779aSAndroid Build Coastguard Worker 
107*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_stopstart_sin[];
108*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_stopstart_kbd[];
109*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_stopstart_sin_kbd[];
110*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_stopstart_kbd_sin[];
111*15dc779aSAndroid Build Coastguard Worker 
112*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 *const iusace_mdst_fcoeff_stopstart_cur[2][2];
113*15dc779aSAndroid Build Coastguard Worker 
114*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_l_s_start_left_sin[];
115*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_l_s_start_left_kbd[];
116*15dc779aSAndroid Build Coastguard Worker 
117*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_stop_stopstart_left_sin[];
118*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 iusace_mdst_fcoeff_stop_stopstart_left_kbd[];
119*15dc779aSAndroid Build Coastguard Worker 
120*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 *const iusace_mdst_fcoeff_l_s_start_left_prev[2];
121*15dc779aSAndroid Build Coastguard Worker 
122*15dc779aSAndroid Build Coastguard Worker extern const FLOAT64 *const iusace_mdst_fcoeff_stop_stopstart_left_prev[2];
123*15dc779aSAndroid Build Coastguard Worker 
124*15dc779aSAndroid Build Coastguard Worker extern const FLOAT32 ia_rad_3_fft_twiddle_re[1155];
125*15dc779aSAndroid Build Coastguard Worker 
126*15dc779aSAndroid Build Coastguard Worker extern const FLOAT32 ia_rad_3_fft_twiddle_im[1155];
127*15dc779aSAndroid Build Coastguard Worker 
128*15dc779aSAndroid Build Coastguard Worker extern const FLOAT32 ia_fft_mix_rad_twid_tbl_336[564];
129*15dc779aSAndroid Build Coastguard Worker 
130*15dc779aSAndroid Build Coastguard Worker extern const FLOAT32 ia_fft_mix_rad_twid_tbl_168[276];
131