changeset 4222:fa816309076b libavcodec

Decode non-interleaved scans
author kostya
date Tue, 21 Nov 2006 06:15:18 +0000
parents 643c7fd287e4
children e766498e81e9
files mjpeg.c
diffstat 1 files changed, 2 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/mjpeg.c	Mon Nov 20 20:41:31 2006 +0000
+++ b/mjpeg.c	Tue Nov 21 06:15:18 2006 +0000
@@ -1643,12 +1643,6 @@
         dprintf("decode_sos: invalid len (%d)\n", len);
         return -1;
     }
-    /* XXX: only interleaved scan accepted */
-    if ((nb_components != s->nb_components) && !s->ls && !s->progressive)
-    {
-        dprintf("decode_sos: components(%d) mismatch\n", nb_components);
-        return -1;
-    }
     vmax = 0;
     hmax = 0;
     for(i=0;i<nb_components;i++) {
@@ -1709,8 +1703,8 @@
         s->mb_width  = (s->width  + s->h_max * block_size - 1) / (s->h_max * block_size);
         s->mb_height = (s->height + s->v_max * block_size - 1) / (s->v_max * block_size);
     } else if(!s->ls) { /* skip this for JPEG-LS */
-        h = s->h_max / s->h_scount[s->comp_index[0]];
-        v = s->v_max / s->v_scount[s->comp_index[0]];
+        h = s->h_max / s->h_scount[0];
+        v = s->v_max / s->v_scount[0];
         s->mb_width  = (s->width  + h * block_size - 1) / (h * block_size);
         s->mb_height = (s->height + v * block_size - 1) / (v * block_size);
         s->nb_blocks[0] = 1;