[libav-devel] [PATCH] intreadwrite: Use __unaligned in MSVC for ARM64 as well

Martin Storsjö martin at martin.st
Tue Jan 16 14:41:15 CET 2018


This attribute is supported for this architecture in MSVC as well
(but produces errors if used for 32 bit x86).
---
 libavutil/intreadwrite.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavutil/intreadwrite.h b/libavutil/intreadwrite.h
index 84685f0..94abb6c 100644
--- a/libavutil/intreadwrite.h
+++ b/libavutil/intreadwrite.h
@@ -192,7 +192,7 @@ union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias;
 #   define AV_RN(s, p) (((const union unaligned_##s *) (p))->l)
 #   define AV_WN(s, p, v) ((((union unaligned_##s *) (p))->l) = (v))
 
-#elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_X64)) && AV_HAVE_FAST_UNALIGNED
+#elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_X64) || defined(_M_ARM64)) && AV_HAVE_FAST_UNALIGNED
 
 #   define AV_RN(s, p) (*((const __unaligned uint##s##_t*)(p)))
 #   define AV_WN(s, p, v) (*((__unaligned uint##s##_t*)(p)) = (v))
-- 
2.7.4



More information about the libav-devel mailing list