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 69typedef 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 83extern "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