1dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/* ------------------------------------------------------------------ 2dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * Copyright (C) 1998-2009 PacketVideo 3dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * 4dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * Licensed under the Apache License, Version 2.0 (the "License"); 5dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * you may not use this file except in compliance with the License. 6dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * You may obtain a copy of the License at 7dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * 8dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * http://www.apache.org/licenses/LICENSE-2.0 9dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * 10dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * Unless required by applicable law or agreed to in writing, software 11dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * distributed under the License is distributed on an "AS IS" BASIS, 12dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * express or implied. 14dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * See the License for the specific language governing permissions 15dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * and limitations under the License. 16dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber * ------------------------------------------------------------------- 17dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber */ 18dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/* 19dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 20dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Pathname: ibstream.h 21dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 22dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber------------------------------------------------------------------------------ 23dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber REVISION HISTORY 24dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 25dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description: Change names of constants. 26dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 27dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description: Change the buffer from UInt to UInt32 28dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 29dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description: Remove declaration of getbits and include header file 30dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 31dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description: Change input buffer to UChar 32dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Add constant 33dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 34dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Who: Date: 35dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description: 36dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 37dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber------------------------------------------------------------------------------ 38dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber INCLUDE DESCRIPTION 39dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 40dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Contains defines, structures, and function definitions for the 41dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber input bit stream used in the AAC Decoder. 42dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 43dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber------------------------------------------------------------------------------ 44dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber*/ 45dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 46dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*---------------------------------------------------------------------------- 47dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; CONTINUE ONLY IF NOT ALREADY DEFINED 48dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/ 49dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef IBSTREAM_H 50dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define IBSTREAM_H 51dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 52dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*---------------------------------------------------------------------------- 53dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; INCLUDES 54dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/ 55dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#include "pv_audio_type_defs.h" 56dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#include "s_bits.h" 57dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#include "getbits.h" 58dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 59dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*---------------------------------------------------------------------------- 60dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; MACROS 61dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; Define module specific macros here 62dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/ 63dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 64dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*---------------------------------------------------------------------------- 65dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; DEFINES 66dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; Include all pre-processor statements here. 67dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/ 68dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 69dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define INBUF_ARRAY_INDEX_SHIFT (3) 70dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define INBUF_BIT_WIDTH (1<<(INBUF_ARRAY_INDEX_SHIFT)) 71dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define INBUF_BIT_MODULO_MASK ((INBUF_BIT_WIDTH)-1) 72dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 73dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define MAX_GETBITS (25) 74dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*---------------------------------------------------------------------------- 75dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; EXTERNAL VARIABLES REFERENCES 76dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; Declare variables used in this module but defined elsewhere 77dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/ 78dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 79dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*---------------------------------------------------------------------------- 80dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; SIMPLE TYPEDEF'S 81dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/ 82dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 83dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*---------------------------------------------------------------------------- 84dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; ENUMERATED TYPEDEF'S 85dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/ 86dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 87dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*---------------------------------------------------------------------------- 88dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; STRUCTURES TYPEDEF'S 89dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/ 90dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 91dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 92dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*---------------------------------------------------------------------------- 93dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; GLOBAL FUNCTION DEFINITIONS 94dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; Function Prototype declaration 95dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/ 96dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 97dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifdef __cplusplus 98dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huberextern "C" 99dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber{ 100dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 101dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 102dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber void byte_align( 103dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber BITS *pInputStream); 104dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 105dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 106dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifdef __cplusplus 107dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber} 108dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif 109dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 110dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*---------------------------------------------------------------------------- 111dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; END 112dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/ 113dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif /* IBSTREAM_H */ 114dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 115dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber 116