• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  ** Copyright 2003-2010, VisualOn, Inc.
3  **
4  ** Licensed under the Apache License, Version 2.0 (the "License");
5  ** you may not use this file except in compliance with the License.
6  ** You may obtain a copy of the License at
7  **
8  **     http://www.apache.org/licenses/LICENSE-2.0
9  **
10  ** Unless required by applicable law or agreed to in writing, software
11  ** distributed under the License is distributed on an "AS IS" BASIS,
12  ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  ** See the License for the specific language governing permissions and
14  ** limitations under the License.
15  */
16 /*******************************************************************************
17 	File:		aac_rom.h
18 
19 	Content:	constant tables
20 
21 *******************************************************************************/
22 
23 #ifndef ROM_H
24 #define ROM_H
25 
26 #include "config.h"
27 #include "psy_const.h"
28 #include "tns_param.h"
29 
30 /*
31   mdct
32 */
33 extern const int ShortWindowSine[FRAME_LEN_SHORT/2];
34 extern const int LongWindowKBD[FRAME_LEN_LONG/2];
35 
36 extern const unsigned char bitrevTab[17 + 129];
37 extern const int cossintab[128 + 1024];
38 
39 #if defined (ARMV5E) && !defined (ARMV7Neon)
40 extern const int twidTab64[(4*6 + 16*6)/2];
41 extern const int twidTab512[(8*6 + 32*6 + 128*6)/2];
42 #else
43 extern const int twidTab64[4*6 + 16*6];
44 extern const int twidTab512[8*6 + 32*6 + 128*6];
45 #endif
46 
47 /*
48   form factor
49 */
50 extern const Word32 formfac_sqrttable[96];
51 
52 /*
53   quantizer
54 */
55 extern const Word32 mTab_3_4[512];
56 extern const Word32 mTab_4_3[512];
57 /*! $2^{-\frac{n}{16}}$ table */
58 extern const Word16 pow2tominusNover16[17] ;
59 
60 extern const Word32 specExpMantTableComb_enc[4][14];
61 extern const UWord8 specExpTableComb_enc[4][14];
62 
63 extern const Word16 quantBorders[4][4];
64 //extern const Word16 quantRecon[3][4];
65 extern const Word16 quantRecon[4][3];
66 
67 /*
68   huffman
69 */
70 extern const UWord16 huff_ltab1_2[3][3][3][3];
71 extern const UWord16 huff_ltab3_4[3][3][3][3];
72 extern const UWord16 huff_ltab5_6[9][9];
73 extern const UWord16 huff_ltab7_8[8][8];
74 extern const UWord16 huff_ltab9_10[13][13];
75 extern const UWord16 huff_ltab11[17][17];
76 extern const UWord16 huff_ltabscf[121];
77 extern const UWord16 huff_ctab1[3][3][3][3];
78 extern const UWord16 huff_ctab2[3][3][3][3];
79 extern const UWord16 huff_ctab3[3][3][3][3];
80 extern const UWord16 huff_ctab4[3][3][3][3];
81 extern const UWord16 huff_ctab5[9][9];
82 extern const UWord16 huff_ctab6[9][9];
83 extern const UWord16 huff_ctab7[8][8];
84 extern const UWord16 huff_ctab8[8][8];
85 extern const UWord16 huff_ctab9[13][13];
86 extern const UWord16 huff_ctab10[13][13];
87 extern const UWord16 huff_ctab11[17][17];
88 extern const UWord32 huff_ctabscf[121];
89 
90 
91 
92 /*
93   misc
94 */
95 extern const int sampRateTab[NUM_SAMPLE_RATES];
96 extern const int BandwithCoefTab[8][NUM_SAMPLE_RATES];
97 extern const int rates[8];
98 extern const UWord8 sfBandTotalShort[NUM_SAMPLE_RATES];
99 extern const UWord8 sfBandTotalLong[NUM_SAMPLE_RATES];
100 extern const int sfBandTabShortOffset[NUM_SAMPLE_RATES];
101 extern const short sfBandTabShort[76];
102 extern const int sfBandTabLongOffset[NUM_SAMPLE_RATES];
103 extern const short sfBandTabLong[325];
104 
105 extern const Word32 m_log2_table[INT_BITS];
106 
107 /*
108   TNS
109 */
110 extern const Word32 tnsCoeff3[8];
111 extern const Word32 tnsCoeff3Borders[8];
112 extern const Word32 tnsCoeff4[16];
113 extern const Word32 tnsCoeff4Borders[16];
114 extern const Word32 invSBF[24];
115 extern const Word16 sideInfoTabLong[MAX_SFB_LONG + 1];
116 extern const Word16 sideInfoTabShort[MAX_SFB_SHORT + 1];
117 #endif
118