forked from bartvdbraak/blender
Jpeg2000: Fixed for DCP pipeline
Profile and color space were not properly set.
This commit is contained in:
parent
2b632dd8c2
commit
6df3e3a959
@ -58,6 +58,11 @@ typedef struct img_folder {
|
||||
float *rates;
|
||||
} img_fol_t;
|
||||
|
||||
enum {
|
||||
DCP_CINEMA2K = 3,
|
||||
DCP_CINEMA4K = 4,
|
||||
};
|
||||
|
||||
static int check_jp2(const unsigned char *mem) /* J2K_CFMT */
|
||||
{
|
||||
return memcmp(JP2_HEAD, mem, sizeof(JP2_HEAD)) ? 0 : 1;
|
||||
@ -459,7 +464,6 @@ static void cinema_parameters(opj_cparameters_t *parameters)
|
||||
|
||||
/* 9-7 transform */
|
||||
parameters->irreversible = 1;
|
||||
|
||||
}
|
||||
|
||||
static void cinema_setup_encoder(opj_cparameters_t *parameters, opj_image_t *image, img_fol_t *img_fol)
|
||||
@ -479,6 +483,9 @@ static void cinema_setup_encoder(opj_cparameters_t *parameters, opj_image_t *ima
|
||||
image->comps[0].w, image->comps[0].h);
|
||||
parameters->cp_rsiz = STD_RSIZ;
|
||||
}
|
||||
else {
|
||||
parameters->cp_rsiz = DCP_CINEMA2K;
|
||||
}
|
||||
break;
|
||||
|
||||
case CINEMA4K_24:
|
||||
@ -494,6 +501,9 @@ static void cinema_setup_encoder(opj_cparameters_t *parameters, opj_image_t *ima
|
||||
image->comps[0].w, image->comps[0].h);
|
||||
parameters->cp_rsiz = STD_RSIZ;
|
||||
}
|
||||
else {
|
||||
parameters->cp_rsiz = DCP_CINEMA2K;
|
||||
}
|
||||
parameters->numpocs = initialise_4K_poc(parameters->POC, parameters->numresolution);
|
||||
break;
|
||||
case OFF:
|
||||
@ -607,7 +617,7 @@ static opj_image_t *ibuftoimage(ImBuf *ibuf, opj_cparameters_t *parameters)
|
||||
cinema_parameters(parameters);
|
||||
}
|
||||
|
||||
color_space = CLRSPC_SYCC;
|
||||
color_space = (ibuf->foptions.flag & JP2_YCC) ? CLRSPC_SYCC : CLRSPC_SRGB;
|
||||
prec = 12;
|
||||
numcomps = 3;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user