[vlc-devel] commit: Revert broken part of 653bca0a937929bf4308bdac4232dde37b175a6e ( Rémi Denis-Courmont )

git version control git at videolan.org
Mon May 26 19:44:03 CEST 2008


vlc | branch: master | Rémi Denis-Courmont <rem at videolan.org> | Mon May 26 20:45:38 2008 +0300| [8562522f069409daccff92bfb4b38efb76e45fa4]

Revert broken part of 653bca0a937929bf4308bdac4232dde37b175a6e

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8562522f069409daccff92bfb4b38efb76e45fa4
---

 include/vlc_common.h |   24 ++++++++++++++----------
 1 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/include/vlc_common.h b/include/vlc_common.h
index d2db3d9..56e7e6d 100644
--- a/include/vlc_common.h
+++ b/include/vlc_common.h
@@ -89,17 +89,21 @@ typedef int64_t mtime_t;
  */
 typedef uint32_t vlc_fourcc_t;
 
-static inline uint32_t VLC_FOURCC (uint8_t a, uint8_t b, uint8_t c, uint8_t d)
-{
-    union { uint8_t b[4]; uint32_t dw; } v = { { a, b, c, d } };
-    return v.dw;
-}
+#ifdef WORDS_BIGENDIAN
+#   define VLC_FOURCC( a, b, c, d ) \
+        ( ((uint32_t)d) | ( ((uint32_t)c) << 8 ) \
+           | ( ((uint32_t)b) << 16 ) | ( ((uint32_t)a) << 24 ) )
+#   define VLC_TWOCC( a, b ) \
+        ( (uint16_t)(b) | ( (uint16_t)(a) << 8 ) )
 
-static inline uint16_t VLC_TWOCC (uint8_t a, uint8_t b)
-{
-    union { uint8_t b[2]; uint16_t w; } v = { { a, b } };
-    return v.w;
-}
+#else
+#   define VLC_FOURCC( a, b, c, d ) \
+        ( ((uint32_t)a) | ( ((uint32_t)b) << 8 ) \
+           | ( ((uint32_t)c) << 16 ) | ( ((uint32_t)d) << 24 ) )
+#   define VLC_TWOCC( a, b ) \
+        ( (uint16_t)(a) | ( (uint16_t)(b) << 8 ) )
+
+#endif
 
 static inline void __vlc_fourcc_to_char( vlc_fourcc_t fcc, char *psz_fourcc )
 {




More information about the vlc-devel mailing list