comparison intreadwrite.h @ 525:0d4beab5e3c9 libavutil

intreadwrite: support DEC compiler __unaligned type qualifier
author mru
date Fri, 18 Jul 2008 01:18:59 +0000
parents 3cb148a1c8cd
children bd4052d9050c
comparison
equal deleted inserted replaced
524:3cb148a1c8cd 525:0d4beab5e3c9
35 35
36 #define AV_WN16(a, b) (((struct unaligned_16 *) (a))->l) = (b) 36 #define AV_WN16(a, b) (((struct unaligned_16 *) (a))->l) = (b)
37 #define AV_WN32(a, b) (((struct unaligned_32 *) (a))->l) = (b) 37 #define AV_WN32(a, b) (((struct unaligned_32 *) (a))->l) = (b)
38 #define AV_WN64(a, b) (((struct unaligned_64 *) (a))->l) = (b) 38 #define AV_WN64(a, b) (((struct unaligned_64 *) (a))->l) = (b)
39 39
40 #else /* __GNUC__ */ 40 #elif defined(__DECC)
41
42 #define AV_RN16(a) (*((const __unaligned uint16_t*)(a)))
43 #define AV_RN32(a) (*((const __unaligned uint32_t*)(a)))
44 #define AV_RN64(a) (*((const __unaligned uint64_t*)(a)))
45
46 #define AV_WN16(a, b) *((__unaligned uint16_t*)(a)) = (b)
47 #define AV_WN32(a, b) *((__unaligned uint32_t*)(a)) = (b)
48 #define AV_WN64(a, b) *((__unaligned uint64_t*)(a)) = (b)
49
50 #else
41 51
42 #define AV_RN16(a) (*((const uint16_t*)(a))) 52 #define AV_RN16(a) (*((const uint16_t*)(a)))
43 #define AV_RN32(a) (*((const uint32_t*)(a))) 53 #define AV_RN32(a) (*((const uint32_t*)(a)))
44 #define AV_RN64(a) (*((const uint64_t*)(a))) 54 #define AV_RN64(a) (*((const uint64_t*)(a)))
45 55