summaryrefslogtreecommitdiff
path: root/xicc/cam02.h
diff options
context:
space:
mode:
Diffstat (limited to 'xicc/cam02.h')
-rwxr-xr-x[-rw-r--r--]xicc/cam02.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/xicc/cam02.h b/xicc/cam02.h
index 9550bd5..bf9d9c9 100644..100755
--- a/xicc/cam02.h
+++ b/xicc/cam02.h
@@ -143,7 +143,10 @@ struct _cam02 {
double Gxyz[3], /* The Glare white coordinates (ie. the Ambient color) */
/* If <= 0 will Wxyz will be used. */
int hk, /* Flag, NZ to use Helmholtz-Kohlrausch effect */
- double hkscale /* HK effect scaling factor */
+ double hkscale, /* HK effect scaling factor */
+
+ double mtaf, /* Mid tone partial adapation factor from Wxyz to Wxyz2, <= 0.0 if none */
+ double Wxyz2[3] /* Mid tone Adapted White XYZ (Y range 0.0 .. 1.0) */
);
/* Conversions. Return nz on error */
@@ -161,6 +164,10 @@ struct _cam02 {
double Yg; /* Glare as a fraction of the adapting/surround (Y range 0.0 .. 1.0) */
double Gxyz[3]; /* The Glare white coordinates (typically the Ambient color) */
+ /* Partial mid-tone adapation hack parameters */
+ double Wxyz2[3];/* Mid tone Adapted White XYZ (Y range 0.0 .. 1.0) */
+ double mtaf; /* Mid tone blend factor between Wxyz and Wxyz2 */
+
/* Internal parameters */
double C; /* Surround Impact */
double Nc; /* Chromatic Induction */
@@ -194,6 +201,16 @@ struct _cam02 {
double nluxslope; /* Non-linearity slope at upper crossover to linear */
double lA; /* JLIMIT Limited A */
+ /* Partial mid-tone adapation hack pre-computed values */
+ int pmta_en; /* NZ if enabled */
+ double mtap; /* Mid tone blend rate (power) between Wxyz and Wxyz2 */
+ double rgbW2[3]; /* Mid etone sharpened cone response white values */
+ double Drgb2[3]; /* Mid tone chromatic transformation value */
+ double rgbcW2[3]; /* Mid tone chromatically transformed white value */
+ double rgbpW2[3]; /* Mid tone hunt-Pointer-Estevez cone response space white */
+ double cc2[3][3]; /* Mide tone forward cone and chromatic transform */
+ double icc2[3][3]; /* Mide tone reverse cone and chromatic transform */
+
/* Option flags, code not always enabled */
int hk; /* Use Helmholtz-Kohlrausch effect */
int hkscale; /* [1.0] Scale HK effect up/down from default */