ljpeg: use the correct number of components in yuv
authorLuca Barbato <lu_zero@gentoo.org>
Tue, 14 May 2013 14:20:14 +0000 (16:20 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Mon, 20 May 2013 20:02:05 +0000 (22:02 +0200)
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
libavcodec/mjpegdec.c

index 83b40d9..896fa99 100644 (file)
@@ -711,10 +711,9 @@ static int ljpeg_decode_rgb_scan(MJpegDecodeContext *s, int predictor,
 }
 
 static int ljpeg_decode_yuv_scan(MJpegDecodeContext *s, int predictor,
-                                 int point_transform)
+                                 int point_transform, int nb_components)
 {
     int i, mb_x, mb_y;
-    const int nb_components = 3;
 
     for (mb_y = 0; mb_y < s->mb_height; mb_y++) {
         for (mb_x = 0; mb_x < s->mb_width; mb_x++) {
@@ -1098,7 +1097,8 @@ next_field:
                     return ret;
             } else {
                 if ((ret = ljpeg_decode_yuv_scan(s, predictor,
-                                                 point_transform)) < 0)
+                                                 point_transform,
+                                                 nb_components)) < 0)
                     return ret;
             }
         }