diff options
author | Mans Rullgard <mans@mansr.com> | 2012-10-23 18:05:45 +0100 |
---|---|---|
committer | Mans Rullgard <mans@mansr.com> | 2012-10-23 18:57:24 +0100 |
commit | d82f188504410fdfa446c5682c128c31bb5851a4 (patch) | |
tree | 5b0cdd6a46a26f04d11e962a87b25da3c3e15631 /libavutil | |
parent | ceb754d041f5f6327fd9195a5f43575af9516daa (diff) | |
download | ffmpeg-d82f188504410fdfa446c5682c128c31bb5851a4.tar.gz |
Remove need for padding in av_memcpy_backptr()
Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavutil')
-rw-r--r-- | libavutil/lzo.c | 16 | ||||
-rw-r--r-- | libavutil/lzo.h | 2 |
2 files changed, 9 insertions, 9 deletions
diff --git a/libavutil/lzo.c b/libavutil/lzo.c index 101d4f462e..c17d32f362 100644 --- a/libavutil/lzo.c +++ b/libavutil/lzo.c @@ -132,13 +132,14 @@ static inline void memcpy_backptr(uint8_t *dst, int back, int cnt) if (back == 1) { memset(dst, *src, cnt); } else { -#ifdef OUTBUF_PADDED - AV_COPY16U(dst, src); - AV_COPY16U(dst + 2, src + 2); - src += 4; - dst += 4; - cnt -= 4; - if (cnt > 0) { + if (cnt >= 4) { + AV_COPY16U(dst, src); + AV_COPY16U(dst + 2, src + 2); + src += 4; + dst += 4; + cnt -= 4; + } + if (cnt >= 8) { AV_COPY16U(dst, src); AV_COPY16U(dst + 2, src + 2); AV_COPY16U(dst + 4, src + 4); @@ -147,7 +148,6 @@ static inline void memcpy_backptr(uint8_t *dst, int back, int cnt) dst += 8; cnt -= 8; } -#endif if (cnt > 0) { int blocklen = back; while (cnt > blocklen) { diff --git a/libavutil/lzo.h b/libavutil/lzo.h index e3c6c01c6b..a84b9bd15d 100644 --- a/libavutil/lzo.h +++ b/libavutil/lzo.h @@ -61,7 +61,7 @@ int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen); /** * @brief deliberately overlapping memcpy implementation - * @param dst destination buffer; must be padded with 12 additional bytes + * @param dst destination buffer * @param back how many bytes back we start (the initial size of the overlapping window) * @param cnt number of bytes to copy, must be >= 0 * |