From ceb754d041f5f6327fd9195a5f43575af9516daa Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Mon, 22 Oct 2012 19:02:20 +0200 Subject: lzo: Use AV_COPY*U macros where appropriate --- libavutil/lzo.c | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) (limited to 'libavutil/lzo.c') diff --git a/libavutil/lzo.c b/libavutil/lzo.c index 0d1ec55e91..101d4f462e 100644 --- a/libavutil/lzo.c +++ b/libavutil/lzo.c @@ -23,6 +23,7 @@ #include "avutil.h" #include "common.h" +#include "intreadwrite.h" #include "lzo.h" /// Define if we may write up to 12 bytes beyond the output buffer. @@ -71,19 +72,6 @@ static inline int get_len(LZOContext *c, int x, int mask) return cnt; } -//#define UNALIGNED_LOADSTORE -#define BUILTIN_MEMCPY -#ifdef UNALIGNED_LOADSTORE -#define COPY2(d, s) *(uint16_t *)(d) = *(uint16_t *)(s); -#define COPY4(d, s) *(uint32_t *)(d) = *(uint32_t *)(s); -#elif defined(BUILTIN_MEMCPY) -#define COPY2(d, s) memcpy(d, s, 2); -#define COPY4(d, s) memcpy(d, s, 4); -#else -#define COPY2(d, s) (d)[0] = (s)[0]; (d)[1] = (s)[1]; -#define COPY4(d, s) (d)[0] = (s)[0]; (d)[1] = (s)[1]; (d)[2] = (s)[2]; (d)[3] = (s)[3]; -#endif - /** * @brief Copies bytes from input to output buffer with checking. * @param cnt number of bytes to copy, must be >= 0 @@ -101,7 +89,7 @@ static inline void copy(LZOContext *c, int cnt) c->error |= AV_LZO_OUTPUT_FULL; } #if defined(INBUF_PADDED) && defined(OUTBUF_PADDED) - COPY4(dst, src); + AV_COPY32U(dst, src); src += 4; dst += 4; cnt -= 4; @@ -145,16 +133,16 @@ static inline void memcpy_backptr(uint8_t *dst, int back, int cnt) memset(dst, *src, cnt); } else { #ifdef OUTBUF_PADDED - COPY2(dst, src); - COPY2(dst + 2, src + 2); + AV_COPY16U(dst, src); + AV_COPY16U(dst + 2, src + 2); src += 4; dst += 4; cnt -= 4; if (cnt > 0) { - COPY2(dst, src); - COPY2(dst + 2, src + 2); - COPY2(dst + 4, src + 4); - COPY2(dst + 6, src + 6); + AV_COPY16U(dst, src); + AV_COPY16U(dst + 2, src + 2); + AV_COPY16U(dst + 4, src + 4); + AV_COPY16U(dst + 6, src + 6); src += 8; dst += 8; cnt -= 8; -- cgit v1.2.3