From f6b8e0eae4374f339487a33e3e4fe5462d5816e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 25 Nov 2017 10:16:00 +0100 Subject: New upstream version 2.0.0 --- profile/profin.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) mode change 100644 => 100755 profile/profin.c (limited to 'profile/profin.c') diff --git a/profile/profin.c b/profile/profin.c old mode 100644 new mode 100755 index 9287cf9..92317bb --- a/profile/profin.c +++ b/profile/profin.c @@ -261,7 +261,8 @@ make_input_icc( int nooluts, /* nz to supress creation of output (PCS) shaper luts */ int nocied, /* nz to supress inclusion of .ti3 data in profile */ int verify, - int autowpsc, /* nz for Auto scale the WP to prevent clipping above WP patch */ + int autowpsc, /* 1 for Auto scale the WP to prevent clipping above WP patch */ + /* 2 = Force absolute colorimetric */ int clipovwp, /* nz for Clip cLUT values above WP */ double wpscale, /* >= 0.0 for media white point scale factor */ int dob2a, /* nz to create a B2A table as well */ @@ -274,7 +275,8 @@ make_input_icc( int spec, /* Use spectral data flag */ icxIllumeType illum, /* Spectral illuminant */ xspect *cust_illum, /* Possible custom illumination */ - icxObserverType observ, /* Spectral observer */ + icxObserverType obType, /* Spectral observer */ + xspect custObserver[3], /* If obType = icxOT_custom */ double smooth, /* RSPL smoothing factor, -ve if raw */ double avgdev, /* reading Average Deviation as a proportion of the input range */ profxinf *xpi /* Optional Profile creation extra data */ @@ -784,7 +786,7 @@ make_input_icc( illum = icxIT_none; cust_illum = NULL; } - if ((sp2cie = new_xsp2cie(illum, cust_illum, observ, NULL, + if ((sp2cie = new_xsp2cie(illum, cust_illum, obType, custObserver, wantLab ? icSigLabData : icSigXYZData, icxClamp)) == NULL) error("Creation of spectral conversion object failed"); @@ -835,8 +837,10 @@ make_input_icc( flags |= ICX_SET_WHITE; /* Compute & use white */ /* ICX_SET_WHITE_C isn't applicable to matrix profiles */ - if (autowpsc) + if (autowpsc == 1) flags |= ICX_SET_WHITE_US; /* Compute & use white without scaling to L */ + else if (autowpsc == 2) + flags |= ICX_SET_WHITE_ABS; /* Set dummy D50 white point to force absolute intent */ flags |= ICX_WRITE_WBL; /* Matrix: write white/black/luminence */ @@ -1117,8 +1121,10 @@ make_input_icc( flags |= ICX_SET_WHITE; /* Compute & use white */ if (clipovwp) flags |= ICX_SET_WHITE_C; /* Compute & use white and clip cLUT over D50 */ - else if (autowpsc) + else if (autowpsc == 1) flags |= ICX_SET_WHITE_US; /* Compute & use white without scaling to L */ + else if (autowpsc == 2) + flags |= ICX_SET_WHITE_ABS; /* Set dummy D50 white point to force absolute intent */ /* Setup RGB -> Lab conversion object from scattered data. */ /* Note that we've layered it on a native XYZ icc profile. */ -- cgit v1.2.3