annotate loader/wine/basetsd.h @ 22996:2a60af5e78a7

skip MMX code in rgb32to16 if the size of the input is smaller than the size of the units the MMX code processes
author ivo
date Wed, 18 Apr 2007 09:26:22 +0000
parents 0783dd397f74
children 251338cf2f58
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
1 /*
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
2 * Compilers that uses ILP32, LP64 or P64 type models
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
3 * for both Win32 and Win64 are supported by this file.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
4 */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
5
15166
f5537cc95b02 Mark modified imported files as such to comply with GPL ¡ø2a.
diego
parents: 14492
diff changeset
6 /*
18783
0783dd397f74 CVS --> Subversion in copyright notices
diego
parents: 15691
diff changeset
7 * Modified for use with MPlayer, detailed changelog at
0783dd397f74 CVS --> Subversion in copyright notices
diego
parents: 15691
diff changeset
8 * http://svn.mplayerhq.hu/mplayer/trunk/
15166
f5537cc95b02 Mark modified imported files as such to comply with GPL ¡ø2a.
diego
parents: 14492
diff changeset
9 * $Id$
f5537cc95b02 Mark modified imported files as such to comply with GPL ¡ø2a.
diego
parents: 14492
diff changeset
10 */
f5537cc95b02 Mark modified imported files as such to comply with GPL ¡ø2a.
diego
parents: 14492
diff changeset
11
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
12 #ifndef __WINE_BASETSD_H
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
13 #define __WINE_BASETSD_H
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
14
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
15 #ifdef __WINE__
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
16 #include "config.h"
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
17 #endif /* defined(__WINE__) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
18
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
19 #ifdef __cplusplus
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
20 extern "C" {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
21 #endif /* defined(__cplusplus) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
22
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
23 /*
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
24 * Win32 was easy to implement under Unix since most (all?) 32-bit
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
25 * Unices uses the same type model (ILP32) as Win32, where int, long
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
26 * and pointer are 32-bit.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
27 *
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
28 * Win64, however, will cause some problems when implemented under Unix.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
29 * Linux/{Alpha, Sparc64} and most (all?) other 64-bit Unices uses
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
30 * the LP64 type model where int is 32-bit and long and pointer are
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
31 * 64-bit. Win64 on the other hand uses the P64 (sometimes called LLP64)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
32 * type model where int and long are 32 bit and pointer is 64-bit.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
33 */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
34
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
35 /* Type model indepent typedefs */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
36
14492
34aed601f044 icc support by Darek Ostolski <ostolski at kwantum dot gda dot pl>
diego
parents: 1
diff changeset
37 #ifndef __INTEL_COMPILER
34aed601f044 icc support by Darek Ostolski <ostolski at kwantum dot gda dot pl>
diego
parents: 1
diff changeset
38
15691
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
39 #ifndef __int8
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
40 typedef char __int8;
15691
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
41 #endif
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
42 #ifndef __uint8
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
43 typedef unsigned char __uint8;
15691
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
44 #endif
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
45
15691
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
46 #ifndef __int16
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
47 typedef short __int16;
15691
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
48 #endif
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
49 #ifndef __uint16
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
50 typedef unsigned short __uint16;
15691
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
51 #endif
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
52
15691
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
53 #ifndef __int32
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
54 typedef int __int32;
15691
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
55 #endif
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
56 #ifndef __uint32
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
57 typedef unsigned int __uint32;
15691
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
58 #endif
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
59
15691
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
60 #ifndef __int64
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
61 typedef long long __int64;
15691
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
62 #endif
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
63 #ifndef __uint64
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
64 typedef unsigned long long __uint64;
15691
0a07aa511c2a mingw and maybe other system define the __int* types to char, short..., so the typedefs become typedef char char; etc.
faust3
parents: 15166
diff changeset
65 #endif
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
66
14492
34aed601f044 icc support by Darek Ostolski <ostolski at kwantum dot gda dot pl>
diego
parents: 1
diff changeset
67 #else
34aed601f044 icc support by Darek Ostolski <ostolski at kwantum dot gda dot pl>
diego
parents: 1
diff changeset
68
34aed601f044 icc support by Darek Ostolski <ostolski at kwantum dot gda dot pl>
diego
parents: 1
diff changeset
69 typedef unsigned __int8 __uint8;
34aed601f044 icc support by Darek Ostolski <ostolski at kwantum dot gda dot pl>
diego
parents: 1
diff changeset
70 typedef unsigned __int16 __uint16;
34aed601f044 icc support by Darek Ostolski <ostolski at kwantum dot gda dot pl>
diego
parents: 1
diff changeset
71 typedef unsigned __int32 __uint32;
34aed601f044 icc support by Darek Ostolski <ostolski at kwantum dot gda dot pl>
diego
parents: 1
diff changeset
72 typedef unsigned __int64 __uint64;
34aed601f044 icc support by Darek Ostolski <ostolski at kwantum dot gda dot pl>
diego
parents: 1
diff changeset
73
34aed601f044 icc support by Darek Ostolski <ostolski at kwantum dot gda dot pl>
diego
parents: 1
diff changeset
74 #endif /* __INTEL_COMPILER */
34aed601f044 icc support by Darek Ostolski <ostolski at kwantum dot gda dot pl>
diego
parents: 1
diff changeset
75
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
76 #if defined(_WIN64)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
77
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
78 typedef __uint32 __ptr32;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
79 typedef void *__ptr64;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
80
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
81 #else /* FIXME: defined(_WIN32) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
82
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
83 typedef void *__ptr32;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
84 typedef __uint64 __ptr64;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
85
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
86 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
87
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
88 /* Always signed and 32 bit wide */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
89
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
90 typedef __int32 LONG32;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
91 //typedef __int32 INT32;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
92
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
93 typedef LONG32 *PLONG32;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
94 //typedef INT32 *PINT32;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
95
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
96 /* Always unsigned and 32 bit wide */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
97
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
98 typedef __uint32 ULONG32;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
99 typedef __uint32 DWORD32;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
100 typedef __uint32 UINT32;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
101
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
102 typedef ULONG32 *PULONG32;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
103 typedef DWORD32 *PDWORD32;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
104 typedef UINT32 *PUINT32;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
105
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
106 /* Always signed and 64 bit wide */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
107
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
108 typedef __int64 LONG64;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
109 typedef __int64 INT64;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
110
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
111 typedef LONG64 *PLONG64;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
112 typedef INT64 *PINT64;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
113
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
114 /* Always unsigned and 64 bit wide */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
115
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
116 typedef __uint64 ULONG64;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
117 typedef __uint64 DWORD64;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
118 typedef __uint64 UINT64;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
119
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
120 typedef ULONG64 *PULONG64;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
121 typedef DWORD64 *PDWORD64;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
122 typedef UINT64 *PUINT64;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
123
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
124 /* Win32 or Win64 dependent typedef/defines. */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
125
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
126 #ifdef _WIN64
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
127
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
128 typedef __int64 INT_PTR, *PINT_PTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
129 typedef __uint64 UINT_PTR, *PUINT_PTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
130
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
131 #define MAXINT_PTR 0x7fffffffffffffff
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
132 #define MININT_PTR 0x8000000000000000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
133 #define MAXUINT_PTR 0xffffffffffffffff
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
134
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
135 typedef __int32 HALF_PTR, *PHALF_PTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
136 typedef __int32 UHALF_PTR, *PUHALF_PTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
137
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
138 #define MAXHALF_PTR 0x7fffffff
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
139 #define MINHALF_PTR 0x80000000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
140 #define MAXUHALF_PTR 0xffffffff
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
141
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
142 typedef __int64 LONG_PTR, *PLONG_PTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
143 typedef __uint64 ULONG_PTR, *PULONG_PTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
144 typedef __uint64 DWORD_PTR, *PDWORD_PTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
145
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
146 #else /* FIXME: defined(_WIN32) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
147
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
148 typedef __int32 INT_PTR, *PINT_PTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
149 typedef __uint32 UINT_PTR, *PUINT_PTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
150
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
151 #define MAXINT_PTR 0x7fffffff
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
152 #define MININT_PTR 0x80000000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
153 #define MAXUINT_PTR 0xffffffff
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
154
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
155 typedef __int16 HALF_PTR, *PHALF_PTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
156 typedef __uint16 UHALF_PTR, *PUHALF_PTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
157
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
158 #define MAXUHALF_PTR 0xffff
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
159 #define MAXHALF_PTR 0x7fff
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
160 #define MINHALF_PTR 0x8000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
161
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
162 typedef __int32 LONG_PTR, *PLONG_PTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
163 typedef __uint32 ULONG_PTR, *PULONG_PTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
164 typedef __uint32 DWORD_PTR, *PDWORD_PTR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
165
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
166 #endif /* defined(_WIN64) || defined(_WIN32) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
167
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
168 typedef INT_PTR SSIZE_T, *PSSIZE_T;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
169 typedef UINT_PTR SIZE_T, *PSIZE_T;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
170
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
171 #ifdef __cplusplus
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
172 } /* extern "C" */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
173 #endif /* defined(__cplusplus) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
174
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
175 #endif /* !defined(__WINE_BASETSD_H) */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
176
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
177
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
178