dfa: use av_memcpy_backptr() where previously impossible
authorMans Rullgard <mans@mansr.com>
Tue, 23 Oct 2012 17:17:46 +0000 (18:17 +0100)
committerMans Rullgard <mans@mansr.com>
Tue, 23 Oct 2012 17:57:24 +0000 (18:57 +0100)
Since the requirement for output padding has been lifted, we can
use av_memcpy_backptr() here as well.

Signed-off-by: Mans Rullgard <mans@mansr.com>
libavcodec/dfa.c

index 46051e0..ae184d7 100644 (file)
@@ -122,9 +122,7 @@ static int decode_dsw1(GetByteContext *gb, uint8_t *frame, int width, int height
             count = ((v >> 13) + 2) << 1;
             if (frame - frame_start < offset || frame_end - frame < count)
                 return AVERROR_INVALIDDATA;
-            // can't use av_memcpy_backptr() since it can overwrite following pixels
-            for (v = 0; v < count; v++)
-                frame[v] = frame[v - offset];
+            av_memcpy_backptr(frame, offset, count);
             frame += count;
         } else if (bitbuf & (mask << 1)) {
             frame += bytestream2_get_le16(gb);