[trunk] merge rev 1330/1331 from branch 1.5 onto trunk
This commit is contained in:
parent
d28e8f537a
commit
10cb93283a
|
@ -191,7 +191,7 @@ Apply collected palette data
|
||||||
@param color Collector for profile, cdef and pclr data
|
@param color Collector for profile, cdef and pclr data
|
||||||
@param image
|
@param image
|
||||||
*/
|
*/
|
||||||
static void jp2_apply_pclr(opj_image_t *image, opj_jp2_color_t *color);
|
static void jp2_apply_pclr(opj_jp2_color_t *color, opj_image_t *image, opj_common_ptr cinfo);
|
||||||
/**
|
/**
|
||||||
Collect palette data
|
Collect palette data
|
||||||
@param jp2 JP2 handle
|
@param jp2 JP2 handle
|
||||||
|
@ -761,8 +761,7 @@ static void free_color_data(opj_jp2_color_t *color)
|
||||||
if(color->icc_profile_buf) opj_free(color->icc_profile_buf);
|
if(color->icc_profile_buf) opj_free(color->icc_profile_buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void jp2_apply_pclr(opj_jp2_color_t *color, opj_image_t *image, opj_common_ptr cinfo)
|
||||||
static void jp2_apply_pclr(opj_image_t *image, opj_jp2_color_t *color)
|
|
||||||
{
|
{
|
||||||
opj_image_comp_t *old_comps, *new_comps;
|
opj_image_comp_t *old_comps, *new_comps;
|
||||||
OPJ_BYTE *channel_size, *channel_sign;
|
OPJ_BYTE *channel_size, *channel_sign;
|
||||||
|
@ -786,7 +785,13 @@ static void jp2_apply_pclr(opj_image_t *image, opj_jp2_color_t *color)
|
||||||
for(i = 0; i < nr_channels; ++i) {
|
for(i = 0; i < nr_channels; ++i) {
|
||||||
pcol = cmap[i].pcol; cmp = cmap[i].cmp;
|
pcol = cmap[i].pcol; cmp = cmap[i].cmp;
|
||||||
|
|
||||||
|
if( pcol < nr_channels )
|
||||||
new_comps[pcol] = old_comps[cmp];
|
new_comps[pcol] = old_comps[cmp];
|
||||||
|
else
|
||||||
|
{
|
||||||
|
opj_event_msg(cinfo, EVT_ERROR, "Error with pcol value %d (max: %d). skipping\n", pcol, nr_channels);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
/* Direct use */
|
/* Direct use */
|
||||||
if(cmap[i].mtyp == 0){
|
if(cmap[i].mtyp == 0){
|
||||||
|
@ -1471,7 +1476,7 @@ opj_image_t* opj_jp2_decode(opj_jp2_t *jp2, opj_cio_t *cio,
|
||||||
if( !color.jp2_pclr->cmap)
|
if( !color.jp2_pclr->cmap)
|
||||||
jp2_free_pclr(&color);
|
jp2_free_pclr(&color);
|
||||||
else
|
else
|
||||||
jp2_apply_pclr(image, &color);
|
jp2_apply_pclr(&color, image, cinfo);
|
||||||
}
|
}
|
||||||
if(color.icc_profile_buf)
|
if(color.icc_profile_buf)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue