OSDN Git Service

This patch adds mingw32 cross-compilation support to HandBrake trunk to
[handbrake-jp/handbrake-jp-git.git] / contrib / libdvdread / P04-mingw-endian-macros.patch
1 diff -Naur libdvdread.orig/dvdread/bswap.h libdvdread/dvdread/bswap.h
2 --- libdvdread.orig/dvdread/bswap.h     2006-06-06 16:03:37.000000000 -0400
3 +++ libdvdread/dvdread/bswap.h  2009-03-13 21:05:23.000000000 -0400
4 @@ -83,6 +83,25 @@
5  #define B2N_32(x) x = OSSwapBigToHostConstInt32(x)
6  #define B2N_64(x) x = OSSwapBigToHostConstInt64(x)
7  
8 +#elif defined(__MINGW32__)
9 +#define B2N_16(x)                               \
10 +  x = ((((x) & 0xff00) >> 8) |                  \
11 +       (((x) & 0x00ff) << 8))
12 +#define B2N_32(x)                               \
13 +  x = ((((x) & 0xff000000) >> 24) |             \
14 +       (((x) & 0x00ff0000) >>  8) |             \
15 +       (((x) & 0x0000ff00) <<  8) |             \
16 +       (((x) & 0x000000ff) << 24))
17 +#define B2N_64(x)                               \
18 +  x = ((((x) & 0xff00000000000000ULL) >> 56) |     \
19 +       (((x) & 0x00ff000000000000ULL) >> 40) |     \
20 +       (((x) & 0x0000ff0000000000ULL) >> 24) |     \
21 +       (((x) & 0x000000ff00000000ULL) >>  8) |     \
22 +       (((x) & 0x00000000ff000000ULL) <<  8) |     \
23 +       (((x) & 0x0000000000ff0000ULL) << 24) |     \
24 +       (((x) & 0x000000000000ff00ULL) << 40) |     \
25 +       (((x) & 0x00000000000000ffULL) << 56))
26 +
27  #else
28  #if defined(__FreeBSD__) || defined(__sun) || defined(__bsdi__) || defined(WIN32) || defined(__BEOS__) || defined(__INTERIX)
29  /* These systems don't have swap macros */