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_WINDOWS_H
21 #define IXHEAACD_WINDOWS_H
22 
23 extern const WORD32 ixheaacd_sine_win_128[128];
24 extern const WORD32 ixheaacd_sine_win_1024[1024];
25 extern const WORD32 ixheaacd_sine_win_64[64];
26 extern const WORD32 ixheaacd_sine_win_768[768];
27 extern const WORD32 ixheaacd_sine_win_192[192];
28 extern const WORD32 ixheaacd_sine_win_96[96];
29 extern const WORD32 ixheaacd_sine_win_256[256];
30 extern const WORD32 ixheaacd_kbd_win120[120];
31 extern const WORD32 ixheaacd_kbd_win128[128];
32 extern const WORD32 ixheaacd_kbd_win960[960];
33 extern const WORD32 ixheaacd_kbd_win1024[1024];
34 extern const WORD32 kbd_win256[256];
35 extern const WORD32 ixheaacd_kbd_win4[4];
36 extern const WORD32 ixheaacd_kbd_win16[16];
37 extern const WORD32 ixheaacd_kbd_win_64[64];
38 extern const WORD32 ixheaacd_kbd_win768[768];
39 extern const WORD32 ixheaacd_kbd_win192[192];
40 extern const WORD32 ixheaacd_kbd_win96[96];
41 extern const WORD32 ixheaacd_kbd_win48[48];
42 
43 extern const FLOAT32 ixheaacd_sine_window96[96];
44 extern const FLOAT32 ixheaacd_sine_window128[128];
45 extern const FLOAT32 ixheaacd_sine_window192[192];
46 extern const FLOAT32 ixheaacd__sine_window256[256];
47 
48 WORD32 ixheaacd_calc_window(WORD32 **win, WORD32 len, WORD32 wfun_select);
49 
50 void ixheaacd_acelp_imdct(WORD32 *imdct_in, WORD32 npoints, WORD8 *qshift,
51                           WORD32 *scratch);
52 
53 typedef struct {
54   WORD32 lfac;
55   WORD32 n_flat_ls;
56   WORD32 n_trans_ls;
57   WORD32 n_long;
58   WORD32 n_short;
59 
60 } offset_lengths;
61 
62 #endif
63