1f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/* ------------------------------------------------------------------
2f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * Copyright (C) 1998-2009 PacketVideo
3f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber *
4f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * Licensed under the Apache License, Version 2.0 (the "License");
5f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * you may not use this file except in compliance with the License.
6f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * You may obtain a copy of the License at
7f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber *
8f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber *      http://www.apache.org/licenses/LICENSE-2.0
9f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber *
10f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * Unless required by applicable law or agreed to in writing, software
11f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * distributed under the License is distributed on an "AS IS" BASIS,
12f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * express or implied.
14f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * See the License for the specific language governing permissions
15f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * and limitations under the License.
16f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber * -------------------------------------------------------------------
17f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber */
18f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/*
19f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber------------------------------------------------------------------------------
20f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Pathname: ./c/include/pv_audio_type_defs.h
21f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
22f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber------------------------------------------------------------------------------
23f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber REVISION HISTORY
24f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
25f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Description:  Removed errant semicolons from #define statements
26f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
27f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Description:
28f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber        1. Modified ifndef STD_TYPE_DEFS_H with
29f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber           #ifndef PV_AUDIO_TYPE_DEFS_H to avoid double definition
30f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber               if file was already included
31f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber        2. Merged cai if-def structures and C++ definition
32f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber            3. Updated copyright notice
33f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
34f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Description:  Added dependency on OSCL libraries
35f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
36f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber Description:
37f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber------------------------------------------------------------------------------
38f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber INCLUDE DESCRIPTION
39f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
40f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber This file was derived from a number of standards bodies. The type
41f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber definitions below were created from some of the best practices observed
42f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber in the standards bodies.
43f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
44f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber This file is dependent on limits.h for defining the bit widths. In an
45f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber ANSI C environment limits.h is expected to always be present and contain
46f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber the following definitions:
47f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
48f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber     SCHAR_MIN
49f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber     SCHAR_MAX
50f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber     UCHAR_MAX
51f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
52f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber     INT_MAX
53f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber     INT_MIN
54f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber     UINT_MAX
55f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
56f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber     SHRT_MIN
57f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber     SHRT_MAX
58f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber     USHRT_MAX
59f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
60f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber     LONG_MIN
61f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber     LONG_MAX
62f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber     ULONG_MAX
63f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
64f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber------------------------------------------------------------------------------
65f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber*/
66f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
67f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef PV_AUDIO_TYPE_DEFS_H
68f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#define PV_AUDIO_TYPE_DEFS_H
69f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
70f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#include <stdint.h>
71f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
72f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Hubertypedef int8_t        Char;
73f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
74f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Hubertypedef uint8_t       UChar;
75f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
76f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
77f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
78f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/*----------------------------------------------------------------------------
79f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; Define generic signed and unsigned int
80f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber----------------------------------------------------------------------------*/
81f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef Int
82f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Hubertypedef signed int  Int;
83f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
84f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
85f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef UInt
86f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Hubertypedef unsigned int    UInt;
87f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
88f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
89f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
90f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/*----------------------------------------------------------------------------
91f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; Define 16 bit signed and unsigned words
92f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber----------------------------------------------------------------------------*/
93f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
94f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
95f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef Int16
96f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Hubertypedef int16_t       Int16;
97f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
98f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
99f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef INT16_MIN
100f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#define INT16_MIN   (-32768)
101f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
102f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
103f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef INT16_MAX
104f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#define INT16_MAX   32767
105f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
106f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
107f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef UInt16
108f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Hubertypedef uint16_t      UInt16;
109f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
110f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
111f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
112f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
113f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/*----------------------------------------------------------------------------
114f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; Define 32 bit signed and unsigned words
115f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber----------------------------------------------------------------------------*/
116f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
117f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
118f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef Int32
119f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Hubertypedef int32_t       Int32;
120f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
121f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
122f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef INT32_MIN
123f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#define INT32_MIN   (-2147483647 - 1)
124f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
125f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef INT32_MAX
126f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#define INT32_MAX   2147483647
127f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
128f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
129f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef UInt32
130f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Hubertypedef uint32_t      UInt32;
131f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
132f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
133f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef UINT32_MIN
134f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#define UINT32_MIN  0
135f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
136f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef UINT32_MAX
137f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#define UINT32_MAX  0xffffffff
138f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
139f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
140f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
141f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/*----------------------------------------------------------------------------
142f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; Define 64 bit signed and unsigned words
143f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber----------------------------------------------------------------------------*/
144f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
145f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
146f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber/*----------------------------------------------------------------------------
147f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber; Define boolean type
148f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber----------------------------------------------------------------------------*/
149f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef Bool
150f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Hubertypedef Int     Bool;
151f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
152f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef FALSE
153f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#define FALSE       0
154f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
155f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
156f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef TRUE
157f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#define TRUE        1
158f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
159f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
160f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef OFF
161f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#define OFF     0
162f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
163f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef ON
164f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#define ON      1
165f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
166f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
167f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef NO
168f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#define NO      0
169f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
170f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef YES
171f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#define YES     1
172f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
173f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
174f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef SUCCESS
175f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#define SUCCESS     0
176f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
177f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
178f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#ifndef  NULL
179f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#define  NULL       0
180f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif
181f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
182f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber
183f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas Huber#endif  /* PV_AUDIO_TYPE_DEFS_H */
184