Opus audio codec (RFC 6716): API and operations manual
1.3.1
Main Page
Modules
Files
File List
Globals
All
Files
Functions
Typedefs
Macros
Groups
Pages
include
opus_types.h
Go to the documentation of this file.
1
/* (C) COPYRIGHT 1994-2002 Xiph.Org Foundation */
2
/* Modified by Jean-Marc Valin */
3
/*
4
Redistribution and use in source and binary forms, with or without
5
modification, are permitted provided that the following conditions
6
are met:
7
8
- Redistributions of source code must retain the above copyright
9
notice, this list of conditions and the following disclaimer.
10
11
- Redistributions in binary form must reproduce the above copyright
12
notice, this list of conditions and the following disclaimer in the
13
documentation and/or other materials provided with the distribution.
14
15
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
19
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
22
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
24
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
*/
27
/* opus_types.h based on ogg_types.h from libogg */
28
33
#ifndef OPUS_TYPES_H
34
#define OPUS_TYPES_H
35
36
#define opus_int int
/* used for counters etc; at least 16 bits */
37
#define opus_int64 long long
38
#define opus_int8 signed char
39
40
#define opus_uint unsigned int
/* used for counters etc; at least 16 bits */
41
#define opus_uint64 unsigned long long
42
#define opus_uint8 unsigned char
43
44
/* Use the real stdint.h if it's there (taken from Paul Hsieh's pstdint.h) */
45
#if (defined(__STDC__) && __STDC__ && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || (defined(__GNUC__) && (defined(_STDINT_H) || defined(_STDINT_H_)) || defined (HAVE_STDINT_H))
46
#include <stdint.h>
47
# undef opus_int64
48
# undef opus_int8
49
# undef opus_uint64
50
# undef opus_uint8
51
typedef
int8_t
opus_int8
;
52
typedef
uint8_t
opus_uint8
;
53
typedef
int16_t
opus_int16
;
54
typedef
uint16_t
opus_uint16
;
55
typedef
int32_t
opus_int32
;
56
typedef
uint32_t
opus_uint32
;
57
typedef
int64_t
opus_int64
;
58
typedef
uint64_t
opus_uint64
;
59
#elif defined(_WIN32)
60
61
# if defined(__CYGWIN__)
62
# include <_G_config.h>
63
typedef
_G_int32_t
opus_int32
;
64
typedef
_G_uint32_t
opus_uint32
;
65
typedef
_G_int16
opus_int16
;
66
typedef
_G_uint16
opus_uint16
;
67
# elif defined(__MINGW32__)
68
typedef
short
opus_int16
;
69
typedef
unsigned
short
opus_uint16
;
70
typedef
int
opus_int32
;
71
typedef
unsigned
int
opus_uint32
;
72
# elif defined(__MWERKS__)
73
typedef
int
opus_int32
;
74
typedef
unsigned
int
opus_uint32
;
75
typedef
short
opus_int16
;
76
typedef
unsigned
short
opus_uint16
;
77
# else
78
/* MSVC/Borland */
79
typedef
__int32
opus_int32
;
80
typedef
unsigned
__int32
opus_uint32
;
81
typedef
__int16
opus_int16
;
82
typedef
unsigned
__int16
opus_uint16
;
83
# endif
84
85
#elif defined(__MACOS__)
86
87
# include <sys/types.h>
88
typedef
SInt16
opus_int16
;
89
typedef
UInt16
opus_uint16
;
90
typedef
SInt32
opus_int32
;
91
typedef
UInt32
opus_uint32
;
92
93
#elif (defined(__APPLE__) && defined(__MACH__))
/* MacOS X Framework build */
94
95
# include <sys/types.h>
96
typedef
int16_t
opus_int16
;
97
typedef
u_int16_t
opus_uint16
;
98
typedef
int32_t
opus_int32
;
99
typedef
u_int32_t
opus_uint32
;
100
101
#elif defined(__BEOS__)
102
103
/* Be */
104
# include <inttypes.h>
105
typedef
int16
opus_int16
;
106
typedef
u_int16
opus_uint16
;
107
typedef
int32_t
opus_int32
;
108
typedef
u_int32_t
opus_uint32
;
109
110
#elif defined (__EMX__)
111
112
/* OS/2 GCC */
113
typedef
short
opus_int16
;
114
typedef
unsigned
short
opus_uint16
;
115
typedef
int
opus_int32
;
116
typedef
unsigned
int
opus_uint32
;
117
118
#elif defined (DJGPP)
119
120
/* DJGPP */
121
typedef
short
opus_int16
;
122
typedef
unsigned
short
opus_uint16
;
123
typedef
int
opus_int32
;
124
typedef
unsigned
int
opus_uint32
;
125
126
#elif defined(R5900)
127
128
/* PS2 EE */
129
typedef
int
opus_int32
;
130
typedef
unsigned
opus_uint32
;
131
typedef
short
opus_int16
;
132
typedef
unsigned
short
opus_uint16
;
133
134
#elif defined(__SYMBIAN32__)
135
136
/* Symbian GCC */
137
typedef
signed
short
opus_int16
;
138
typedef
unsigned
short
opus_uint16
;
139
typedef
signed
int
opus_int32
;
140
typedef
unsigned
int
opus_uint32
;
141
142
#elif defined(CONFIG_TI_C54X) || defined (CONFIG_TI_C55X)
143
144
typedef
short
opus_int16
;
145
typedef
unsigned
short
opus_uint16
;
146
typedef
long
opus_int32
;
147
typedef
unsigned
long
opus_uint32
;
148
149
#elif defined(CONFIG_TI_C6X)
150
151
typedef
short
opus_int16
;
152
typedef
unsigned
short
opus_uint16
;
153
typedef
int
opus_int32
;
154
typedef
unsigned
int
opus_uint32
;
155
156
#else
157
158
/* Give up, take a reasonable guess */
159
typedef
short
opus_int16
;
160
typedef
unsigned
short
opus_uint16
;
161
typedef
int
opus_int32
;
162
typedef
unsigned
int
opus_uint32
;
163
164
#endif
165
166
#endif
/* OPUS_TYPES_H */
For more information visit the
Opus Website
.
Generated by
doxygen
1.8.1.2