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 ------------------------------------------------------------------------------
     20 
     21    PacketVideo Corp.
     22    MP3 Decoder Library
     23 
     24    Filename: pv_mp3_huffman.h
     25 
     26    Date: 09/21/2007
     27 
     28 ------------------------------------------------------------------------------
     29  REVISION HISTORY
     30 
     31  Description:
     32 ------------------------------------------------------------------------------
     33  INCLUDE DESCRIPTION
     34 
     35 
     36 ------------------------------------------------------------------------------
     37  REFERENCES
     38 
     39  [1] ISO MPEG Audio Subgroup Software Simulation Group (1996)
     40      ISO 13818-3 MPEG-2 Audio Decoder - Lower Sampling Frequency Extension
     41 
     42 ------------------------------------------------------------------------------
     43 */
     44 /*----------------------------------------------------------------------------
     45 ; CONTINUE ONLY IF NOT ALREADY DEFINED
     46 ----------------------------------------------------------------------------*/
     47 
     48 #ifndef PV_MP3_HUFFMAN_H
     49 #define PV_MP3_HUFFMAN_H
     50 
     51 
     52 /*----------------------------------------------------------------------------
     53 ; INCLUDES
     54 ----------------------------------------------------------------------------*/
     55 
     56 #include "pvmp3_audio_type_defs.h"
     57 #include "s_mp3bits.h"
     58 #include "s_tmp3dec_file.h"
     59 
     60 /*----------------------------------------------------------------------------
     61 ; MACROS
     62 ; Define module specific macros here
     63 ----------------------------------------------------------------------------*/
     64 
     65 /*----------------------------------------------------------------------------
     66 ; EXTERNAL VARIABLES REFERENCES
     67 ----------------------------------------------------------------------------*/
     68 
     69 /*----------------------------------------------------------------------------
     70 ; DEFINES AND SIMPLE TYPEDEF'S
     71 ----------------------------------------------------------------------------*/
     72 
     73 
     74 /*----------------------------------------------------------------------------
     75 ; GLOBAL FUNCTION DEFINITIONS
     76 ; Function Prototype declaration
     77 ----------------------------------------------------------------------------*/
     78 
     79 #ifdef __cplusplus
     80 extern "C"
     81 {
     82 #endif
     83 
     84     int32 pvmp3_huffman_parsing(int32 is[SUBBANDS_NUMBER*FILTERBANK_BANDS],
     85     granuleInfo *grInfo,
     86     tmp3dec_file   *pVars,
     87     int32 part2_start,
     88     mp3Header *info);
     89 
     90 
     91     void pvmp3_huffman_quad_decoding(struct huffcodetab *h,
     92                                      int32 *is,
     93                                      tmp3Bits *pMainData);
     94 
     95     void pvmp3_huffman_pair_decoding(struct huffcodetab *h,
     96                                      int32 *is,
     97                                      tmp3Bits *pMainData);
     98 
     99 
    100     void pvmp3_huffman_pair_decoding_linbits(struct huffcodetab *h,
    101             int32 *is,
    102             tmp3Bits *pMainData);
    103 
    104 #ifdef __cplusplus
    105 }
    106 #endif
    107 
    108 /*----------------------------------------------------------------------------
    109 ; END
    110 ----------------------------------------------------------------------------*/
    111 
    112 #endif
    113 
    114 
    115 
    116