aac_rom.h revision f3664ae9369a861ffbc2354e8e93e48983802062
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*/
33extern const int ShortWindowSine[FRAME_LEN_SHORT/2];
34extern const int LongWindowKBD[FRAME_LEN_LONG/2];
35
36extern const unsigned char bitrevTab[17 + 129];
37extern const int cossintab[128 + 1024];
38
39#if defined (ARMV5E) && !defined (ARMV7Neon)
40extern const int twidTab64[(4*6 + 16*6)/2];
41extern const int twidTab512[(8*6 + 32*6 + 128*6)/2];
42#else
43extern const int twidTab64[4*6 + 16*6];
44extern const int twidTab512[8*6 + 32*6 + 128*6];
45#endif
46
47/*
48  form factor
49*/
50extern const Word32 formfac_sqrttable[96];
51
52/*
53  quantizer
54*/
55extern const Word32 mTab_3_4[512];
56extern const Word32 mTab_4_3[512];
57/*! $2^{-\frac{n}{16}}$ table */
58extern const Word16 pow2tominusNover16[17] ;
59
60extern Word32 specExpMantTableComb_enc[4][14];
61extern const UWord8 specExpTableComb_enc[4][14];
62
63extern const Word16 quantBorders[4][4];
64//extern const Word16 quantRecon[3][4];
65extern const Word16 quantRecon[4][3];
66
67/*
68  huffman
69*/
70extern const UWord16 huff_ltab1_2[3][3][3][3];
71extern const UWord16 huff_ltab3_4[3][3][3][3];
72extern const UWord16 huff_ltab5_6[9][9];
73extern const UWord16 huff_ltab7_8[8][8];
74extern const UWord16 huff_ltab9_10[13][13];
75extern const UWord16 huff_ltab11[17][17];
76extern const UWord16 huff_ltabscf[121];
77extern const UWord16 huff_ctab1[3][3][3][3];
78extern const UWord16 huff_ctab2[3][3][3][3];
79extern const UWord16 huff_ctab3[3][3][3][3];
80extern const UWord16 huff_ctab4[3][3][3][3];
81extern const UWord16 huff_ctab5[9][9];
82extern const UWord16 huff_ctab6[9][9];
83extern const UWord16 huff_ctab7[8][8];
84extern const UWord16 huff_ctab8[8][8];
85extern const UWord16 huff_ctab9[13][13];
86extern const UWord16 huff_ctab10[13][13];
87extern const UWord16 huff_ctab11[17][17];
88extern const UWord32 huff_ctabscf[121];
89
90
91
92/*
93  misc
94*/
95extern const int sampRateTab[NUM_SAMPLE_RATES];
96extern const int BandwithCoefTab[8][NUM_SAMPLE_RATES];
97extern const int rates[8];
98extern const UWord8 sfBandTotalShort[NUM_SAMPLE_RATES];
99extern const UWord8 sfBandTotalLong[NUM_SAMPLE_RATES];
100extern const int sfBandTabShortOffset[NUM_SAMPLE_RATES];
101extern const short sfBandTabShort[76];
102extern const int sfBandTabLongOffset[NUM_SAMPLE_RATES];
103extern const short sfBandTabLong[325];
104
105extern const Word32 m_log2_table[INT_BITS];
106
107/*
108  TNS
109*/
110extern const Word32 tnsCoeff3[8];
111extern const Word32 tnsCoeff3Borders[8];
112extern const Word32 tnsCoeff4[16];
113extern const Word32 tnsCoeff4Borders[16];
114extern const Word32 invSBF[24];
115extern const Word16 sideInfoTabLong[MAX_SFB_LONG + 1];
116extern const Word16 sideInfoTabShort[MAX_SFB_SHORT + 1];
117#endif
118