116 lines
3.6 KiB
C
116 lines
3.6 KiB
C
/* ------------------------------------------------------------------
|
|
* Copyright (C) 1998-2009 PacketVideo
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
|
|
* express or implied.
|
|
* See the License for the specific language governing permissions
|
|
* and limitations under the License.
|
|
* -------------------------------------------------------------------
|
|
*/
|
|
/*
|
|
------------------------------------------------------------------------------
|
|
|
|
PacketVideo Corp.
|
|
MP3 Decoder Library
|
|
|
|
Filename: pv_mp3_huffman.h
|
|
|
|
Date: 09/21/2007
|
|
|
|
------------------------------------------------------------------------------
|
|
REVISION HISTORY
|
|
|
|
Description:
|
|
------------------------------------------------------------------------------
|
|
INCLUDE DESCRIPTION
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
REFERENCES
|
|
|
|
[1] ISO MPEG Audio Subgroup Software Simulation Group (1996)
|
|
ISO 13818-3 MPEG-2 Audio Decoder - Lower Sampling Frequency Extension
|
|
|
|
------------------------------------------------------------------------------
|
|
*/
|
|
/*----------------------------------------------------------------------------
|
|
; CONTINUE ONLY IF NOT ALREADY DEFINED
|
|
----------------------------------------------------------------------------*/
|
|
|
|
#ifndef PV_MP3_HUFFMAN_H
|
|
#define PV_MP3_HUFFMAN_H
|
|
|
|
|
|
/*----------------------------------------------------------------------------
|
|
; INCLUDES
|
|
----------------------------------------------------------------------------*/
|
|
|
|
#include "pvmp3_audio_type_defs.h"
|
|
#include "s_mp3bits.h"
|
|
#include "s_tmp3dec_file.h"
|
|
|
|
/*----------------------------------------------------------------------------
|
|
; MACROS
|
|
; Define module specific macros here
|
|
----------------------------------------------------------------------------*/
|
|
|
|
/*----------------------------------------------------------------------------
|
|
; EXTERNAL VARIABLES REFERENCES
|
|
----------------------------------------------------------------------------*/
|
|
|
|
/*----------------------------------------------------------------------------
|
|
; DEFINES AND SIMPLE TYPEDEF'S
|
|
----------------------------------------------------------------------------*/
|
|
|
|
|
|
/*----------------------------------------------------------------------------
|
|
; GLOBAL FUNCTION DEFINITIONS
|
|
; Function Prototype declaration
|
|
----------------------------------------------------------------------------*/
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
int32 pvmp3_huffman_parsing(int32 is[SUBBANDS_NUMBER*FILTERBANK_BANDS],
|
|
granuleInfo *grInfo,
|
|
tmp3dec_file *pVars,
|
|
int32 part2_start,
|
|
mp3Header *info);
|
|
|
|
|
|
void pvmp3_huffman_quad_decoding(struct huffcodetab *h,
|
|
int32 *is,
|
|
tmp3Bits *pMainData);
|
|
|
|
void pvmp3_huffman_pair_decoding(struct huffcodetab *h,
|
|
int32 *is,
|
|
tmp3Bits *pMainData);
|
|
|
|
|
|
void pvmp3_huffman_pair_decoding_linbits(struct huffcodetab *h,
|
|
int32 *is,
|
|
tmp3Bits *pMainData);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
/*----------------------------------------------------------------------------
|
|
; END
|
|
----------------------------------------------------------------------------*/
|
|
|
|
#endif
|
|
|
|
|
|
|