From d10458c9e27a5901ab2bc74059fde99f7ff3c267 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A5ns=20Rullg=C3=A5rd?= <mans@mansr.com>
Date: Thu, 18 Feb 2010 13:40:19 +0000
Subject: [PATCH] Add alias-safe union typedefs

Originally committed as revision 21877 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavutil/intreadwrite.h | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/libavutil/intreadwrite.h b/libavutil/intreadwrite.h
index 81ba82de5c7..57fa83c3a6b 100644
--- a/libavutil/intreadwrite.h
+++ b/libavutil/intreadwrite.h
@@ -22,6 +22,28 @@
 #include <stdint.h>
 #include "config.h"
 #include "bswap.h"
+#include "common.h"
+
+typedef union {
+    uint64_t u64;
+    uint32_t u32[2];
+    uint16_t u16[4];
+    uint8_t  u8 [8];
+    double   f64;
+    float    f32[2];
+} av_alias av_alias64;
+
+typedef union {
+    uint32_t u32;
+    uint16_t u16[2];
+    uint8_t  u8 [4];
+    float    f32;
+} av_alias av_alias32;
+
+typedef union {
+    uint16_t u16;
+    uint8_t  u8 [2];
+} av_alias av_alias16;
 
 /*
  * Arch-specific headers can provide any combination of
-- 
GitLab