• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 IXHEAACD_MPS_RES_BLOCK_H
21 #define IXHEAACD_MPS_RES_BLOCK_H
22 
23 #define IQ_TABLE_SIZE_HALF 128
24 
25 VOID ixheaacd_res_inverse_quant_lb(WORD32 *x_invquant, WORD t_bands, WORD32 *pow_table_q17,
26                                    WORD8 *pulse_data);
27 
28 VOID ixheaacd_res_apply_scfs(WORD32 *x_invquant, WORD16 *sc_factor, WORD t_bands, WORD8 *offset,
29                              WORD32 *scale_tables_ptr);
30 
31 WORD ixheaacd_res_c_block_decode_huff_word_all(
32     ia_bit_buf_struct *it_bit_buf, WORD32 code_no, WORD32 *qp, WORD16 *offsets, WORD start_band,
33     WORD endBand, WORD group_no, ia_mps_dec_residual_aac_tables_struct *aac_tables_ptr,
34     WORD32 maximum_bins_short);
35 
36 WORD ixheaacd_res_c_block_decode_huff_word_all_lb(
37     ia_bit_buf_struct *it_bit_buf, WORD32 code_no, WORD32 len,
38     ia_mps_dec_residual_aac_tables_struct *aac_tables_ptr, WORD32 *x_invquant, WORD8 *p_pul_arr);
39 
40 VOID ixheaacd_res_c_block_read_scf_data(
41     ia_bit_buf_struct *it_bit_buf,
42     ia_mps_dec_residual_channel_info_struct *p_aac_decoder_channel_info, WORD16 global_gain,
43     ia_mps_dec_residual_aac_tables_struct *aac_tables_ptr);
44 
45 WORD16 ixheaacd_res_c_block_read_spec_data(
46     ia_bit_buf_struct *it_bit_buf,
47     ia_mps_dec_residual_channel_info_struct *p_aac_decoder_channel_info,
48     ia_mps_dec_residual_aac_tables_struct *aac_tables_ptr);
49 
50 WORD16 ixheaacd_c_block_read_section_data(
51     ia_bit_buf_struct *it_bit_buf,
52     ia_mps_dec_residual_channel_info_struct *p_aac_decoder_channel_info);
53 
54 WORD32 ixheaacd_res_inv_quant(WORD32 *x_quant, WORD32 *pow_table_q17);
55 
56 #endif /* IXHEAACD_MPS_RES_BLOCK_H */
57