1a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber/* ------------------------------------------------------------------
2a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber * Copyright (C) 1998-2009 PacketVideo
3a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber *
4a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber * Licensed under the Apache License, Version 2.0 (the "License");
5a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber * you may not use this file except in compliance with the License.
6a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber * You may obtain a copy of the License at
7a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber *
8a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber *      http://www.apache.org/licenses/LICENSE-2.0
9a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber *
10a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber * Unless required by applicable law or agreed to in writing, software
11a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber * distributed under the License is distributed on an "AS IS" BASIS,
12a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber * express or implied.
14a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber * See the License for the specific language governing permissions
15a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber * and limitations under the License.
16a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber * -------------------------------------------------------------------
17a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber */
18a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber/****************************************************************************************
19a30d40083856cb4edd225faf8b488fab156e5976Andreas HuberPortions of this file are derived from the following 3GPP standard:
20a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
21a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber    3GPP TS 26.173
22a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber    ANSI-C code for the Adaptive Multi-Rate - Wideband (AMR-WB) speech codec
23a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber    Available from http://www.3gpp.org
24a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
25a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber(C) 2007, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC)
26a30d40083856cb4edd225faf8b488fab156e5976Andreas HuberPermission to distribute, modify and use this file under the standard license
27a30d40083856cb4edd225faf8b488fab156e5976Andreas Huberterms listed above has been obtained from the copyright holder.
28a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber****************************************************************************************/
29a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber/*
30a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber------------------------------------------------------------------------------
31a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
32a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
33a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
34a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber Pathname: ./cpp/include/pv_amr_wb_type_defs.h
35a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
36a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber     Date: 12/12/2006
37a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
38a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber------------------------------------------------------------------------------
39a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber REVISION HISTORY
40a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
41a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
42a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber Description:
43a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber------------------------------------------------------------------------------
44a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber INCLUDE DESCRIPTION
45a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
46a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber This file was derived from a number of standards bodies. The type
47a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber definitions below were created from some of the best practices observed
48a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber in the standards bodies.
49a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
50a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber This file is dependent on limits.h for defining the bit widths. In an
51a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber ANSI C environment limits.h is expected to always be present and contain
52a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber the following definitions:
53a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
54a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber     SCHAR_MIN
55a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber     SCHAR_MAX
56a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber     UCHAR_MAX
57a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
58a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber     INT_MAX
59a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber     INT_MIN
60a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber     UINT_MAX
61a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
62a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber     SHRT_MIN
63a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber     SHRT_MAX
64a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber     USHRT_MAX
65a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
66a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber     LONG_MIN
67a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber     LONG_MAX
68a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber     ULONG_MAX
69a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
70a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber------------------------------------------------------------------------------
71a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber*/
72a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
73a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef PV_AMR_WB_TYPE_DEFS_H
74a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#define PV_AMR_WB_TYPE_DEFS_H
75a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
76a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#include <stdint.h>
77a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
78a30d40083856cb4edd225faf8b488fab156e5976Andreas Hubertypedef int8_t        Word8;
79a30d40083856cb4edd225faf8b488fab156e5976Andreas Hubertypedef uint8_t       UWord8;
80a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
81a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber/*----------------------------------------------------------------------------
82a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber; Define generic signed and unsigned int
83a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber----------------------------------------------------------------------------*/
84a30d40083856cb4edd225faf8b488fab156e5976Andreas Hubertypedef signed int  Int;
85a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
86a30d40083856cb4edd225faf8b488fab156e5976Andreas Hubertypedef unsigned int    UInt;
87a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
88a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber/*----------------------------------------------------------------------------
89a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber; Define 16 bit signed and unsigned words
90a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber----------------------------------------------------------------------------*/
91a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
92a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef INT16_MIN
93a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#define INT16_MIN   (-32768)
94a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
95a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
96a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef INT16_MAX
97a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#define INT16_MAX   32767
98a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
99a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
100a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber/*----------------------------------------------------------------------------
101a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber; Define 32 bit signed and unsigned words
102a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber----------------------------------------------------------------------------*/
103a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
104a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
105a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
106a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef INT32_MIN
107a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#define INT32_MIN   (-2147483647 - 1)
108a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
109a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef INT32_MAX
110a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#define INT32_MAX   2147483647
111a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
112a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
113a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
114a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef UINT32_MIN
115a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#define UINT32_MIN  0
116a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
117a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef UINT32_MAX
118a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#define UINT32_MAX  0xffffffff
119a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
120a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
121a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
122a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber/*----------------------------------------------------------------------------
123a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber; Define 64 bit signed and unsigned words
124a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber----------------------------------------------------------------------------*/
125a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
126a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
127a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber/*----------------------------------------------------------------------------
128a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber; Define boolean type
129a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber----------------------------------------------------------------------------*/
130a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
131a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef Flag
132a30d40083856cb4edd225faf8b488fab156e5976Andreas Hubertypedef Int Flag;
133a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
134a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
135a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef Bool
136a30d40083856cb4edd225faf8b488fab156e5976Andreas Hubertypedef Int     Bool;
137a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
138a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef FALSE
139a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#define FALSE       0
140a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
141a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
142a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef TRUE
143a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#define TRUE        1
144a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
145a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
146a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef OFF
147a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#define OFF     0
148a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
149a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef ON
150a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#define ON      1
151a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
152a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
153a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef NO
154a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#define NO      0
155a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
156a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef YES
157a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#define YES     1
158a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
159a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
160a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef SUCCESS
161a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#define SUCCESS     0
162a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
163a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
164a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#ifndef  NULL
165a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#define  NULL       0
166a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif
167a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
168a30d40083856cb4edd225faf8b488fab156e5976Andreas Hubertypedef int16_t int16;
169a30d40083856cb4edd225faf8b488fab156e5976Andreas Hubertypedef int32_t int32;
170a30d40083856cb4edd225faf8b488fab156e5976Andreas Hubertypedef int64_t int64;
171a30d40083856cb4edd225faf8b488fab156e5976Andreas Hubertypedef uint8_t uint8;
172a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber
173a30d40083856cb4edd225faf8b488fab156e5976Andreas Huber#endif  /* PV_AMR_WB_TYPE_DEFS_H */
174