diff options
author | Diego Biurrun <diego@biurrun.de> | 2012-10-22 19:02:20 +0200 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2012-10-23 18:45:50 +0200 |
commit | ceb754d041f5f6327fd9195a5f43575af9516daa (patch) | |
tree | 25ecd7f85744eda859d4e93152f2ebfd1c1e4a9e | |
parent | a9f0dce283f8ab2e70814244175253620a57eb56 (diff) | |
download | ffmpeg-ceb754d041f5f6327fd9195a5f43575af9516daa.tar.gz |
lzo: Use AV_COPY*U macros where appropriate
-rw-r--r-- | libavutil/lzo.c | 28 |
1 files changed, 8 insertions, 20 deletions
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; |