• 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_MDCT_2_QMF_H
21 #define IXHEAACD_MPS_MDCT_2_QMF_H
22 
23 #define AAC_FRAME_LENGTH (1024)
24 #define AAC_SHORT_FRAME_LENGTH (128)
25 
26 #define MDCT_LENGTH_LO (AAC_FRAME_LENGTH)
27 #define MDCT_LENGTH_HI (AAC_FRAME_LENGTH << 1)
28 #define MDCT_LENGTH_SF (3 * AAC_SHORT_FRAME_LENGTH)
29 
30 #define UPD_QMF_15 (15)
31 #define UPD_QMF_16 (16)
32 #define UPD_QMF_18 (18)
33 #define UPD_QMF_24 (24)
34 #define UPD_QMF_30 (30)
35 #define UPD_QMF_32 (32)
36 
37 #define TSX2_4 (4)
38 #define TSX2_6 (6)
39 #define TSX2_8 (8)
40 #define TSX2_30 (30)
41 #define TSX2_32 (32)
42 #define TSX2_36 (36)
43 #define TSX2_48 (48)
44 #define TSX2_60 (60)
45 #define TSX2_64 (64)
46 #define TS_2 (2)
47 #define TS_4 (4)
48 #define TS_MINUS_ONE_4 (3)
49 #define TS_MINUS_ONE_15 (14)
50 #define TS_MINUS_ONE_16 (15)
51 #define TS_MINUS_ONE_18 (17)
52 #define TS_MINUS_ONE_24 (23)
53 #define TS_MINUS_ONE_30 (29)
54 #define TS_MINUS_ONE_32 (31)
55 #define ZERO (0)
56 
57 IA_ERRORCODE ixheaacd_mdct2qmf_create(ia_heaac_mps_state_struct *pstr_mps_state);
58 
59 VOID ixheaacd_mdct2qmf_process(WORD32 upd_qmf, WORD32 *const mdct_in, WORD32 *qmf_real_pre,
60                                WORD32 *qmf_real_post, WORD32 *qmf_imag_pre, WORD32 *qmf_imag_post,
61                                WORD32 const window_type, WORD32 qmf_global_offset,
62                                ia_mps_dec_mps_tables_struct *ia_mps_dec_mps_table_ptr,
63                                VOID *scratch, WORD32 time_slots);
64 
65 #endif /* IXHEAACD_MPS_MDCT_2_QMF_H */
66