1 /****************************************************************************** 2 * * 3 * Copyright (C) 2018 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 IXHEAACD_ACELP_INFO_H 21 #define IXHEAACD_ACELP_INFO_H 22 23 typedef struct { 24 WORD32 acelp_core_mode; 25 WORD32 mod[NUM_FRAMES]; 26 27 WORD32 fac[NUM_FRAMES * FAC_LENGTH]; 28 WORD32 fac_data[FAC_LENGTH + 1]; 29 WORD32 mean_energy[NUM_FRAMES]; 30 WORD32 acb_index[NUM_SUBFR_SUPERFRAME]; 31 WORD32 noise_factor[NUM_FRAMES]; 32 WORD32 global_gain[NUM_FRAMES]; 33 WORD32 arith_reset_flag; 34 WORD32 x_tcx_invquant[LEN_SUPERFRAME]; 35 WORD32 tcx_lg[4 * NUM_FRAMES]; 36 WORD32 ltp_filtering_flag[NUM_SUBFR_SUPERFRAME]; 37 WORD32 icb_index[NUM_SUBFR_SUPERFRAME][8]; 38 WORD32 gains[NUM_SUBFR_SUPERFRAME]; 39 WORD32 mode_lpc[NUM_FRAMES]; 40 WORD32 lpc_first_approx_idx[110]; 41 } ia_td_frame_data_struct; 42 43 typedef struct { 44 WORD32 islong; 45 WORD32 max_win_len; 46 WORD32 samp_per_bk; 47 WORD32 sfb_per_bk; 48 WORD32 bins_per_sbk; 49 WORD32 sfb_per_sbk; 50 51 const WORD16 *ptr_sfb_tbl; 52 pWORD16 sfb_width; 53 WORD16 sfb_idx_tbl[125]; 54 WORD32 num_groups; 55 WORD16 group_len[8]; 56 57 } ia_sfb_info_struct; 58 59 #endif 60