From 00262ac20a76b28abb5aae563c929ec4e0c7694d Mon Sep 17 00:00:00 2001 From: Thibaut Mattern Date: Wed, 8 Oct 2003 22:56:38 +0000 Subject: Adds LE_64, ME_64, BE_64... CVS patchset: 5477 CVS date: 2003/10/08 22:56:38 --- src/xine-engine/bswap.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src') diff --git a/src/xine-engine/bswap.h b/src/xine-engine/bswap.h index 1532ff758..a776fc7bf 100644 --- a/src/xine-engine/bswap.h +++ b/src/xine-engine/bswap.h @@ -94,15 +94,19 @@ inline static unsigned long long int ByteSwap64(unsigned long long int x) #define ABE_16(x) (be2me_16(*(uint16_t*)(x))) #define ABE_32(x) (be2me_32(*(uint32_t*)(x))) +#define ABE_64(x) (be2me_64(*(uint64_t*)(x))) #define ALE_16(x) (le2me_16(*(uint16_t*)(x))) #define ALE_32(x) (le2me_32(*(uint32_t*)(x))) +#define ALE_64(x) (le2me_64(*(uint64_t*)(x))) #ifdef ARCH_X86 #define BE_16(x) ABE_16(x) #define BE_32(x) ABE_32(x) +#define BE_64(x) ABE_64(x) #define LE_16(x) ALE_16(x) #define LE_32(x) ALE_32(x) +#define LE_64(x) ALE_64(x) #else @@ -111,24 +115,44 @@ inline static unsigned long long int ByteSwap64(unsigned long long int x) (((uint8_t*)(x))[1] << 16) | \ (((uint8_t*)(x))[2] << 8) | \ ((uint8_t*)(x))[3]) +#define BE_64(x) ((uint64_t)(((uint8_t*)(x))[0] << 56) | \ + (uint64_t)(((uint8_t*)(x))[1] << 48) | \ + (uint64_t)(((uint8_t*)(x))[2] << 40) | \ + (uint64_t)(((uint8_t*)(x))[3] << 32) | \ + (uint64_t)(((uint8_t*)(x))[4] << 24) | \ + (uint64_t)(((uint8_t*)(x))[5] << 16) | \ + (uint64_t)(((uint8_t*)(x))[6] << 8) | \ + (uint64_t)((uint8_t*)(x))[7]) #define LE_16(x) ((((uint8_t*)(x))[1] << 8) | ((uint8_t*)(x))[0]) #define LE_32(x) ((((uint8_t*)(x))[3] << 24) | \ (((uint8_t*)(x))[2] << 16) | \ (((uint8_t*)(x))[1] << 8) | \ ((uint8_t*)(x))[0]) +#define LE_64(x) ((uint64_t)(((uint8_t*)(x))[7] << 56) | \ + (uint64_t)(((uint8_t*)(x))[6] << 48) | \ + (uint64_t)(((uint8_t*)(x))[5] << 40) | \ + (uint64_t)(((uint8_t*)(x))[4] << 32) | \ + (uint64_t)(((uint8_t*)(x))[3] << 24) | \ + (uint64_t)(((uint8_t*)(x))[2] << 16) | \ + (uint64_t)(((uint8_t*)(x))[1] << 8) | \ + (uint64_t)((uint8_t*)(x))[0]) #endif /* !ARCH_X86 */ #ifdef WORDS_BIGENDIAN #define ME_16(x) BE_16(x) #define ME_32(x) BE_32(x) +#define ME_64(x) BE_64(x) #define AME_16(x) ABE_16(x) #define AME_32(x) ABE_32(x) +#define AME_64(x) ABE_64(x) #else #define ME_16(x) LE_16(x) #define ME_32(x) LE_32(x) +#define ME_64(x) LE_64(x) #define AME_16(x) ALE_16(x) #define AME_32(x) ALE_32(x) +#define AME_64(x) ALE_64(x) #endif #endif -- cgit v1.2.3