From f7813a5324be39d13ab536c245d15dfc602a7849 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Sun, 29 Dec 2013 12:19:38 +0000 Subject: basic type mechanism working --- ffmpeg/libavcodec/msrledec.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'ffmpeg/libavcodec/msrledec.c') diff --git a/ffmpeg/libavcodec/msrledec.c b/ffmpeg/libavcodec/msrledec.c index 83d7d13..4d3da5b 100644 --- a/ffmpeg/libavcodec/msrledec.c +++ b/ffmpeg/libavcodec/msrledec.c @@ -184,9 +184,9 @@ static int msrle_decode_8_16_24_32(AVCodecContext *avctx, AVPicture *pic, } if ((depth == 8) || (depth == 24)) { - for(i = 0; i < p2 * (depth >> 3); i++) { - *output++ = bytestream2_get_byteu(gb); - } + bytestream2_get_bufferu(gb, output, p2 * (depth >> 3)); + output += p2 * (depth >> 3); + // RLE8 copy is actually padded - and runs are not! if(depth == 8 && (p2 & 1)) { bytestream2_skip(gb, 1); @@ -211,8 +211,8 @@ static int msrle_decode_8_16_24_32(AVCodecContext *avctx, AVPicture *pic, switch(depth){ case 8: pix[0] = bytestream2_get_byte(gb); - for(i = 0; i < p1; i++) - *output++ = pix[0]; + memset(output, pix[0], p1); + output += p1; break; case 16: pix16 = bytestream2_get_le16(gb); -- cgit v1.2.3