[FFmpeg-cvslog] r19657 - trunk/libavutil/intreadwrite.h
mru
subversion
Sun Aug 16 17:51:53 CEST 2009
Author: mru
Date: Sun Aug 16 17:51:52 2009
New Revision: 19657
Log:
intreadwrite: allow arch-specific 24-bit access macros
Modified:
trunk/libavutil/intreadwrite.h
Modified: trunk/libavutil/intreadwrite.h
==============================================================================
--- trunk/libavutil/intreadwrite.h Sun Aug 16 17:51:50 2009 (r19656)
+++ trunk/libavutil/intreadwrite.h Sun Aug 16 17:51:52 2009 (r19657)
@@ -25,7 +25,7 @@
/*
* Arch-specific headers can provide any combination of
- * AV_[RW][BLN](16|32|64) macros. Preprocessor symbols must be
+ * AV_[RW][BLN](16|24|32|64) macros. Preprocessor symbols must be
* defined, even if these are implemented as inline functions.
*/
@@ -249,20 +249,28 @@ struct unaligned_16 { uint16_t l; } __at
# define AV_WL64(p, v) AV_WL(64, p, v)
#endif
+#ifndef AV_RB24
#define AV_RB24(x) ((((const uint8_t*)(x))[0] << 16) | \
(((const uint8_t*)(x))[1] << 8) | \
((const uint8_t*)(x))[2])
+#endif
+#ifndef AV_WB24
#define AV_WB24(p, d) do { \
((uint8_t*)(p))[2] = (d); \
((uint8_t*)(p))[1] = (d)>>8; \
((uint8_t*)(p))[0] = (d)>>16; } while(0)
+#endif
+#ifndef AV_RL24
#define AV_RL24(x) ((((const uint8_t*)(x))[2] << 16) | \
(((const uint8_t*)(x))[1] << 8) | \
((const uint8_t*)(x))[0])
+#endif
+#ifndef AV_WL24
#define AV_WL24(p, d) do { \
((uint8_t*)(p))[0] = (d); \
((uint8_t*)(p))[1] = (d)>>8; \
((uint8_t*)(p))[2] = (d)>>16; } while(0)
+#endif
#endif /* AVUTIL_INTREADWRITE_H */
More information about the ffmpeg-cvslog
mailing list