summaryrefslogtreecommitdiff
path: root/libopenjpeg/tcd.c
diff options
context:
space:
mode:
authorAntonin Descampe <antonin@gmail.com>2005-09-21 13:00:51 +0000
committerAntonin Descampe <antonin@gmail.com>2005-09-21 13:00:51 +0000
commitd6a523e091c46ba502329579b01df6ff2a7b3fde (patch)
treed67413a822f15a56c1eb4e4daad0c155503172b9 /libopenjpeg/tcd.c
parentac634b16399125777139f0b4efcd52555e2864cb (diff)
major change in the dwt-module, thanks to Ive (aka Reiner Wahler): thanks a lot ! See note in dwt.c for more details.
Diffstat (limited to 'libopenjpeg/tcd.c')
-rw-r--r--libopenjpeg/tcd.c69
1 files changed, 32 insertions, 37 deletions
diff --git a/libopenjpeg/tcd.c b/libopenjpeg/tcd.c
index ec1f6968..3e433209 100644
--- a/libopenjpeg/tcd.c
+++ b/libopenjpeg/tcd.c
@@ -1161,7 +1161,7 @@ tcd_encode_tile_pxm(int tileno, unsigned char *dest, int len,
tcd_tile_t *tile;
j2k_tcp_t *tcp = &tcd_cp->tcps[0];
j2k_tccp_t *tccp = &tcp->tccps[0];
-
+
tcd_tileno = tileno;
tcd_tile = tcd_image.tiles;
tcd_tcp = &tcd_cp->tcps[tileno];
@@ -1169,19 +1169,19 @@ tcd_encode_tile_pxm(int tileno, unsigned char *dest, int len,
/* 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));
}
@@ -1261,18 +1261,16 @@ tcd_encode_tile_pxm(int tileno, unsigned char *dest, int len,
}
/*----------------DWT---------------------*/
- /* time3=clock(); */
- for (compno = 0; compno < tile->numcomps; compno++) {
- tcd_tilecomp_t *tilec = &tile->comps[compno];
- if (tcd_tcp->tccps[compno].qmfbid == 1) {
- dwt_encode(tilec->data, tilec->x1 - tilec->x0,
- tilec->y1 - tilec->y0, tilec, tilec->numresolutions - 1);
- } else if (tcd_tcp->tccps[compno].qmfbid == 0) {
- dwt_encode_real(tilec->data, tilec->x1 - tilec->x0,
- tilec->y1 - tilec->y0, tilec,
- tilec->numresolutions - 1);
- }
+// mod Ive
+for (compno = 0; compno < tile->numcomps; compno++) {
+ tcd_tilecomp_t *tilec = &tile->comps[compno];
+ if (tcd_tcp->tccps[compno].qmfbid == 1) {
+ dwt_encode(tilec);
+ } else if (tcd_tcp->tccps[compno].qmfbid == 0) {
+ dwt_encode_real(tilec);
}
+}
+// /mod Ive
/*------------------TIER1-----------------*/
t1_init_luts();
@@ -1317,7 +1315,7 @@ tcd_encode_tile_pgx(int tileno, unsigned char *dest, int len,
tcd_tile_t *tile;
j2k_tcp_t *tcp = &tcd_cp->tcps[0];
j2k_tccp_t *tccp = &tcp->tccps[0];
-
+
tcd_tileno = tileno;
tcd_tile = tcd_image.tiles;
tcd_tcp = &tcd_cp->tcps[tileno];
@@ -1415,17 +1413,16 @@ tcd_encode_tile_pgx(int tileno, unsigned char *dest, int len,
/*----------------DWT---------------------*/
- for (compno = 0; compno < tile->numcomps; compno++) {
- tcd_tilecomp_t *tilec = &tile->comps[compno];
- if (tcd_tcp->tccps[compno].qmfbid == 1) {
- dwt_encode(tilec->data, tilec->x1 - tilec->x0,
- tilec->y1 - tilec->y0, tilec, tilec->numresolutions - 1);
- } else if (tcd_tcp->tccps[compno].qmfbid == 0) {
- dwt_encode_real(tilec->data, tilec->x1 - tilec->x0,
- tilec->y1 - tilec->y0, tilec,
- tilec->numresolutions - 1);
- }
+// mod Ive
+for (compno = 0; compno < tile->numcomps; compno++) {
+ tcd_tilecomp_t *tilec = &tile->comps[compno];
+ if (tcd_tcp->tccps[compno].qmfbid == 1) {
+ dwt_encode(tilec);
+ } else if (tcd_tcp->tccps[compno].qmfbid == 0) {
+ dwt_encode_real(tilec);
}
+}
+// /mod Ive
/*------------------TIER1-----------------*/
@@ -1508,20 +1505,18 @@ int tcd_decode_tile(unsigned char *src, int len, int tileno)
}
+ // mod Ive
if (tcd_tcp->tccps[compno].qmfbid == 1) {
- dwt_decode(tilec->data, tilec->x1 - tilec->x0,
- tilec->y1 - tilec->y0, tilec,
- tilec->numresolutions - 1,
- tilec->numresolutions - 1 -
- tcd_img->comps[compno].resno_decoded);
+ dwt_decode(tilec,
+ tilec->numresolutions - 1 -
+ tcd_img->comps[compno].resno_decoded);
} else {
- dwt_decode_real(tilec->data, tilec->x1 - tilec->x0,
- tilec->y1 - tilec->y0, tilec,
- tilec->numresolutions - 1,
+ dwt_decode_real(tilec,
tilec->numresolutions - 1 -
tcd_img->comps[compno].resno_decoded);
}
-
+ // /mod Ive
+
if (tile->comps[compno].numresolutions > 0)
tcd_img->comps[compno].factor =
tile->comps[compno].numresolutions -