Home | History | Annotate | Download | only in decoder
      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_CHANNEL_H
     21 #define IXHEAACD_CHANNEL_H
     22 
     23 enum {
     24 
     25   ID_SCE = 0,
     26   ID_CPE,
     27   ID_CCE,
     28   ID_LFE,
     29   ID_DSE,
     30   ID_PCE,
     31   ID_FIL,
     32   ID_END,
     33   ID_HDR,
     34   ID_NULL,
     35   ID_IIND_ICS,
     36   CRC_LEVEL_FIN,
     37   END_HDR,
     38 };
     39 
     40 #define LEFT 0
     41 #define RIGHT 1
     42 
     43 VOID ixheaacd_channel_pair_process(
     44     ia_aac_dec_channel_info_struct *ptr_aac_dec_channel_info[], WORD32 num_ch,
     45     ia_aac_dec_tables_struct *ptr_aac_tables, WORD32 total_channels,
     46     WORD32 object_type, WORD32 aac_spect_data_resil_flag,
     47     WORD32 aac_sf_data_resil_flag, WORD32 *in_data, WORD32 *out_data,
     48     void *self_ptr);
     49 
     50 VOID ixheaacd_map_ms_mask_pns(
     51     ia_aac_dec_channel_info_struct *ptr_aac_dec_channel_info[CHANNELS]);
     52 
     53 VOID ixheaacd_read_fill_element(ia_bit_buf_struct *it_bit_buff,
     54                                 ia_drc_dec_struct *drc_dummy,
     55                                 ia_drc_dec_struct *pstr_drc_dec);
     56 
     57 VOID ixheaacd_read_data_stream_element(ia_bit_buf_struct *it_bit_buff,
     58                                        WORD32 *byte_align_bits,
     59                                        ia_drc_dec_struct *drc_handle);
     60 
     61 WORD16 *ixheaacd_getscalefactorbandoffsets(
     62     ia_ics_info_struct *ptr_ics_info, ia_aac_dec_tables_struct *ptr_aac_tables);
     63 #endif /* #ifndef IXHEAACD_CHANNEL_H */
     64