Merge svn changes up to r29455
[mplayer.git] / tremor / os_types.h
blob0a868c72b3141358e03abca55285dcaffca00736
1 /********************************************************************
2 * *
3 * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. *
4 * *
5 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
6 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
7 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
8 * *
9 * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
10 * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ *
11 * *
12 ********************************************************************
14 function: #ifdef jail to whip a few platforms into the UNIX ideal.
16 ********************************************************************/
17 #ifndef _OS_TYPES_H
18 #define _OS_TYPES_H
20 #ifdef _LOW_ACCURACY_
21 # define X(n) (((((n)>>22)+1)>>1) - ((((n)>>22)+1)>>9))
22 # define LOOKUP_T const unsigned char
23 #else
24 # define X(n) (n)
25 # define LOOKUP_T const ogg_int32_t
26 #endif
28 /* make it easy on the folks that want to compile the libs with a
29 different malloc than stdlib */
30 #define _ogg_malloc malloc
31 #define _ogg_calloc calloc
32 #define _ogg_realloc realloc
33 #define _ogg_free free
35 #include <inttypes.h>
36 typedef int64_t ogg_int64_t;
37 typedef int32_t ogg_int32_t;
38 typedef int16_t ogg_int16_t;
39 typedef uint32_t ogg_uint32_t;
40 typedef uint16_t ogg_uint16_t;
42 #if 0
44 #ifdef _WIN32
46 # ifndef __GNUC__
47 /* MSVC/Borland */
48 typedef __int64 ogg_int64_t;
49 typedef __int32 ogg_int32_t;
50 typedef unsigned __int32 ogg_uint32_t;
51 typedef __int16 ogg_int16_t;
52 # else
53 /* Cygwin */
54 #include <_G_config.h>
55 typedef _G_int64_t ogg_int64_t;
56 typedef _G_int32_t ogg_int32_t;
57 typedef _G_uint32_t ogg_uint32_t;
58 typedef _G_int16_t ogg_int16_t;
59 # endif
61 #elif defined(__MACOS__)
63 # include <sys/types.h>
64 typedef SInt16 ogg_int16_t;
65 typedef SInt32 ogg_int32_t;
66 typedef UInt32 ogg_uint32_t;
67 typedef SInt64 ogg_int64_t;
69 #elif defined(__MACOSX__) /* MacOS X Framework build */
71 # include <sys/types.h>
72 typedef int16_t ogg_int16_t;
73 typedef int32_t ogg_int32_t;
74 typedef u_int32_t ogg_uint32_t;
75 typedef int64_t ogg_int64_t;
77 #elif defined(__BEOS__)
79 /* Be */
80 # include <inttypes.h>
82 #elif defined (__EMX__)
84 /* OS/2 GCC */
85 typedef short ogg_int16_t;
86 typedef int ogg_int32_t;
87 typedef unsigned int ogg_uint32_t;
88 typedef long long ogg_int64_t;
90 #else
92 # include <sys/types.h>
93 # include "config_types.h"
95 #endif
97 #endif /* 0 */
99 #endif /* _OS_TYPES_H */