mj2_box_t box2;
int i;
opj_jp2_color_t color;
-
+ opj_bool ok;
+
mj2_read_boxhdr(&box, cio);
if (MJ2_MJ2 != box.type) {
cio_skip(cio,2); /* Pre-defined = -1 */
memset(&color, 0, sizeof(opj_jp2_color_t));
-
- if (!jp2_read_jp2h(&tk->jp2_struct, cio, &color)) {
- opj_event_msg(tk->cinfo, EVT_ERROR, "Error reading JP2H Box\n");
+ tk->jp2_struct.cinfo = tk->cinfo;
+
+ ok = jp2_read_jp2h(&tk->jp2_struct, cio, &color);
+
+ tk->jp2_struct.cinfo = NULL;
+
+ if(ok == OPJ_FALSE)
+ {
+ opj_event_msg(tk->cinfo, EVT_ERROR, "Error reading JP2H Box\n");
return 1;
- }
+ }
tk->jp2_struct.comps = (opj_jp2_comps_t*) opj_malloc(tk->jp2_struct.numcomps * sizeof(opj_jp2_comps_t));
tk->jp2_struct.cl = (unsigned int*) opj_malloc(sizeof(unsigned int));