From 4051e87d06a22a1372c54f3a26a97d0d40222f6e Mon Sep 17 00:00:00 2001 From: Parvatha Elangovan Date: Fri, 4 Jan 2008 15:43:57 +0000 Subject: [PATCH] Patch by Callum Lerwick. Fixed error during encoding using tile option in tcd.c --- ChangeLog | 3 +++ libopenjpeg/tcd.c | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 924455bd..22846dbe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,9 @@ What's New for OpenJPEG ! : changed + : added +January 4, 2008 +* [Parvatha] Patch by Callum Lerwick. Fixed bug during encoding using tile option in tcd.c + ---------------------- December 21, 2007 VERSION 1.3.0 RELEASED diff --git a/libopenjpeg/tcd.c b/libopenjpeg/tcd.c index f4a54553..be6f8f27 100644 --- a/libopenjpeg/tcd.c +++ b/libopenjpeg/tcd.c @@ -584,7 +584,9 @@ void tcd_init_encode(opj_tcd_t *tcd, opj_image_t * image, opj_cp_t * cp, int cur cblk->y0 = int_max(cblkystart, prc->y0); cblk->x1 = int_min(cblkxend, prc->x1); cblk->y1 = int_min(cblkyend, prc->y1); - cblk->data = (unsigned char*) opj_calloc(8192, sizeof(unsigned char)); + cblk->data = (unsigned char*) opj_calloc(8192+2, sizeof(unsigned char)); + /* FIXME: mqc_init_enc and mqc_byteout underrun the buffer if we don't do this. Why? */ + cblk->data += 2; cblk->layers = (opj_tcd_layer_t*) opj_calloc(100, sizeof(opj_tcd_layer_t)); cblk->passes = (opj_tcd_pass_t*) opj_calloc(100, sizeof(opj_tcd_pass_t)); } @@ -1504,3 +1506,4 @@ void tcd_free_decode_tile(opj_tcd_t *tcd, int tileno) { } +