*/
static opj_bool jp2_read_boxhdr(opj_common_ptr cinfo, opj_cio_t *cio, opj_jp2_box_t *box);
/*static void jp2_write_url(opj_cio_t *cio, char *Idx_file);*/
-/**
-Read the IHDR box - Image Header box
-@param jp2 JP2 handle
-@param cio Input buffer stream
-@return Returns true if successful, returns false otherwise
-*/
-static opj_bool jp2_read_ihdr(opj_jp2_t *jp2, opj_cio_t *cio);
/**
* Reads a IHDR box - Image Header box
}
#endif
-static opj_bool jp2_read_ihdr(opj_jp2_t *jp2, opj_cio_t *cio) {
- opj_jp2_box_t box;
-
- opj_common_ptr cinfo = jp2->cinfo;
-
- jp2_read_boxhdr(cinfo, cio, &box);
- if (JP2_IHDR != box.type) {
- opj_event_msg(cinfo, EVT_ERROR, "Expected IHDR Marker\n");
- return OPJ_FALSE;
- }
-
- jp2->h = cio_read(cio, 4); /* HEIGHT */
- jp2->w = cio_read(cio, 4); /* WIDTH */
- jp2->numcomps = cio_read(cio, 2); /* NC */
- jp2->comps = (opj_jp2_comps_t*) opj_malloc(jp2->numcomps * sizeof(opj_jp2_comps_t));
-
- jp2->bpc = cio_read(cio, 1); /* BPC */
-
- jp2->C = cio_read(cio, 1); /* C */
- jp2->UnkC = cio_read(cio, 1); /* UnkC */
- jp2->IPR = cio_read(cio, 1); /* IPR */
-
- if (cio_tell(cio) - box.init_pos != box.length) {
- opj_event_msg(cinfo, EVT_ERROR, "Error with IHDR Box\n");
- return OPJ_FALSE;
- }
-
- return OPJ_TRUE;
-}
/**
* Reads a IHDR box - Image Header box