OSDN Git Service

Make BMP decoder produce flipped picture with RLE compression.
authorKostya Shishkov <kostya.shishkov@gmail.com>
Thu, 1 Oct 2009 05:46:17 +0000 (05:46 +0000)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Thu, 1 Oct 2009 05:46:17 +0000 (05:46 +0000)
This fixes issue 1415

Originally committed as revision 20112 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/bmp.c

index 8a73fb7..43e7f2f 100644 (file)
@@ -253,7 +253,15 @@ static int bmp_decode_frame(AVCodecContext *avctx,
         buf = buf0 + hsize;
     }
     if(comp == BMP_RLE4 || comp == BMP_RLE8){
+        if(height < 0){
+            p->data[0] += p->linesize[0] * (avctx->height - 1);
+            p->linesize[0] = -p->linesize[0];
+        }
         ff_msrle_decode(avctx, (AVPicture*)p, depth, buf, dsize);
+        if(height < 0){
+            p->data[0] += p->linesize[0] * (avctx->height - 1);
+            p->linesize[0] = -p->linesize[0];
+        }
     }else{
         switch(depth){
         case 1: