Home | History | Annotate | Download | only in src
      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