Make MS RLE decoder produce both bottom-up and top-down pictures

Originally committed as revision 20111 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Kostya Shishkov 2009-10-01 05:42:55 +00:00
parent 535497f193
commit b08de903cd
1 changed files with 4 additions and 2 deletions

View File

@ -167,7 +167,8 @@ static int msrle_decode_8_16_24_32(AVCodecContext *avctx, AVPicture *pic, int de
continue; continue;
} }
// Copy data // Copy data
if (output + p2 * (depth >> 3) > output_end) { if ((pic->linesize[0] > 0 && output + p2 * (depth >> 3) > output_end)
||(pic->linesize[0] < 0 && output + p2 * (depth >> 3) < output_end)) {
src += p2 * (depth >> 3); src += p2 * (depth >> 3);
continue; continue;
} }
@ -211,7 +212,8 @@ static int msrle_decode_8_16_24_32(AVCodecContext *avctx, AVPicture *pic, int de
src += 4; src += 4;
break; break;
} }
if (output + p1 * (depth >> 3) > output_end) if ((pic->linesize[0] > 0 && output + p1 * (depth >> 3) > output_end)
||(pic->linesize[0] < 0 && output + p1 * (depth >> 3) < output_end))
continue; continue;
for(i = 0; i < p1; i++) { for(i = 0; i < p1; i++) {
switch(depth){ switch(depth){