From 7e40a9475a8c29239b46133ee61675fe6cc76e92 Mon Sep 17 00:00:00 2001
From: Parvatha Elangovan
Date: Wed, 19 Sep 2007 14:56:19 +0000
Subject: Fixed issues with generation of SOP marker.
---
libopenjpeg/j2k.c | 6 ++++--
libopenjpeg/t2.c | 5 +++--
libopenjpeg/tcd.h | 2 ++
3 files changed, 9 insertions(+), 4 deletions(-)
(limited to 'libopenjpeg')
diff --git a/libopenjpeg/j2k.c b/libopenjpeg/j2k.c
index a58ab6c3..01c6bfdf 100644
--- a/libopenjpeg/j2k.c
+++ b/libopenjpeg/j2k.c
@@ -1444,8 +1444,10 @@ static void j2k_write_sod(opj_j2k_t *j2k, void *tile_coder) {
for (layno = 0; layno < tcp->numlayers; layno++) {
tcp->rates[layno] -= tcp->rates[layno] ? (j2k->sod_start / (cp->th * cp->tw)) : 0;
}
- if(cstr_info && (j2k->cur_tp_num == 0)) {
- cstr_info->packno = 0;
+ if(j2k->cur_tp_num == 0){
+ tcd->tcd_image->tiles->packno = 0;
+ if(cstr_info)
+ cstr_info->packno = 0;
}
l = tcd_encode_tile(tcd, j2k->curtileno, cio_getbp(cio), cio_numbytesleft(cio) - 2, cstr_info);
diff --git a/libopenjpeg/t2.c b/libopenjpeg/t2.c
index 84d8bee7..a30bb53a 100644
--- a/libopenjpeg/t2.c
+++ b/libopenjpeg/t2.c
@@ -147,8 +147,8 @@ static int t2_encode_packet(opj_tcd_tile_t * tile, opj_tcp_t * tcp, opj_pi_itera
c[1] = 145;
c[2] = 0;
c[3] = 4;
- c[4] = (cstr_info->packno % 65536) / 256;
- c[5] = (cstr_info->packno % 65536) % 256;
+ c[4] = (tile->packno % 65536) / 256;
+ c[5] = (tile->packno % 65536) % 256;
c += 6;
}
/* */
@@ -656,6 +656,7 @@ int t2_encode_packets(opj_t2_t* t2,int tileno, opj_tcd_tile_t *tile, int maxlaye
cstr_info->packno++;
}
/* << INDEX */
+ tile->packno++;
}
}
}
diff --git a/libopenjpeg/tcd.h b/libopenjpeg/tcd.h
index f7c64e4d..787cb8fa 100644
--- a/libopenjpeg/tcd.h
+++ b/libopenjpeg/tcd.h
@@ -144,6 +144,8 @@ typedef struct opj_tcd_tile {
int numpix; /* add fixed_quality */
double distotile; /* add fixed_quality */
double distolayer[100]; /* add fixed_quality */
+ /** packet number */
+ int packno;
} opj_tcd_tile_t;
/**
--
cgit v1.2.3