From 2d6f317d7183d043dafecc7ec76f5ec5bcb07bf9 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 6 Jan 2012 17:45:21 +0100 Subject: jpegdec: support ilv=1 grayscale jpeg-ls. Fixes Ticket851 Signed-off-by: Michael Niedermayer --- libavcodec/jpeglsdec.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'libavcodec/jpeglsdec.c') diff --git a/libavcodec/jpeglsdec.c b/libavcodec/jpeglsdec.c index 5e98b64644..0139c8860f 100644 --- a/libavcodec/jpeglsdec.c +++ b/libavcodec/jpeglsdec.c @@ -309,11 +309,12 @@ int ff_jpegls_decode_picture(MJpegDecodeContext *s, int near, int point_transfor } else if(ilv == 1) { /* line interleaving */ int j; int Rc[3] = {0, 0, 0}; + stride = (s->nb_components > 1) ? 3 : 1; memset(cur, 0, s->picture.linesize[0]); - width = s->width * 3; + width = s->width * stride; for(i = 0; i < s->height; i++) { - for(j = 0; j < 3; j++) { - ls_decode_line(state, s, last + j, cur + j, Rc[j], width, 3, j, 8); + for(j = 0; j < stride; j++) { + ls_decode_line(state, s, last + j, cur + j, Rc[j], width, stride, j, 8); Rc[j] = last[j]; if (s->restart_interval && !--s->restart_count) { -- cgit v1.2.3