From: Måns Rullgård Date: Fri, 18 Jul 2008 01:18:59 +0000 (+0000) Subject: intreadwrite: support DEC compiler __unaligned type qualifier X-Git-Tag: v0.5~3627 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b7b38fb28abbf1c6e308fede822cf3222c9c2ac2;p=platform%2Fupstream%2Flibav.git intreadwrite: support DEC compiler __unaligned type qualifier Originally committed as revision 14275 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavutil/intreadwrite.h b/libavutil/intreadwrite.h index 3269f28..72ad5b3 100644 --- a/libavutil/intreadwrite.h +++ b/libavutil/intreadwrite.h @@ -37,7 +37,17 @@ struct unaligned_16 { uint16_t l; } __attribute__((packed)); #define AV_WN32(a, b) (((struct unaligned_32 *) (a))->l) = (b) #define AV_WN64(a, b) (((struct unaligned_64 *) (a))->l) = (b) -#else /* __GNUC__ */ +#elif defined(__DECC) + +#define AV_RN16(a) (*((const __unaligned uint16_t*)(a))) +#define AV_RN32(a) (*((const __unaligned uint32_t*)(a))) +#define AV_RN64(a) (*((const __unaligned uint64_t*)(a))) + +#define AV_WN16(a, b) *((__unaligned uint16_t*)(a)) = (b) +#define AV_WN32(a, b) *((__unaligned uint32_t*)(a)) = (b) +#define AV_WN64(a, b) *((__unaligned uint64_t*)(a)) = (b) + +#else #define AV_RN16(a) (*((const uint16_t*)(a))) #define AV_RN32(a) (*((const uint32_t*)(a)))