From a18ba9088042a60f49ada6c85f22f1318cfa0503 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jind=C5=99ich=20Makovi=C4=8Dka?= <makovick@gmail.com>
Date: Fri, 8 Apr 2005 21:34:48 +0000
Subject: [PATCH] Fix upside-down picture for BGR24 images (fixes
 pig-loco-rgb.avi) Patch by Jindrich Makovicka

Originally committed as revision 4112 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/loco.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/libavcodec/loco.c b/libavcodec/loco.c
index a0125549b1f..6f90c1ef146 100644
--- a/libavcodec/loco.c
+++ b/libavcodec/loco.c
@@ -195,14 +195,14 @@ static int decode_frame(AVCodecContext *avctx,
                                     p->linesize[1], buf, buf_size, 1);
         break;
     case LOCO_CRGB: case LOCO_RGB:
-        decoded = loco_decode_plane(l, p->data[0], avctx->width, avctx->height,
-                                    p->linesize[0], buf, buf_size, 3);
+        decoded = loco_decode_plane(l, p->data[0] + p->linesize[0]*(avctx->height-1), avctx->width, avctx->height,
+                                    -p->linesize[0], buf, buf_size, 3);
         buf += decoded; buf_size -= decoded;
-        decoded = loco_decode_plane(l, p->data[0] + 1, avctx->width, avctx->height,
-                                    p->linesize[0], buf, buf_size, 3);
+        decoded = loco_decode_plane(l, p->data[0] + p->linesize[0]*(avctx->height-1) + 1, avctx->width, avctx->height,
+                                    -p->linesize[0], buf, buf_size, 3);
         buf += decoded; buf_size -= decoded;
-        decoded = loco_decode_plane(l, p->data[0] + 2, avctx->width, avctx->height,
-                                    p->linesize[0], buf, buf_size, 3);
+        decoded = loco_decode_plane(l, p->data[0] + p->linesize[0]*(avctx->height-1) + 2, avctx->width, avctx->height,
+                                    -p->linesize[0], buf, buf_size, 3);
         break;
     case LOCO_RGBA:
         decoded = loco_decode_plane(l, p->data[0], avctx->width, avctx->height,
-- 
GitLab