aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-10-24 14:10:44 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-10-24 14:10:44 +0200
commit5cf794e0c1f7b651de4b1a61a6786fb71e9679b3 (patch)
treedb09a4fe091885f7c4a86ffe71dab07b4a7f9c5d
parent5555d2075a26fc778fb8145473100e94d80a00c8 (diff)
parentd82f188504410fdfa446c5682c128c31bb5851a4 (diff)
downloadffmpeg-5cf794e0c1f7b651de4b1a61a6786fb71e9679b3.tar.gz
Merge commit 'd82f188504410fdfa446c5682c128c31bb5851a4'
* commit 'd82f188504410fdfa446c5682c128c31bb5851a4': Remove need for padding in av_memcpy_backptr() Conflicts: libavutil/lzo.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavutil/lzo.c16
-rw-r--r--libavutil/lzo.h2
2 files changed, 9 insertions, 9 deletions
diff --git a/libavutil/lzo.c b/libavutil/lzo.c
index c76d9a86d3..47fc767a06 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 14fb62dd7b..60b7065b15 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), must be > 0
* @param cnt number of bytes to copy, must be >= 0
*