48 cmsHPROFILE hOutProfile,
int intent, gboolean black_point_compensation)
50 cmsHTRANSFORM hTransform;
51 cmsUInt32Number wInput, wOutput;
59 OutputColorSpace = _cmsLCMScolorSpace(cmsGetColorSpace(hOutProfile));
62 hTransform = cmsCreateTransform
66 black_point_compensation ? cmsFLAGS_BLACKPOINTCOMPENSATION : 0);
70 fprintf(stderr,
"error printer profile may be corrupted\n");
78 const uint8_t *ptr_in = (uint8_t *)*in;
79 uint8_t *ptr_out = (uint8_t *)
out;
82 cmsDoTransform(hTransform, (
const void *)&ptr_in[
k*
width*3], (
void *)&ptr_out[
k*
width*3],
width);
86 const uint16_t *ptr_in = (uint16_t *)*in;
87 uint8_t *ptr_out = (uint8_t *)
out;
90 cmsDoTransform(hTransform, (
const void *)&ptr_in[
k*
width*3], (
void *)&ptr_out[
k*
width*3],
width);
93 cmsDeleteTransform(hTransform);
int dt_apply_printer_profile(void **in, uint32_t width, uint32_t height, int bpp, cmsHPROFILE hInProfile, cmsHPROFILE hOutProfile, int intent, gboolean black_point_compensation)