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