1d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/* ------------------------------------------------------------------ 2d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * Copyright (C) 1998-2009 PacketVideo 3d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * 4d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * Licensed under the Apache License, Version 2.0 (the "License"); 5d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * you may not use this file except in compliance with the License. 6d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * You may obtain a copy of the License at 7d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * 8d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * http://www.apache.org/licenses/LICENSE-2.0 9d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * 10d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * Unless required by applicable law or agreed to in writing, software 11d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * distributed under the License is distributed on an "AS IS" BASIS, 12d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * express or implied. 14d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * See the License for the specific language governing permissions 15d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * and limitations under the License. 16d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber * ------------------------------------------------------------------- 17d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber */ 18d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/* 19d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber------------------------------------------------------------------------------ 20d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 21d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber PacketVideo Corp. 22d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber MP3 Decoder Library 23d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 24d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber Filename: pv_mp3_huffman.h 25d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 26d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber Date: 09/21/2007 27d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 28d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber------------------------------------------------------------------------------ 29d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber REVISION HISTORY 30d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 31d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber Description: 32d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber------------------------------------------------------------------------------ 33d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber INCLUDE DESCRIPTION 34d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 35d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 36d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber------------------------------------------------------------------------------ 37d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber REFERENCES 38d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 39d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber [1] ISO MPEG Audio Subgroup Software Simulation Group (1996) 40d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ISO 13818-3 MPEG-2 Audio Decoder - Lower Sampling Frequency Extension 41d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 42d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber------------------------------------------------------------------------------ 43d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber*/ 44d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 45d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; CONTINUE ONLY IF NOT ALREADY DEFINED 46d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 47d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 48d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#ifndef PV_MP3_HUFFMAN_H 49d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#define PV_MP3_HUFFMAN_H 50d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 51d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 52d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 53d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; INCLUDES 54d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 55d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 56d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#include "pvmp3_audio_type_defs.h" 57d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#include "s_mp3bits.h" 58d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#include "s_tmp3dec_file.h" 59d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 60d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 61d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; MACROS 62d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Define module specific macros here 63d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 64d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 65d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 66d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; EXTERNAL VARIABLES REFERENCES 67d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 68d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 69d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 70d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; DEFINES AND SIMPLE TYPEDEF'S 71d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 72d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 73d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 74d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 75d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; GLOBAL FUNCTION DEFINITIONS 76d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Function Prototype declaration 77d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 78d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 79d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#ifdef __cplusplus 80d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huberextern "C" 81d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber{ 82d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#endif 83d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 84d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber int32 pvmp3_huffman_parsing(int32 is[SUBBANDS_NUMBER*FILTERBANK_BANDS], 85d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber granuleInfo *grInfo, 86d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber tmp3dec_file *pVars, 87d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber int32 part2_start, 88d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mp3Header *info); 89d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 90d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 91d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber void pvmp3_huffman_quad_decoding(struct huffcodetab *h, 92d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber int32 *is, 93d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber tmp3Bits *pMainData); 94d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 95d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber void pvmp3_huffman_pair_decoding(struct huffcodetab *h, 96d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber int32 *is, 97d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber tmp3Bits *pMainData); 98d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 99d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 100d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber void pvmp3_huffman_pair_decoding_linbits(struct huffcodetab *h, 101d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber int32 *is, 102d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber tmp3Bits *pMainData); 103d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 104d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#ifdef __cplusplus 105d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber} 106d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#endif 107d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 108d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber/*---------------------------------------------------------------------------- 109d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; END 110d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber----------------------------------------------------------------------------*/ 111d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 112d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber#endif 113d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 114d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 115d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 116