1 /* ------------------------------------------------------------------ 2 * Copyright (C) 1998-2009 PacketVideo 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 13 * express or implied. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * ------------------------------------------------------------------- 17 */ 18 /* 19 Filename: pvmp3_tables.h 20 21 Date: 09/21/2007 22 23 ------------------------------------------------------------------------------ 24 REVISION HISTORY 25 26 Description: 27 ------------------------------------------------------------------------------ 28 INCLUDE DESCRIPTION 29 30 ------------------------------------------------------------------------------ 31 */ 32 33 #ifndef PVMP3_TABLES_H 34 #define PVMP3_TABLES_H 35 36 /*---------------------------------------------------------------------------- 37 ; INCLUDES 38 ----------------------------------------------------------------------------*/ 39 40 #include "pvmp3_dec_defs.h" 41 #include "pv_mp3_huffman.h" 42 43 /*---------------------------------------------------------------------------- 44 ; MACROS 45 ; Define module specific macros here 46 ----------------------------------------------------------------------------*/ 47 48 /*---------------------------------------------------------------------------- 49 ; EXTERNAL VARIABLES REFERENCES 50 ----------------------------------------------------------------------------*/ 51 52 /*---------------------------------------------------------------------------- 53 ; DEFINES AND SIMPLE TYPEDEF'S 54 ----------------------------------------------------------------------------*/ 55 #define Qfmt_28(a) (int32(double(0x10000000)*(a))) 56 57 /*---------------------------------------------------------------------------- 58 ; SIMPLE TYPEDEF'S 59 ----------------------------------------------------------------------------*/ 60 61 /*---------------------------------------------------------------------------- 62 ; ENUMERATED TYPEDEF'S 63 ----------------------------------------------------------------------------*/ 64 65 /*---------------------------------------------------------------------------- 66 ; STRUCTURES TYPEDEF'S 67 ----------------------------------------------------------------------------*/ 68 69 typedef struct 70 { 71 int16 l[23]; 72 int16 s[14]; 73 } mp3_scaleFactorBandIndex; 74 75 76 77 /*---------------------------------------------------------------------------- 78 ; GLOBAL FUNCTION DEFINITIONS 79 ; Function Prototype declaration 80 ----------------------------------------------------------------------------*/ 81 82 #ifdef __cplusplus 83 extern "C" 84 { 85 #endif 86 87 extern const int32 mp3_s_freq[4][4]; 88 extern const int32 inv_sfreq[4]; 89 extern const int16 mp3_bitrate[3][15]; 90 extern const int32 power_one_third[513]; 91 92 extern const mp3_scaleFactorBandIndex mp3_sfBandIndex[9]; 93 extern const int32 mp3_shortwindBandWidths[9][13]; 94 extern const int32 pqmfSynthWin[(HAN_SIZE/2) + 8]; 95 96 97 extern const uint16 huffTable_1[]; 98 extern const uint16 huffTable_2[]; 99 extern const uint16 huffTable_3[]; 100 extern const uint16 huffTable_5[]; 101 extern const uint16 huffTable_6[]; 102 extern const uint16 huffTable_7[]; 103 extern const uint16 huffTable_8[]; 104 extern const uint16 huffTable_9[]; 105 extern const uint16 huffTable_10[]; 106 extern const uint16 huffTable_11[]; 107 extern const uint16 huffTable_12[]; 108 extern const uint16 huffTable_13[]; 109 extern const uint16 huffTable_15[]; 110 extern const uint16 huffTable_16[]; 111 extern const uint16 huffTable_24[]; 112 extern const uint16 huffTable_32[]; 113 extern const uint16 huffTable_33[]; 114 115 116 #ifdef __cplusplus 117 } 118 #endif 119 120 /*---------------------------------------------------------------------------- 121 ; END 122 ----------------------------------------------------------------------------*/ 123 124 #endif 125