[1.5] Revert r1642, as explained on https://groups.google.com/group/openjpeg/msg...
authorMathieu Malaterre <mathieu.malaterre@gmail.com>
Mon, 23 Apr 2012 19:26:19 +0000 (19:26 +0000)
committerMathieu Malaterre <mathieu.malaterre@gmail.com>
Mon, 23 Apr 2012 19:26:19 +0000 (19:26 +0000)
libopenjpeg/j2k.c

index c98d823ce4eaf883c34267abe47db7ab5320c0ca..d34c75faa7ba20cecbccf02986d524ba8d5484c2 100644 (file)
@@ -1477,26 +1477,6 @@ static void j2k_read_sod(opj_j2k_t *j2k) {
                truncate = 1;           /* Case of a truncate codestream */
        }       
 
-   {
-    unsigned char *s, *e; 
-       int skipped = 0;
-
-    s = cio_getbp(cio);
-    e = s + len;
-
-       if((unsigned int)(e - s) > 8) s = e - 8;
-
-       if(e[-2] == 0x00 && e[-1] == 0x00)
-  {
-       while(e > s)
- {
-       if(e[-2] == 0xff && e[-1] == 0xd9)      break;
-       --len; --e; ++skipped;
- }
-       if(skipped) truncate = 1;
-  }
-   }
-
        data = j2k->tile_data[curtileno];
        data = (unsigned char*) opj_realloc(data, (j2k->tile_len[curtileno] + len) * sizeof(unsigned char));
 
@@ -1876,15 +1856,9 @@ opj_image_t* j2k_decode(opj_j2k_t *j2k, opj_cio_t *cio, opj_codestream_info_t *c
 #endif /* USE_JPWL */
 
                if (id >> 8 != 0xff) {
-               if(cio_numbytesleft(cio) != 0) /* not end of file reached and no EOC */
-          {
-               opj_event_msg(cinfo, EVT_ERROR, "%.8x: expected a marker instead of %x\n", cio_tell(cio) - 2, id);
-               opj_image_destroy(image);
-               return 0;
-          }
-               opj_event_msg(cinfo, EVT_WARNING, "%.8x: expected a marker instead of %x\n", cio_tell(cio) - 2, id);
-               j2k->state = J2K_STATE_NEOC;
-               break;
+                       opj_image_destroy(image);
+                       opj_event_msg(cinfo, EVT_ERROR, "%.8x: expected a marker instead of %x\n", cio_tell(cio) - 2, id);
+                       return 0;
                }
                e = j2k_dec_mstab_lookup(id);
                /* Check if the marker is known*/
@@ -1975,15 +1949,9 @@ opj_image_t* j2k_decode_jpt_stream(opj_j2k_t *j2k, opj_cio_t *cio,  opj_codestre
                
                id = cio_read(cio, 2);
                if (id >> 8 != 0xff) {
-        if(cio_numbytesleft(cio) != 0) /* no end of file reached and no EOC */
-         {
-               opj_event_msg(cinfo, EVT_ERROR, "%.8x: expected a marker instead of %x\n", cio_tell(cio) - 2, id);
-               opj_image_destroy(image);
-               return 0;
-         }
-               opj_event_msg(cinfo, EVT_WARNING, "%.8x: expected a marker instead of %x\n", cio_tell(cio) - 2, id);
-               j2k->state = J2K_STATE_NEOC;
-               break;
+                       opj_image_destroy(image);
+                       opj_event_msg(cinfo, EVT_ERROR, "%.8x: expected a marker instead of %x\n", cio_tell(cio) - 2, id);
+                       return 0;
                }
                e = j2k_dec_mstab_lookup(id);
                if (!(j2k->state & e->states)) {