OPJ_BYTE *p_src,
OPJ_UINT32 * p_data_read,
OPJ_UINT32 p_max_len,
- struct opj_codestream_info_v2 *p_cstr_info)
+ opj_codestream_index_t *p_cstr_index)
{
OPJ_BYTE *l_current_data = p_src;
opj_pi_iterator_t *l_pi = 00;
OPJ_UINT32 pino;
- opj_image_header_t *l_image = p_t2->image;
+ opj_image_t *l_image = p_t2->image;
opj_cp_v2_t *l_cp = p_t2->cp;
opj_cp_v2_t *cp = p_t2->cp;
opj_tcp_v2_t *l_tcp = &(p_t2->cp->tcps[p_tile_no]);
OPJ_UINT32 curtp = 0;
OPJ_UINT32 tp_start_packno;
opj_packet_info_t *l_pack_info = 00;
- opj_image_comp_header_t* l_img_comp = 00;
+ opj_image_comp_t* l_img_comp = 00;
-
- if (p_cstr_info) {
- l_pack_info = p_cstr_info->tile[p_tile_no].packet;
+#ifdef TODO_MSD
+ if (p_cstr_index) {
+ l_pack_info = p_cstr_index->tile_index[p_tile_no].packet;
}
+#endif
/* create a packet iterator */
l_pi = pi_create_decode_v2(l_image, l_cp, p_tile_no);
p_max_len -= l_nb_bytes_read;
/* INDEX >> */
+#ifdef TODO_MSD
if(p_cstr_info) {
opj_tile_info_v2_t *info_TL = &p_cstr_info->tile[p_tile_no];
opj_packet_info_t *info_PK = &info_TL->packet[p_cstr_info->packno];
info_PK->end_ph_pos += info_PK->start_pos - 1; // End of packet header which now only represents the distance
++p_cstr_info->packno;
}
+#endif
/* << INDEX */
}
++l_current_pi;
}
/* INDEX >> */
+#ifdef TODO_MSD
if
(p_cstr_info) {
p_cstr_info->tile[p_tile_no].tp[curtp].tp_numpacks = p_cstr_info->packno - tp_start_packno; // Number of packets in last tile-part
}
+#endif
/* << INDEX */
/* don't forget to release pi */
* @param p_cp Image coding parameters.
* @return a new T2 handle if successful, NULL otherwise.
*/
-opj_t2_v2_t* t2_create_v2(
- opj_image_header_t *p_image,
- opj_cp_v2_t *p_cp)
+opj_t2_v2_t* t2_create_v2( opj_image_t *p_image,
+ opj_cp_v2_t *p_cp)
{
/* create the tcd structure */
opj_t2_v2_t *l_t2 = (opj_t2_v2_t*)opj_malloc(sizeof(opj_t2_v2_t));
- if
- (!l_t2)
- {
- return 00;
+ if (!l_t2) {
+ return NULL;
}
memset(l_t2,0,sizeof(opj_t2_t));
+
l_t2->image = p_image;
l_t2->cp = p_cp;
+
return l_t2;
}
*p_data_read = l_nb_total_bytes_read;
- return OPJ_FALSE;
+ return OPJ_TRUE;
}
static opj_bool t2_skip_packet(
the validity of cblocks parameters is selected from user (-W) */
/* let's check that we are not exceeding */
- if ((cblk->len + seg->newlen) > 8192) {
- opj_event_msg(t2->cinfo, EVT_WARNING,
+ if ((l_cblk->len + l_seg->newlen) > 8192) {
+ opj_event_msg(p_t2->cinfo, EVT_WARNING,
"JPWL: segment too long (%d) for codeblock %d (p=%d, b=%d, r=%d, c=%d)\n",
- seg->newlen, cblkno, precno, bandno, resno, compno);
+ l_seg->newlen, cblkno, p_pi->precno, bandno, p_pi->resno, p_pi->compno);
if (!JPWL_ASSUME) {
- opj_event_msg(t2->cinfo, EVT_ERROR, "JPWL: giving up\n");
- return -999;
+ opj_event_msg(p_t2->cinfo, EVT_ERROR, "JPWL: giving up\n");
+ return OPJ_FALSE;
}
- seg->newlen = 8192 - cblk->len;
- opj_event_msg(t2->cinfo, EVT_WARNING, " - truncating segment to %d\n", seg->newlen);
+ l_seg->newlen = 8192 - l_cblk->len;
+ opj_event_msg(p_t2->cinfo, EVT_WARNING, " - truncating segment to %d\n", l_seg->newlen);
break;
};
the validity of cblocks parameters is selected from user (-W) */
/* let's check that we are not exceeding */
- if ((cblk->len + seg->newlen) > 8192) {
- opj_event_msg(t2->cinfo, EVT_WARNING,
+ if ((l_cblk->len + l_seg->newlen) > 8192) {
+ opj_event_msg(p_t2->cinfo, EVT_WARNING,
"JPWL: segment too long (%d) for codeblock %d (p=%d, b=%d, r=%d, c=%d)\n",
- seg->newlen, cblkno, precno, bandno, resno, compno);
+ l_seg->newlen, cblkno, p_pi->precno, bandno, p_pi->resno, p_pi->compno);
if (!JPWL_ASSUME) {
- opj_event_msg(t2->cinfo, EVT_ERROR, "JPWL: giving up\n");
+ opj_event_msg(p_t2->cinfo, EVT_ERROR, "JPWL: giving up\n");
return -999;
}
- seg->newlen = 8192 - cblk->len;
- opj_event_msg(t2->cinfo, EVT_WARNING, " - truncating segment to %d\n", seg->newlen);
+ l_seg->newlen = 8192 - l_cblk->len;
+ opj_event_msg(p_t2->cinfo, EVT_WARNING, " - truncating segment to %d\n", l_seg->newlen);
break;
};