summaryrefslogtreecommitdiff
path: root/xicc
diff options
context:
space:
mode:
Diffstat (limited to 'xicc')
-rw-r--r--xicc/bt1886.c2
-rw-r--r--xicc/cam02.c28
-rw-r--r--xicc/iccgamut.c2
-rw-r--r--xicc/tiffgamut.c2
-rw-r--r--xicc/tiffgmts.c4
-rw-r--r--xicc/xicc.c90
-rw-r--r--xicc/xicc.h3
-rw-r--r--xicc/xicclu.c2
8 files changed, 40 insertions, 93 deletions
diff --git a/xicc/bt1886.c b/xicc/bt1886.c
index ddd6066..3f94dbe 100644
--- a/xicc/bt1886.c
+++ b/xicc/bt1886.c
@@ -107,8 +107,8 @@ void bt1886_setnop(bt1886_info *p) {
p->outsc = 1.0;
p->outo = 0.0;
p->outL = 0.0;
- p->tab[0] = 0.0;
p->tab[1] = 0.0;
+ p->tab[2] = 0.0;
}
/* Setup the bt1886_info for the given target black point, proportion of */
diff --git a/xicc/cam02.c b/xicc/cam02.c
index 376d2c8..5140f04 100644
--- a/xicc/cam02.c
+++ b/xicc/cam02.c
@@ -9,7 +9,7 @@
* Conference, with the addition of the Viewing Flare
* model described on page 487 of "Digital Color Management",
* by Edward Giorgianni and Thomas Madden, and the
- * Helmholtz-Kohlrausch effect, using the equation from
+ * Helmholtz-Kohlraush effect, using the equation from
* the Bradford-Hunt 96C model as detailed in Mark Fairchild's
* book "Color Appearance Models".
* The Slight modification to the Hunt-Pointer-Estevez matrix
@@ -40,9 +40,7 @@
/*
TTBD: Should convert to using Timo Kunkel and Erik Reinhard's simplified
- and improved version of CIECAM02
- [ "A Neurophysiology-Inspired Steady-State Color Appearance Model",
- ie. "CIECAM02-KR" ? ]
+ and improved version of CIECAM02 (ie. "CIECAM02-KR").
The rgbp compression has it's problems in terms of perceptual
uniformity. A color with one component near zero might shift
@@ -107,7 +105,7 @@
XYZ space, the J value used to multiply Chroma, is limited
to be equivalent to not less than A == 0.1.
- The Helmholtz-Kohlrausch effect is crafted to have resonable
+ The Helmholtz-Kohlraush effect is crafted to have resonable
effects over the range of J from 0 to 100, and have more
moderate effects outside this range.
@@ -138,11 +136,7 @@
#undef DISABLE_HPE /* Debug - disable just Hunt-Pointer_Estevez matrix */
#undef DISABLE_NONLIN /* Debug - wire rgbp to rgba */
#undef DISABLE_TTD /* Debug - disable ttd vector 'tilt' */
-#undef DISABLE_HHKR /* Debug - disable Helmholtz-Kohlrausch */
-
- /* We reduce the HK effect from the Hunt equation, in the */
- /* light of real wold experiments. */
-#define HHKR_MUL 0.25 /* [0.25] - Helmholtz-Kohlrausch strength multiplier */
+#undef DISABLE_HHKR /* Debug - disable Helmholtz-Kohlraush */
#ifdef ENABLE_COMPR
# define BC_WHMINY 0.2 /* [0.2] Compression direction minimum Y value */
@@ -175,7 +169,7 @@
#define DDULIMIT 0.34 /* [0.34] ab component k3:k1 ratio limit (must be < 1.0) */
#define SSMINcJ 0.005 /* [0.005] ab scale cJ minimum value */
#define JLIMIT 0.005 /* [0.005] J encoding cutover point straight line (0 - 1.0 range) */
-#define HKLIMIT 0.7 /* [0.7] Maximum Helmholtz-Kohlrausch lift out of 1.0 */
+#define HKLIMIT 0.7 /* [0.7] Maximum Helmholtz-Kohlraush lift */
#ifdef TRACKMINMAX
double minss = 1e60;
@@ -288,7 +282,7 @@ double Yf, /* Flare as a fraction of the reference white (Y range 0.0 .. 1.0) *
double Yg, /* Flare as a fraction of the adapting/surround (Y range 0.0 .. 1.0) */
double Gxyz[3], /* The Glare white coordinates (typically the Ambient color) */
/* If <= 0 will Wxyz will be used. */
-int hk /* Flag, NZ to use Helmholtz-Kohlrausch effect */
+int hk /* Flag, NZ to use Helmholtz-Kohlraush effect */
) {
double tt, t1, t2;
double tm[3][3];
@@ -946,10 +940,9 @@ double XYZ[3]
JJ = J;
#ifndef DISABLE_HHKR
- /* Helmholtz-Kohlrausch effect */
+ /* Helmholtz-Kohlraush effect */
if (s->hk && J < 1.0) {
-// double kk = C/300.0 * sin(DBL_PI * fabs(0.5 * (h - 90.0))/180.0);
- double kk = HHKR_MUL * C/300.0 * sin(DBL_PI * fabs(0.5 * (h - 90.0))/180.0);
+ double kk = C/300.0 * sin(DBL_PI * fabs(0.5 * (h - 90.0))/180.0);
if (kk > 1e-6) /* Limit kk to a reasonable range */
kk = 1.0/(s->hklimit + 1.0/kk);
JJ = J + (1.0 - (J > 0.0 ? J : 0.0)) * kk;
@@ -1042,10 +1035,9 @@ double Jab[3]
J = JJ;
#ifndef DISABLE_HHKR
- /* Undo Helmholtz-Kohlrausch effect */
+ /* Undo Helmholtz-Kohlraush effect */
if (s->hk && J < 1.0) {
-// double kk = C/300.0 * sin(DBL_PI * fabs(0.5 * (h - 90.0))/180.0);
- double kk = HHKR_MUL * C/300.0 * sin(DBL_PI * fabs(0.5 * (h - 90.0))/180.0);
+ double kk = C/300.0 * sin(DBL_PI * fabs(0.5 * (h - 90.0))/180.0);
if (kk > 1e-6) /* Limit kk to a reasonable range */
kk = 1.0/(s->hklimit + 1.0/kk);
J = (JJ - kk)/(1.0 - kk);
diff --git a/xicc/iccgamut.c b/xicc/iccgamut.c
index 77f8fdd..a77653f 100644
--- a/xicc/iccgamut.c
+++ b/xicc/iccgamut.c
@@ -86,7 +86,7 @@ void usage(char *diag) {
fprintf(stderr," b:background Background %% of image luminance (default 20)\n");
fprintf(stderr," l:imagewhite Image white in cd.m^2 if surround = auto (default 250)\n");
fprintf(stderr," f:flare Flare light %% of image luminance (default 0)\n");
- fprintf(stderr," g:glare Flare light %% of ambient (default %d)\n",XICC_DEFAULT_GLARE);
+ fprintf(stderr," g:glare Flare light %% of ambient (default 1)\n");
fprintf(stderr," g:X:Y:Z Flare color as XYZ (default media white, Abs: D50)\n");
fprintf(stderr," g:x:y Flare color as x, y\n");
fprintf(stderr," -s Create special cube surface topology plot\n");
diff --git a/xicc/tiffgamut.c b/xicc/tiffgamut.c
index e373fbd..9ddb62b 100644
--- a/xicc/tiffgamut.c
+++ b/xicc/tiffgamut.c
@@ -96,7 +96,7 @@ void usage(void) {
fprintf(stderr," b:background Background %% of image luminance (default 20)\n");
fprintf(stderr," l:imagewhite Image white in cd.m^2 if surround = auto (default 250)\n");
fprintf(stderr," f:flare Flare light %% of image luminance (default 0)\n");
- fprintf(stderr," g:glare Flare light %% of ambient (default %d)\n",XICC_DEFAULT_GLARE);
+ fprintf(stderr," g:glare Flare light %% of ambient (default 1)\n");
fprintf(stderr," g:X:Y:Z Flare color as XYZ (default media white, Abs: D50)\n");
fprintf(stderr," g:x:y Flare color as x, y\n");
fprintf(stderr," -O outputfile Override the default output filename.\n");
diff --git a/xicc/tiffgmts.c b/xicc/tiffgmts.c
index 446ea5c..c31f852 100644
--- a/xicc/tiffgmts.c
+++ b/xicc/tiffgmts.c
@@ -58,7 +58,7 @@ void usage(void) {
fprintf(stderr," -i intent p = perceptual, r = relative colorimetric,\n");
fprintf(stderr," s = saturation, a = absolute (default), d = profile default\n");
// fprintf(stderr," P = absolute perceptual, S = absolute saturation\n");
- fprintf(stderr," -p oride l = Lab_PCS (default), j = %s Appearance Jab\n",icxcam_description(cam_default));
+ fprintf(stderr," -p oride l = Lab_PCS (default), j = %s Appearance Jab\n",icxcam_description(cam_default),icxcam_description(cam_default));
fprintf(stderr," -o order n = normal (priority: lut > matrix > monochrome)\n");
fprintf(stderr," r = reverse (priority: monochrome > matrix > lut)\n");
fprintf(stderr," -c viewcond set appearance mode and viewing conditions for %s,\n",icxcam_description(cam_default));
@@ -77,7 +77,7 @@ void usage(void) {
fprintf(stderr," a:adaptation Adaptation luminance in cd.m^2 (default 50.0)\n");
fprintf(stderr," b:background Background %% of image luminance (default 20)\n");
fprintf(stderr," f:flare Flare light %% of image luminance (default 0)\n");
- fprintf(stderr," g:glare Flare light %% of ambient (default 2)\n");
+ fprintf(stderr," g:glare Flare light %% of ambient (default 1)\n");
fprintf(stderr," g:X:Y:Z Flare color as XYZ (default media white, Abs: D50)\n");
fprintf(stderr," g:x:y Flare color as x, y\n");
fprintf(stderr," -V L,a,b Overide normal vector direction for span\n");
diff --git a/xicc/xicc.c b/xicc/xicc.c
index 058f492..a7556d5 100644
--- a/xicc/xicc.c
+++ b/xicc/xicc.c
@@ -1704,7 +1704,7 @@ double *wp /* Provide white point if xicc is NULL */
Glare is assumed to be from the ambient light reflecting from the display
and also striking the observer directly, and is (typically) defaulted
- to 1% of ambient here. (too low ? Typical displays are 4-10%)
+ to 1% of ambient here.
*/
@@ -1719,7 +1719,7 @@ double *wp /* Provide white point if xicc is NULL */
vc->Lv = 250.0; /* Average viewing conditions ratio */
vc->Yb = 0.2; /* Grey world */
vc->Yf = 0.0; /* 0% flare */
- vc->Yg = 0.01 * XICC_DEFAULT_GLARE; /* 5% glare */
+ vc->Yg = 0.01; /* 1% glare */
}
}
else if (no == 2
@@ -1733,7 +1733,7 @@ double *wp /* Provide white point if xicc is NULL */
vc->Lv = 2000.0/3.1415; /* White of the image field */
vc->Yb = 0.2; /* Grey world */
vc->Yf = 0.0; /* 0% flare */
- vc->Yg = 0.01 * XICC_DEFAULT_GLARE; /* 5% glare */
+ vc->Yg = 0.01; /* 1% glare */
}
}
else if (no == 0
@@ -1747,7 +1747,7 @@ double *wp /* Provide white point if xicc is NULL */
vc->Lv = 500.0/3.1415; /* White of the image field */
vc->Yb = 0.2; /* Grey world */
vc->Yf = 0.0; /* 0% flare */
- vc->Yg = 0.01 * XICC_DEFAULT_GLARE; /* 5% glare */
+ vc->Yg = 0.01; /* 1% glare */
}
}
else if (no == 1
@@ -1761,7 +1761,7 @@ double *wp /* Provide white point if xicc is NULL */
vc->Lv = 150.0; /* White of the image field */
vc->Yb = 0.2; /* Grey world */
vc->Yf = 0.0; /* 0% flare */
- vc->Yg = 0.01 * XICC_DEFAULT_GLARE; /* 5% glare */
+ vc->Yg = 0.01; /* 1% glare */
}
}
else if (no == 4
@@ -1775,7 +1775,7 @@ double *wp /* Provide white point if xicc is NULL */
vc->Lv = 150.0; /* White of the image field */
vc->Yb = 0.2; /* Grey world */
vc->Yf = 0.0; /* 0% flare */
- vc->Yg = 0.01 * XICC_DEFAULT_GLARE; /* 5% glare */
+ vc->Yg = 0.01; /* 1% glare */
}
}
else if (no == 3
@@ -1789,7 +1789,7 @@ double *wp /* Provide white point if xicc is NULL */
vc->Lv = 120.0; /* White of the image field */
vc->Yb = 0.2; /* Grey world */
vc->Yf = 0.0; /* 0% flare */
- vc->Yg = 0.01 * XICC_DEFAULT_GLARE; /* 5% glare */
+ vc->Yg = 0.01; /* 1% glare */
}
}
else if (no == 5
@@ -1803,7 +1803,7 @@ double *wp /* Provide white point if xicc is NULL */
vc->Lv = 100.0; /* White of the image field */
vc->Yb = 0.2; /* Grey world */
vc->Yf = 0.0; /* 0% flare */
- vc->Yg = 0.01 * XICC_DEFAULT_GLARE; /* 5% glare */
+ vc->Yg = 0.01; /* 1% glare */
}
}
else if (no == 6
@@ -1817,7 +1817,7 @@ double *wp /* Provide white point if xicc is NULL */
vc->Lv = 80.0; /* White of the image field */
vc->Yb = 0.2; /* Grey world */
vc->Yf = 0.0; /* 0% flare */
- vc->Yg = 0.01 * XICC_DEFAULT_GLARE; /* 5% glare */
+ vc->Yg = 0.01; /* 1% glare */
}
}
else if (no == 7
@@ -1831,7 +1831,7 @@ double *wp /* Provide white point if xicc is NULL */
vc->Lv = 80.0; /* White of the image field */
vc->Yb = 0.2; /* Grey world */
vc->Yf = 0.0; /* 0% flare */
- vc->Yg = 0.01 * XICC_DEFAULT_GLARE; /* 5% glare */
+ vc->Yg = 0.01; /* 1% glare */
}
}
else if (no == 8
@@ -1845,7 +1845,7 @@ double *wp /* Provide white point if xicc is NULL */
vc->Yb = 0.2; /* Grey world */
vc->Lv = 1000.0/3.1415; /* White of the image field */
vc->Yf = 0.0; /* 0% flare */
- vc->Yg = 0.01 * XICC_DEFAULT_GLARE; /* 5% glare */
+ vc->Yg = 0.01; /* 1% glare */
}
}
else if (no == 9
@@ -1884,7 +1884,7 @@ double *wp /* Provide white point if xicc is NULL */
vc->La = 53.0; /* Dim, adapted to slide ? */
vc->Yb = 0.2; /* Grey world */
vc->Yf = 0.0; /* 0% flare */
- vc->Yg = 0.01 * XICC_DEFAULT_GLARE; /* 5% glare */
+ vc->Yg = 0.01; /* 1% glare */
}
}
else {
@@ -2023,7 +2023,6 @@ char *as /* Alias string selector, NULL for none */
gmi->gamcknf = 0.0;
gmi->gamxknf = 0.0;
gmi->gampwf = 0.0;
- gmi->gamlpwf = 0.0; /* No Linear Preserving Perceptual surface wghtg. factor */
gmi->gamswf = 0.0;
gmi->satenh = 0.0; /* No saturation enhancement */
}
@@ -2056,7 +2055,6 @@ char *as /* Alias string selector, NULL for none */
gmi->gamcknf = 0.0;
gmi->gamxknf = 0.0;
gmi->gampwf = 0.0;
- gmi->gamlpwf = 0.0; /* No Linear Preserving Perceptual surface wghtg. factor */
gmi->gamswf = 0.0;
gmi->satenh = 0.0; /* No saturation enhancement */
}
@@ -2082,7 +2080,6 @@ char *as /* Alias string selector, NULL for none */
gmi->gamcknf = 0.0;
gmi->gamxknf = 0.0;
gmi->gampwf = 0.0;
- gmi->gamlpwf = 0.0; /* No Linear Preserving Perceptual surface wghtg. factor */
gmi->gamswf = 0.0;
gmi->satenh = 0.0; /* No saturation enhancement */
}
@@ -2110,7 +2107,6 @@ char *as /* Alias string selector, NULL for none */
gmi->gamcknf = 0.0;
gmi->gamxknf = 0.0;
gmi->gampwf = 0.0;
- gmi->gamlpwf = 0.0; /* No Linear Preserving Perceptual surface wghtg. factor */
gmi->gamswf = 0.0;
gmi->satenh = 0.0; /* No saturation enhancement */
}
@@ -2137,7 +2133,6 @@ char *as /* Alias string selector, NULL for none */
gmi->gamcknf = 0.0; /* No knee in gamut compress */
gmi->gamxknf = 0.0; /* No knee in gamut expand */
gmi->gampwf = 0.0; /* No Perceptual surface weighting factor */
- gmi->gamlpwf = 0.0; /* No Linear Preserving Perceptual surface wghtg. factor */
gmi->gamswf = 0.0; /* No Saturation surface weighting factor */
gmi->satenh = 0.0; /* No saturation enhancement */
}
@@ -2163,10 +2158,9 @@ char *as /* Alias string selector, NULL for none */
gmi->bph = gmm_bendBP; /* extent and bend */
gmi->gamcpf = 1.0; /* Full gamut compression */
gmi->gamexf = 0.0; /* No gamut expansion */
- gmi->gamcknf = 1.0; /* Full Sigma knee in gamut compress */
+ gmi->gamcknf = 0.9; /* 0.9 High Sigma knee in gamut compress */
gmi->gamxknf = 0.0; /* No knee in gamut expand */
gmi->gampwf = 1.0; /* Full Perceptual surface weighting factor */
- gmi->gamlpwf = 0.0; /* No Linear Preserving Perceptual surface wghtg. factor */
gmi->gamswf = 0.0; /* No Saturation surface weighting factor */
gmi->satenh = 0.0; /* No saturation enhancement */
}
@@ -2190,49 +2184,18 @@ char *as /* Alias string selector, NULL for none */
gmi->bph = gmm_bendBP; /* extent and bend */
gmi->gamcpf = 1.0; /* Full gamut compression */
gmi->gamexf = 0.0; /* No gamut expansion */
- gmi->gamcknf = 1.0; /* Full Sigma knee in gamut compress */
+ gmi->gamcknf = 0.9; /* 0.9 High Sigma knee in gamut compress */
gmi->gamxknf = 0.0; /* No knee in gamut expand */
gmi->gampwf = 1.0; /* Full Perceptual surface weighting factor */
- gmi->gamlpwf = 0.0; /* No Linear Preserving Perceptual surface wghtg. factor */
gmi->gamswf = 0.0; /* No Saturation surface weighting factor */
gmi->satenh = 0.0; /* No saturation enhancement */
}
else if (no == 7
- || (as != NULL && stricmp(as,"lp") == 0)) {
-
- /* Align neutral axes and perceptually map white and black points, */
- /* perceptually compress out of gamut and map appearance space Jab to Jab, */
- /* and heavily weight preserving the luminance over saturation. */
- /* No neutral axis sigma enhancement. */
- no = 7;
- gmi->as = "lp";
- gmi->desc = "lp - Luminance Preserving Perceptual";
- gmi->icci = icPerceptual;
- gmi->usecas = perccas; /* Appearance space */
-// gmi->usecas = 0; /* Lab space */
- gmi->usemap = 1; /* Use gamut mapping */
- gmi->greymf = 1.0; /* Fully align grey axis */
- gmi->glumwcpf = 1.0; /* Fully compress grey axis at white end */
- gmi->glumwexf = 1.0; /* Fully expand grey axis at white end */
- gmi->glumbcpf = 1.0; /* Fully compress grey axis at black end */
- gmi->glumbexf = 1.0; /* Fully expand grey axis at black end */
- gmi->glumknf = 0.3; /* Low Sigma knee in grey compress/expand */
- gmi->bph = gmm_bendBP; /* extent and bend */
- gmi->gamcpf = 1.0; /* Full gamut compression */
- gmi->gamexf = 0.0; /* No gamut expansion */
- gmi->gamcknf = 1.3; /* [1.3] High Sigma knee in gamut compress */
- gmi->gamxknf = 0.0; /* No knee in gamut expand */
- gmi->gampwf = 0.0; /* No Perceptual weighting factor */
- gmi->gamlpwf = 1.0; /* Full Linear Preserving Perceptual wghtg. factor */
- gmi->gamswf = 0.0; /* No Saturation weighting factor */
- gmi->satenh = 0.0; /* No saturation enhancement */
- }
- else if (no == 8
|| (as != NULL && stricmp(as,"ms") == 0)) {
/* Align neutral axes and perceptually map white and black points, */
/* perceptually compress and expand to match gamuts and map Jab to Jab. */
- no = 8;
+ no = 7;
gmi->as = "ms";
gmi->desc = "ms - Saturation";
gmi->icci = icSaturation;
@@ -2247,19 +2210,18 @@ char *as /* Alias string selector, NULL for none */
gmi->bph = gmm_bendBP; /* extent and bend */
gmi->gamcpf = 1.0; /* Full gamut compression */
gmi->gamexf = 1.0; /* Full gamut expansion */
- gmi->gamcknf = 1.1; /* Sigma knee in gamut compress */
- gmi->gamxknf = 0.4; /* Moderate Sigma knee in gamut expand */
+ gmi->gamcknf = 1.0; /* High Sigma knee in gamut compress/expand */
+ gmi->gamxknf = 0.4; /* Moderate Sigma knee in gamut compress/expand */
gmi->gampwf = 0.2; /* Slight perceptual surface weighting factor */
- gmi->gamlpwf = 0.0; /* No Linear Preserving Perceptual surface wghtg. factor */
gmi->gamswf = 0.8; /* Most saturation surface weighting factor */
gmi->satenh = 0.0; /* No saturation enhancement */
}
- else if (no == 9
+ else if (no == 8
|| no == icxSaturationGMIntent
|| (as != NULL && stricmp(as,"s") == 0)) {
/* Same as "ms" but enhance saturation */
- no = 9;
+ no = 8;
gmi->as = "s";
gmi->desc = " s - Enhanced Saturation [ICC Saturation]";
gmi->icci = icSaturation;
@@ -2274,18 +2236,17 @@ char *as /* Alias string selector, NULL for none */
gmi->bph = gmm_bendBP; /* extent and bend */
gmi->gamcpf = 1.0; /* Full gamut compression */
gmi->gamexf = 1.0; /* Full gamut expansion */
- gmi->gamcknf = 1.1; /* High sigma knee in gamut compress */
+ gmi->gamcknf = 1.0; /* High sigma knee in gamut compress */
gmi->gamxknf = 0.5; /* Moderate sigma knee in gamut expand */
gmi->gampwf = 0.0; /* No Perceptual surface weighting factor */
- gmi->gamlpwf = 0.0; /* No Linear Preserving Perceptual surface wghtg. factor */
gmi->gamswf = 1.0; /* Full Saturation surface weighting factor */
gmi->satenh = 0.9; /* Medium saturation enhancement */
}
- else if (no == 10
+ else if (no == 9
|| (as != NULL && stricmp(as,"al") == 0)) {
/* Map absolute L*a*b* to L*a*b* and clip out of gamut */
- no = 10;
+ no = 9;
gmi->as = "al";
gmi->desc = "al - Absolute Colorimetric (Lab)";
gmi->icci = icAbsoluteColorimetric;
@@ -2303,16 +2264,15 @@ char *as /* Alias string selector, NULL for none */
gmi->gamcknf = 0.0;
gmi->gamxknf = 0.0;
gmi->gampwf = 0.0;
- gmi->gamlpwf = 0.0; /* No Linear Preserving Perceptual surface wghtg. factor */
gmi->gamswf = 0.0;
gmi->satenh = 0.0; /* No saturation enhancement */
}
- else if (no == 11
+ else if (no == 10
|| (as != NULL && stricmp(as,"rl") == 0)) {
/* Align neutral axes and linearly map white point, then */
/* map L*a*b* to L*a*b* and clip out of gamut */
- no = 11;
+ no = 10;
gmi->as = "rl";
gmi->desc = "rl - White Point Matched Colorimetric (Lab)";
gmi->icci = icRelativeColorimetric;
@@ -2330,7 +2290,6 @@ char *as /* Alias string selector, NULL for none */
gmi->gamcknf = 0.0;
gmi->gamxknf = 0.0;
gmi->gampwf = 0.0;
- gmi->gamlpwf = 0.0; /* No Linear Preserving Perceptual surface wghtg. factor */
gmi->gamswf = 0.0;
gmi->satenh = 0.0; /* No saturation enhancement */
}
@@ -2385,7 +2344,6 @@ icxGMappingIntent *gmi /* Gamut Mapping parameters to return */
printf(" Gamut compression knee factor %f\n", gmi->gamcknf);
printf(" Gamut expansion knee factor %f\n", gmi->gamxknf);
printf(" Gamut Perceptual mapping weighting factor %f\n", gmi->gampwf);
- printf(" Gamut Lightness Preserving Perceptual mapping weighting %f\n", gmi->gamlpwf);
printf(" Gamut Saturation mapping weighting factor %f\n", gmi->gamswf);
printf(" Saturation enhancement factor %f\n", gmi->satenh);
}
diff --git a/xicc/xicc.h b/xicc/xicc.h
index a5ecf95..f521de2 100644
--- a/xicc/xicc.h
+++ b/xicc/xicc.h
@@ -194,8 +194,6 @@ typedef struct {
char *desc; /* Possible description of this VC */
} icxViewCond;
-#define XICC_DEFAULT_GLARE 5 /* Default glare in % */
-
/* Method of black point adaptation */
typedef enum {
gmm_BPadpt = 0, /* Adapt source black point to destination */
@@ -224,7 +222,6 @@ typedef struct {
double gamcknf; /* Gamut compression knee factor, 0.0 - 1.0 */
double gamxknf; /* Gamut expansion knee factor, 0.0 - 1.0 */
double gampwf; /* Gamut Perceptual Map weighting factor, 0.0 - 1.0 */
- double gamlpwf; /* Gamut Lightness preserving perceptual Map whtg. factor, 0.0 - 1.0 */
double gamswf; /* Gamut Saturation Map weighting factor, 0.0 - 1.0 */
double satenh; /* Saturation enhancement value, 0.0 - Inf */
char *as; /* Alias string (option name) */
diff --git a/xicc/xicclu.c b/xicc/xicclu.c
index f8fb9d6..0ca00aa 100644
--- a/xicc/xicclu.c
+++ b/xicc/xicclu.c
@@ -116,7 +116,7 @@ void usage(char *diag) {
fprintf(stderr," b:background Background %% of image luminance (default 20)\n");
fprintf(stderr," l:imagewhite Image white in cd.m^2 if surround = auto (default 250)\n");
fprintf(stderr," f:flare Flare light %% of image luminance (default 0)\n");
- fprintf(stderr," g:glare Flare light %% of ambient (default %d)\n",XICC_DEFAULT_GLARE);
+ fprintf(stderr," g:glare Flare light %% of ambient (default 1)\n");
fprintf(stderr," g:X:Y:Z Flare color as XYZ (default media white, Abs: D50)\n");
fprintf(stderr," g:x:y Flare color as x, y\n");
fprintf(stderr,"\n");