]> granicus.if.org Git - openjpeg/commitdiff
bug fixed when asking for an index with more than (layer*resolutions*100) packets...
authorAntonin Descampe <antonin@gmail.com>
Wed, 21 Sep 2005 08:11:27 +0000 (08:11 +0000)
committerAntonin Descampe <antonin@gmail.com>
Wed, 21 Sep 2005 08:11:27 +0000 (08:11 +0000)
libopenjpeg/tcd.c

index 3c8abf6038a3d2e0ddd349f0f9500207d64981ca..ec1f6968379ace996a55f951db0cd2aa739ce1b9 100644 (file)
@@ -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();