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