Remove need for padding in av_memcpy_backptr()

Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
Mans Rullgard 2012-10-23 18:05:45 +01:00
parent ceb754d041
commit d82f188504
2 changed files with 9 additions and 9 deletions

View File

@ -132,13 +132,14 @@ static inline void memcpy_backptr(uint8_t *dst, int back, int cnt)
if (back == 1) { if (back == 1) {
memset(dst, *src, cnt); memset(dst, *src, cnt);
} else { } else {
#ifdef OUTBUF_PADDED if (cnt >= 4) {
AV_COPY16U(dst, src); AV_COPY16U(dst, src);
AV_COPY16U(dst + 2, src + 2); AV_COPY16U(dst + 2, src + 2);
src += 4; src += 4;
dst += 4; dst += 4;
cnt -= 4; cnt -= 4;
if (cnt > 0) { }
if (cnt >= 8) {
AV_COPY16U(dst, src); AV_COPY16U(dst, src);
AV_COPY16U(dst + 2, src + 2); AV_COPY16U(dst + 2, src + 2);
AV_COPY16U(dst + 4, src + 4); AV_COPY16U(dst + 4, src + 4);
@ -147,7 +148,6 @@ static inline void memcpy_backptr(uint8_t *dst, int back, int cnt)
dst += 8; dst += 8;
cnt -= 8; cnt -= 8;
} }
#endif
if (cnt > 0) { if (cnt > 0) {
int blocklen = back; int blocklen = back;
while (cnt > blocklen) { while (cnt > blocklen) {

View File

@ -61,7 +61,7 @@ int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen);
/** /**
* @brief deliberately overlapping memcpy implementation * @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 back how many bytes back we start (the initial size of the overlapping window)
* @param cnt number of bytes to copy, must be >= 0 * @param cnt number of bytes to copy, must be >= 0
* *