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