• 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_BITDEC_H
21 #define IXHEAACD_MPS_BITDEC_H
22 
23 enum { EXT_TYPE_0 = 0, EXT_TYPE_1 = 1, EXT_TYPE_2 = 2 };
24 
25 enum { QUANT_MODE_0 = 0, QUANT_MODE_1 = 1, QUANT_MODE_2 = 2 };
26 
27 enum { IN_CH_1 = 1, IN_CH_2 = 2, IN_CH_6 = 6 };
28 
29 enum {
30   TREE_5151 = 0,
31   TREE_5152 = 1,
32   TREE_525 = 2,
33   TREE_7271 = 3,
34   TREE_7272 = 4,
35   TREE_7571 = 5,
36   TREE_7572 = 6
37 };
38 
39 enum {
40   PARAMETER_BANDS_4 = 4,
41   PARAMETER_BANDS_5 = 5,
42   PARAMETER_BANDS_7 = 7,
43   PARAMETER_BANDS_10 = 10,
44   PARAMETER_BANDS_14 = 14,
45   PARAMETER_BANDS_20 = 20,
46   PARAMETER_BANDS_28 = 28,
47   PARAMETER_BANDS_40 = 40
48 };
49 
50 enum { SMOOTH_MODE_0 = 0, SMOOTH_MODE_1 = 1, SMOOTH_MODE_2 = 2, SMOOTH_MODE_3 = 3 };
51 
52 enum {
53   TTT_MODE_0 = 0,
54   TTT_MODE_1 = 1,
55   TTT_MODE_2 = 2,
56   TTT_MODE_3 = 3,
57   TTT_MODE_4 = 4,
58   TTT_MODE_5 = 5
59 };
60 
61 IA_ERRORCODE ixheaacd_parse_specific_config(ia_heaac_mps_state_struct *pstr_mps_state,
62                                             WORD32 sac_header_len);
63 
64 IA_ERRORCODE ixheaacd_default_specific_config(ia_heaac_mps_state_struct *pstr_mps_state,
65                                               WORD32 sampling_freq);
66 
67 IA_ERRORCODE ixheaacd_decode_frame(ia_heaac_mps_state_struct *pstr_mps_state);
68 
69 IA_ERRORCODE ixheaacd_set_current_state_parameters(ia_heaac_mps_state_struct *pstr_mps_state);
70 
71 VOID ixheaacd_get_dequant_tables(WORD32 **cld, WORD32 **icc, WORD32 **cpc,
72                                  ia_mps_dec_bitdec_tables_struct *ixheaacd_mps_dec_bitdec_tables);
73 
74 WORD32 ixheaacd_quantize_icc(WORD32 v,
75                              ia_mps_dec_bitdec_tables_struct *ixheaacd_mps_dec_bitdec_tables);
76 
77 WORD32 ixheaacd_quantize_cld(WORD32 v,
78                              ia_mps_dec_bitdec_tables_struct *ixheaacd_mps_dec_bitdec_tables);
79 
80 #endif /* IXHEAACD_MPS_BITDEC_H */
81