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

Luca Barbato lu_zero at gentoo.org
Tue Jan 16 15:42:53 CET 2018


On 16/01/2018 14:41, Martin Storsjö wrote:
> 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))
> 

Interesting :)

(patch ok)

lu


More information about the libav-devel mailing list