diff options
author | James Almer <jamrial@gmail.com> | 2017-03-15 21:20:44 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2017-03-15 21:20:44 -0300 |
commit | 30fe4b8d4ce2ae0272f983f454a94f27b62f8c67 (patch) | |
tree | ff57678b4e6de4f32e58eb9dfe27acaab64a1a79 /libavutil/intreadwrite.h | |
parent | 916dff9cb10220aa88241da33a56ddeb8906826c (diff) | |
parent | f79d847400d218cfd0b95f10358fe6e65ec3c9c4 (diff) | |
download | ffmpeg-30fe4b8d4ce2ae0272f983f454a94f27b62f8c67.tar.gz |
Merge commit 'f79d847400d218cfd0b95f10358fe6e65ec3c9c4'
* commit 'f79d847400d218cfd0b95f10358fe6e65ec3c9c4':
intreadwrite: Use the __unaligned keyword on MSVC for ARM and x86_64
Merged-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavutil/intreadwrite.h')
-rw-r--r-- | libavutil/intreadwrite.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavutil/intreadwrite.h b/libavutil/intreadwrite.h index 89d25ac170..d54d4b91d6 100644 --- a/libavutil/intreadwrite.h +++ b/libavutil/intreadwrite.h @@ -229,6 +229,11 @@ union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias; # define AV_RN(s, p) (*((const __unaligned uint##s##_t*)(p))) # define AV_WN(s, p, v) (*((__unaligned uint##s##_t*)(p)) = (v)) +#elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_X64)) && 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)) + #elif AV_HAVE_FAST_UNALIGNED # define AV_RN(s, p) (((const av_alias##s*)(p))->u##s) |