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