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: ./c/include/pv_audio_type_defs.h
21dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
22dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber------------------------------------------------------------------------------
23dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber REVISION HISTORY
24dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
25dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description:  Removed errant semicolons from #define statements
26dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
27dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description:
28dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber        1. Modified ifndef STD_TYPE_DEFS_H with
29dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber           #ifndef PV_AUDIO_TYPE_DEFS_H to avoid double definition
30dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber               if file was already included
31dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber        2. Merged cai if-def structures and C++ definition
32dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber            3. Updated copyright notice
33dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
34dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description:  Added dependency on OSCL libraries
35dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
36dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber Description:
37dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber------------------------------------------------------------------------------
38dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber INCLUDE DESCRIPTION
39dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
40dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber This file was derived from a number of standards bodies. The type
41dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber definitions below were created from some of the best practices observed
42dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber in the standards bodies.
43dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
44dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber This file is dependent on limits.h for defining the bit widths. In an
45dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber ANSI C environment limits.h is expected to always be present and contain
46dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber the following definitions:
47dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
48dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber     SCHAR_MIN
49dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber     SCHAR_MAX
50dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber     UCHAR_MAX
51dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
52dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber     INT_MAX
53dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber     INT_MIN
54dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber     UINT_MAX
55dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
56dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber     SHRT_MIN
57dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber     SHRT_MAX
58dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber     USHRT_MAX
59dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
60dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber     LONG_MIN
61dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber     LONG_MAX
62dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber     ULONG_MAX
63dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
64dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber------------------------------------------------------------------------------
65dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber*/
66dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
67dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef PV_AUDIO_TYPE_DEFS_H
68dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define PV_AUDIO_TYPE_DEFS_H
69dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
70dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#include <stdint.h>
71dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
72dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef int8_t        Char;
73dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
74dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef uint8_t       UChar;
75dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
76dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
77dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
78dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*----------------------------------------------------------------------------
79dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; Define generic signed and unsigned int
80dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/
81dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef Int
82dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef signed int  Int;
83dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
84dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
85dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef UInt
86dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef unsigned int    UInt;
87dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
88dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
89dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
90dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*----------------------------------------------------------------------------
91dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; Define 16 bit signed and unsigned words
92dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/
93dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
94dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
95dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef Int16
96dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef int16_t       Int16;
97dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
98dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
99dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef INT16_MIN
100dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define INT16_MIN   (-32768)
101dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
102dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
103dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef INT16_MAX
104dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define INT16_MAX   32767
105dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
106dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
107dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef UInt16
108dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef uint16_t      UInt16;
109dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
110dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
111dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
112dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
113dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*----------------------------------------------------------------------------
114dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; Define 32 bit signed and unsigned words
115dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/
116dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
117dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
118dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef Int32
119dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef int32_t       Int32;
120dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
121dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
122dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef INT32_MIN
123dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define INT32_MIN   (-2147483647 - 1)
124dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
125dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef INT32_MAX
126dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define INT32_MAX   2147483647
127dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
128dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
129dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef UInt32
130dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef uint32_t      UInt32;
131dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
132dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
133dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef UINT32_MIN
134dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define UINT32_MIN  0
135dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
136dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef UINT32_MAX
137dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define UINT32_MAX  0xffffffff
138dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
139dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
140dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
141dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*----------------------------------------------------------------------------
142dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; Define 64 bit signed and unsigned words
143dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/
144dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
145dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
146dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber/*----------------------------------------------------------------------------
147dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber; Define boolean type
148dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber----------------------------------------------------------------------------*/
149dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef Bool
150dacaa73ae5010b66f4224d70a520945e5b653544Andreas Hubertypedef Int     Bool;
151dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
152dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef FALSE
153dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define FALSE       0
154dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
155dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
156dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef TRUE
157dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define TRUE        1
158dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
159dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
160dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef OFF
161dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define OFF     0
162dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
163dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef ON
164dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define ON      1
165dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
166dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
167dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef NO
168dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define NO      0
169dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
170dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef YES
171dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define YES     1
172dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
173dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
174dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef SUCCESS
175dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define SUCCESS     0
176dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
177dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
178dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#ifndef  NULL
179dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#define  NULL       0
180dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif
181dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
182dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber
183dacaa73ae5010b66f4224d70a520945e5b653544Andreas Huber#endif  /* PV_AUDIO_TYPE_DEFS_H */
184