diff options
| author | Parvatha Elangovan <p.elangovan@intopix.com> | 2007-09-19 14:56:19 +0000 |
|---|---|---|
| committer | Parvatha Elangovan <p.elangovan@intopix.com> | 2007-09-19 14:56:19 +0000 |
| commit | 7e40a9475a8c29239b46133ee61675fe6cc76e92 (patch) | |
| tree | a8861deaf49d535cb8e47420a81c25f48ac13cd7 /libopenjpeg | |
| parent | a6ba04cdf49772f2e90515b277f174a0849bc8b6 (diff) | |
Fixed issues with generation of SOP marker.
Diffstat (limited to 'libopenjpeg')
| -rw-r--r-- | libopenjpeg/j2k.c | 6 | ||||
| -rw-r--r-- | libopenjpeg/t2.c | 5 | ||||
| -rw-r--r-- | libopenjpeg/tcd.h | 2 |
3 files changed, 9 insertions, 4 deletions
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; } /* </SOP> */ @@ -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; /** |
