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_MPS_NLC_DEC_H 21 #define IXHEAACD_MPS_NLC_DEC_H 22 23 #define CLD (0) 24 #define ICC (1) 25 #define IPD (2) 26 #define CPC (3) 27 28 #define BACKWARDS (0) 29 #define FORWARDS (1) 30 31 #define DIFF_FREQ (0) 32 #define DIFF_TIME (1) 33 34 #define HUFF_1D (0) 35 #define HUFF_2D (1) 36 37 #define FREQ_PAIR (0) 38 #define TIME_PAIR (1) 39 40 #define PAIR_SHIFT 4 41 #define PAIR_MASK 0xf 42 43 #define PCM_PLT 0x2 44 45 #define MAXPARAM MAX_NUM_PARAMS 46 #define MAXBANDS MAX_PARAMETER_BANDS 47 48 #define ia_huff_node_struct const WORD32(*)[][2] 49 50 WORD32 ixheaacd_mps_ecdatapairdec(ia_bit_buf_struct *it_bit_buf, WORD32 aa_out_data[][MAXBANDS], 51 WORD32 a_history[MAXBANDS], WORD32 data_type, WORD32 set_idx, 52 WORD32 start_band, WORD32 data_bands, WORD32 pair_flag, 53 WORD32 coarse_flag, WORD32 independency_flag, WORD32 ldmps_flag, 54 WORD32 heaac_mps_present, WORD32 ec_flag); 55 56 VOID ixheaacd_mps_huff_decode(ia_bit_buf_struct *it_bit_buf, WORD32 *out_data, 57 WORD32 num_val); 58 59 enum { LAV_3 = 3, LAV_5 = 5, LAV_6 = 6, LAV_7 = 7, LAV_9 = 9, LAV_12 = 12 }; 60 61 #endif /* IXHEAACD_MPS_NLC_DEC_H */ 62