diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2019-09-28 19:14:30 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2019-09-28 19:14:30 +0000 |
commit | 425de37d2f9cde3b624819d5cb326e11afaf355e (patch) | |
tree | a2a49abd32eba5c4f27a77b9ea42389c5008c709 /converter/other/jpeg2000/libjasper/jpc/jpc_dec.c | |
parent | 11fd0bc3fdbe7b5eb9266a728a81d0bcac91fe32 (diff) | |
download | netpbm-mirror-425de37d2f9cde3b624819d5cb326e11afaf355e.tar.gz netpbm-mirror-425de37d2f9cde3b624819d5cb326e11afaf355e.tar.xz netpbm-mirror-425de37d2f9cde3b624819d5cb326e11afaf355e.zip |
Release 10.73.29
git-svn-id: http://svn.code.sf.net/p/netpbm/code/super_stable@3687 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'converter/other/jpeg2000/libjasper/jpc/jpc_dec.c')
-rw-r--r-- | converter/other/jpeg2000/libjasper/jpc/jpc_dec.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/converter/other/jpeg2000/libjasper/jpc/jpc_dec.c b/converter/other/jpeg2000/libjasper/jpc/jpc_dec.c index 72bd0126..92150525 100644 --- a/converter/other/jpeg2000/libjasper/jpc/jpc_dec.c +++ b/converter/other/jpeg2000/libjasper/jpc/jpc_dec.c @@ -595,7 +595,9 @@ static int jpc_dec_process_sod(jpc_dec_t *dec, jpc_ms_t *ms) if (!jpc_dec_cp_isvalid(tile->cp)) { return -1; } - jpc_dec_cp_prepare(tile->cp); + if (jpc_dec_cp_prepare(tile->cp)) { + return -1; + } if (jpc_dec_tileinit(dec, tile)) { return -1; } @@ -1250,6 +1252,15 @@ static int jpc_dec_process_siz(jpc_dec_t *dec, jpc_ms_t *ms) return -1; } + for (tileno = 0, tile = dec->tiles; + tileno < dec->numtiles; + ++tileno, ++tile) { + /* initialize all tiles with JPC_TILE_DONE so jpc_dec_destroy() knows + which ones need a jpc_dec_tilefini() call; they are not actually + "done", of course */ + tile->state = JPC_TILE_DONE; + } + for (tileno = 0, tile = dec->tiles; tileno < dec->numtiles; ++tileno, ++tile) { htileno = tileno % dec->numhtiles; @@ -1930,6 +1941,16 @@ static void jpc_dec_destroy(jpc_dec_t *dec) } if (dec->tiles) { + int tileno; + jpc_dec_tile_t *tile; + + for (tileno = 0, tile = dec->tiles; + tileno < dec->numtiles; + ++tileno, ++tile) { + if (tile->state != JPC_TILE_DONE) { + jpc_dec_tilefini(dec, tile); + } + } jas_free(dec->tiles); } |