diff options
| author | Antonin Descampe <antonin@gmail.com> | 2005-09-21 08:11:27 +0000 |
|---|---|---|
| committer | Antonin Descampe <antonin@gmail.com> | 2005-09-21 08:11:27 +0000 |
| commit | ac634b16399125777139f0b4efcd52555e2864cb (patch) | |
| tree | 6ef7204ec1960a675d6d3be076413368d201a707 /libopenjpeg | |
| parent | a0513798bb231e7c770c1c488e880afe8359772d (diff) | |
bug fixed when asking for an index with more than (layer*resolutions*100) packets per tile (2nd correction)
Diffstat (limited to 'libopenjpeg')
| -rw-r--r-- | libopenjpeg/tcd.c | 25 |
1 files changed, 9 insertions, 16 deletions
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(); |
