summaryrefslogtreecommitdiff
path: root/libavcodec/bmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/bmp.c')
-rw-r--r--libavcodec/bmp.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libavcodec/bmp.c b/libavcodec/bmp.c
index 8a73fb7ab5..43e7f2f91b 100644
--- a/libavcodec/bmp.c
+++ b/libavcodec/bmp.c
@@ -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: