From: Antonin Descampe Date: Tue, 20 Sep 2005 15:40:13 +0000 (+0000) Subject: bug fixed when asking for an index with more than (layer*resolutions*100) packets... X-Git-Tag: opj0-97~12 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a0513798bb231e7c770c1c488e880afe8359772d;p=openjpeg bug fixed when asking for an index with more than (layer*resolutions*100) packets per tile --- diff --git a/libopenjpeg/j2k.c b/libopenjpeg/j2k.c index 0af9f18a..65a08bfc 100644 --- a/libopenjpeg/j2k.c +++ b/libopenjpeg/j2k.c @@ -875,10 +875,6 @@ void j2k_write_sod() if (info_IM.index_on) { info_IM.tile[j2k_curtileno].end_header = cio_tell() + pos_correction - 1; - info_IM.tile[j2k_curtileno].packet = - (info_packet *) calloc(info_IM.Comp * info_IM.Layer * - (info_IM.Decomposition + 1) * 100, - sizeof(info_packet)); } /* << INDEX */ diff --git a/libopenjpeg/tcd.c b/libopenjpeg/tcd.c index f39d3403..3c8abf60 100644 --- a/libopenjpeg/tcd.c +++ b/libopenjpeg/tcd.c @@ -1156,7 +1156,7 @@ tcd_encode_tile_pxm(int tileno, unsigned char *dest, int len, info_image * info_IM) { int compno; - int l, i; + int l, i, npck=0; clock_t time7; tcd_tile_t *tile; j2k_tcp_t *tcp = &tcd_cp->tcps[0]; @@ -1176,11 +1176,14 @@ tcd_encode_tile_pxm(int tileno, unsigned char *dest, int len, info_IM->tile[tileno].pw[i] = res_idx->pw; info_IM->tile[tileno].ph[i] = res_idx->ph; + + npck+=res_idx->pw * res_idx->ph; info_IM->tile[tileno].pdx[i] = tccp->prcw[i]; info_IM->tile[tileno].pdy[i] = tccp->prch[i]; } + info_IM->tile[tileno].packet = (info_packet *) calloc(info_IM->Comp * info_IM->Layer * npck, sizeof(info_packet)); } /* << INDEX */