Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2015-07-27 23:34:55 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2015-07-27 23:35:24 +0300
commit6df3e3a9591975ea9442183b331f2ca99fdc9ae8 (patch)
treeebeeac38171dc29393a8c9d844a7db039fc1b311 /source/blender/imbuf/intern/jp2.c
parent2b632dd8c2ca3fc7ad04f9c35bf1ef6f462ba5e5 (diff)
Jpeg2000: Fixed for DCP pipeline
Profile and color space were not properly set.
Diffstat (limited to 'source/blender/imbuf/intern/jp2.c')
-rw-r--r--source/blender/imbuf/intern/jp2.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/source/blender/imbuf/intern/jp2.c b/source/blender/imbuf/intern/jp2.c
index 7cb7636573b..570ca5ba06e 100644
--- a/source/blender/imbuf/intern/jp2.c
+++ b/source/blender/imbuf/intern/jp2.c
@@ -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;
}