1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
diff -urw /home/thibaut/faad2/libfaad/common.h ./common.h
--- /home/thibaut/faad2/libfaad/common.h 2004-02-06 13:55:24.000000000 +0100
+++ ./common.h 2004-12-03 01:39:52.000000000 +0100
@@ -148,24 +148,8 @@
/* END COMPILE TIME DEFINITIONS */
-#if defined(_WIN32)
-
-
-typedef unsigned __int64 uint64_t;
-typedef unsigned __int32 uint32_t;
-typedef unsigned __int16 uint16_t;
-typedef unsigned __int8 uint8_t;
-typedef __int64 int64_t;
-typedef __int32 int32_t;
-typedef __int16 int16_t;
-typedef __int8 int8_t;
-typedef float float32_t;
-
-
-#else
-
#ifdef HAVE_CONFIG_H
-# include "../config.h"
+# include "config.h"
#endif
#include <stdio.h>
@@ -192,6 +176,8 @@
#if HAVE_STRINGS_H
# include <strings.h>
#endif
+
+/* precedence defining int-types by header files for all platforms */
#if HAVE_INTTYPES_H
# include <inttypes.h>
#else
@@ -199,6 +185,17 @@
# include <stdint.h>
# else
/* we need these... */
+# ifdef WIN32
+typedef unsigned __int64 uint64_t;
+typedef unsigned __int32 uint32_t;
+typedef unsigned __int16 uint16_t;
+typedef unsigned __int8 uint8_t;
+typedef __int64 int64_t;
+typedef __int32 int32_t;
+typedef __int16 int16_t;
+typedef __int8 int8_t;
+# else /* WIN32 */
+typedef float float32_t;
typedef unsigned long long uint64_t;
typedef unsigned long uint32_t;
typedef unsigned short uint16_t;
@@ -207,6 +204,7 @@
typedef long int32_t;
typedef short int16_t;
typedef char int8_t;
+# endif /* WIN32 */
# endif
#endif
#if HAVE_UNISTD_H
@@ -231,8 +229,6 @@
# endif
#endif
-#endif
-
#ifdef WORDS_BIGENDIAN
#define ARCH_IS_BIG_ENDIAN
#endif
@@ -295,6 +291,7 @@
}
+#ifndef HAVE_LRINTF
#ifdef _WIN32
#define HAS_LRINTF
static INLINE int lrintf(float f)
@@ -321,7 +318,7 @@
return i;
}
#endif
-
+#endif
#ifdef __ICL /* only Intel C compiler has fmath ??? */
diff -urw /home/thibaut/faad2/libfaad/bits.h ./bits.h
--- /home/thibaut/faad2/libfaad/bits.h 2004-02-04 21:07:24.000000000 +0100
+++ ./bits.h 2004-12-03 01:45:15.000000000 +0100
@@ -56,9 +56,9 @@
} bitfile;
-#if defined (_WIN32) && !defined(_WIN32_WCE)
+#if defined(_MSC_VER)
#define BSWAP(a) __asm mov eax,a __asm bswap eax __asm mov a, eax
-#elif defined(LINUX) || defined(DJGPP)
+#elif defined(LINUX) || defined(DJGPP) || defined (__MINGW32__) || defined (__CYGWIN__)
#define BSWAP(a) __asm__ ( "bswapl %0\n" : "=r" (a) : "0" (a) )
#else
#define BSWAP(a) \
|