From: Antonin Descampe Date: Wed, 21 Sep 2005 08:11:27 +0000 (+0000) Subject: bug fixed when asking for an index with more than (layer*resolutions*100) packets... X-Git-Tag: opj0-97~11 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ac634b16399125777139f0b4efcd52555e2864cb;p=openjpeg bug fixed when asking for an index with more than (layer*resolutions*100) packets per tile (2nd correction) --- diff --git a/libopenjpeg/tcd.c b/libopenjpeg/tcd.c index 3c8abf60..ec1f6968 100644 --- a/libopenjpeg/tcd.c +++ b/libopenjpeg/tcd.c @@ -1312,7 +1312,7 @@ tcd_encode_tile_pgx(int tileno, unsigned char *dest, int len, info_image * info_IM) { int compno; - int l, i; + int l, i, npck=0; clock_t time; tcd_tile_t *tile; j2k_tcp_t *tcp = &tcd_cp->tcps[0]; @@ -1323,31 +1323,24 @@ tcd_encode_tile_pgx(int tileno, unsigned char *dest, int len, tcd_tcp = &tcd_cp->tcps[tileno]; tile = tcd_tile; /* INDEX >> "Precinct_nb_X et Precinct_nb_Y" */ - if (info_IM->index_on) { - tcd_tilecomp_t *tilec_idx = &tile->comps[0]; //Based on Component 0 - + for (i = 0; i < tilec_idx->numresolutions; i++) { - + tcd_resolution_t *res_idx = &tilec_idx->resolutions[i]; - - - + 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 */ /*---------------TILE-------------------*/ time = clock();