1 /****************************************************************************** 2 * * 3 * Copyright (C) 2023 The Android Open Source Project 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ***************************************************************************** 18 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19 */ 20 #ifndef IXHEAAC_ESBR_ROM_H 21 #define IXHEAAC_ESBR_ROM_H 22 23 extern const FLOAT32 24 ixheaac_sub_samp_qmf_window_coeff[40 + 80 + 120 + 160 + 200 + 240 + 320 + 400 + 440]; 25 extern const FLOAT32 ixheaac_random_phase[512][2]; 26 extern const FLOAT32 ixheaac_hphase_tbl[2][8]; 27 28 extern const FLOAT32 ixheaac_g_lim_gains[4]; 29 30 typedef FLOAT32 ia_fir_table_struct[5]; 31 extern const ia_fir_table_struct ixheaac_fir_0; 32 extern const ia_fir_table_struct ixheaac_fir_1; 33 extern const ia_fir_table_struct ixheaac_fir_2; 34 extern const ia_fir_table_struct ixheaac_fir_3; 35 extern const ia_fir_table_struct ixheaac_fir_4; 36 extern const ia_fir_table_struct *ixheaac_fir_table[5]; 37 extern const FLOAT32 ixheaac_q_gamma_table[4]; 38 extern const WORD32 ixheaac_start_subband2kL_tbl[33]; 39 extern const FLOAT32 ixheaac_cos_table_trans_qmf[7][32 * 2]; 40 41 extern const FLOAT32 ixheaac_phase_vocoder_cos_table[64]; 42 extern const FLOAT32 ixheaac_phase_vocoder_sin_table[64]; 43 extern const FLOAT32 ixheaac_hbe_post_anal_proc_interp_coeff[4][2]; 44 45 extern const FLOAT32 ixheaac_hbe_x_prod_cos_table_trans_2[2 * (128 + 128)]; 46 extern const FLOAT32 ixheaac_hbe_x_prod_cos_table_trans_3[2 * (128 + 128)]; 47 extern const FLOAT32 ixheaac_hbe_x_prod_cos_table_trans_4[2 * (128 + 128)]; 48 extern const FLOAT32 ixheaac_hbe_x_prod_cos_table_trans_4_1[2 * (128 + 128)]; 49 50 extern const FLOAT32 ixheaac_synth_cos_table_kl_4[16]; 51 extern const FLOAT32 ixheaac_synth_cos_table_kl_8[32]; 52 extern const FLOAT32 ixheaac_synth_cos_table_kl_12[48]; 53 extern const FLOAT32 ixheaac_synth_cos_table_kl_16[64]; 54 extern const FLOAT32 ixheaac_synth_cos_table_kl_20[40 * 20]; 55 extern const FLOAT32 ixheaac_analy_cos_sin_table_kl_8[32]; 56 extern const FLOAT32 ixheaac_analy_cos_sin_table_kl_16[64]; 57 extern const FLOAT32 ixheaac_analy_cos_sin_table_kl_24[96]; 58 extern const FLOAT32 ixheaac_analy_cos_sin_table_kl_32[128]; 59 extern const FLOAT32 ixheaac_analy_cos_sin_table_kl_40[40 * 40 * 2]; 60 61 extern const FLOAT32 ixheaac_dft_hbe_window_ts_12[13]; 62 extern const FLOAT32 ixheaac_dft_hbe_window_ts_18[19]; 63 64 extern const FLOAT32 ixheaac_sine_pi_n_by_1024[1024]; 65 extern const FLOAT32 ixheaac_sine_pi_n_by_960[960]; 66 extern const FLOAT32 ixheaac_sine_pi_n_by_896[896]; 67 extern const FLOAT32 ixheaac_sine_pi_n_by_832[832]; 68 extern const FLOAT32 ixheaac_sine_pi_n_by_768[768]; 69 extern const FLOAT32 ixheaac_sine_pi_n_by_704[704]; 70 extern const FLOAT32 ixheaac_sine_pi_n_by_640[640]; 71 extern const FLOAT32 ixheaac_sine_pi_n_by_576[576]; 72 extern const FLOAT32 ixheaac_sine_pi_by_2_N[]; 73 extern const FLOAT32 ixheaac_sin_cos_448[]; 74 extern const FLOAT32 ixheaac_sin_cos_672[]; 75 extern const FLOAT32 ixheaac_sin_cos_512[]; 76 extern const FLOAT32 ixheaac_sin_cos_576[]; 77 extern const FLOAT32 ixheaac_sin_cos_384[]; 78 extern const FLOAT32 ixheaac_sin_cos_768[]; 79 80 extern const FLOAT32 ixheaac_sel_case[5][8]; 81 extern const FLOAT32 ixheaac_sub_samp_qmf_window_coeff_28_36[280 + 360]; 82 extern const FLOAT32 ixheaac_analy_cos_sin_table_kl_56[56 * 56 * 2]; 83 #endif /* IXHEAAC_ESBR_ROM_H */ 84