summaryrefslogtreecommitdiff
path: root/xicc/xcam.c
diff options
context:
space:
mode:
Diffstat (limited to 'xicc/xcam.c')
-rw-r--r--xicc/xcam.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/xicc/xcam.c b/xicc/xcam.c
index 99f3c67..8e1a0cd 100644
--- a/xicc/xcam.c
+++ b/xicc/xcam.c
@@ -23,7 +23,7 @@
static void icx_cam_free(icxcam *s);
static int icx_set_view(icxcam *s, ViewingCondition Ev, double Wxyz[3],
- double La, double Yb, double Lv, double Yf, double Fxyz[3],
+ double La, double Yb, double Lv, double Yf, double Yg, double Gxyz[3],
int hk);
static int icx_XYZ_to_cam(struct _icxcam *s, double Jab[3], double XYZ[3]);
static int icx_cam_to_XYZ(struct _icxcam *s, double XYZ[3], double Jab[3]);
@@ -61,8 +61,8 @@ icxcam *new_icxcam(icxCAM which) {
}
/* Initialise methods */
- s->del = icx_cam_free;
- s->set_view = icx_set_view;
+ s->del = icx_cam_free;
+ s->set_view = icx_set_view;
s->XYZ_to_cam = icx_XYZ_to_cam;
s->cam_to_XYZ = icx_cam_to_XYZ;
s->settrace = settrace;
@@ -126,7 +126,8 @@ double Yb, /* Relative Luminance of Background to reference white */
double Lv, /* Luminance of white in the Viewing/Scene/Image field (cd/m^2) */
/* Ignored if Ev is set to other than vc_none */
double Yf, /* Flare as a fraction of the reference white (Y range 0.0 .. 1.0) */
-double Fxyz[3], /* The Flare white coordinates (typically the Ambient color) */
+double Yg, /* Glare as a fraction of the ambient (Y range 0.0 .. 1.0) */
+double Gxyz[3], /* The Glare white coordinates (typically the Ambient color) */
int hk /* Flag, NZ to use Helmholtz-Kohlraush effect */
) {
s->Wxyz[0] = Wxyz[0];
@@ -136,11 +137,11 @@ int hk /* Flag, NZ to use Helmholtz-Kohlraush effect */
switch(s->tag) {
case cam_CIECAM97s3: {
cam97s3 *pp = (cam97s3 *)s->p;
- return pp->set_view(pp, Ev, Wxyz, La, Yb, Lv, Yf, Fxyz, hk);
+ return pp->set_view(pp, Ev, Wxyz, La, Yb, Lv, 0.2 * Yg, Gxyz, hk);
}
case cam_CIECAM02: {
cam02 *pp = (cam02 *)s->p;
- return pp->set_view(pp, Ev, Wxyz, La, Yb, Lv, Yf, Fxyz, hk);
+ return pp->set_view(pp, Ev, Wxyz, La, Yb, Lv, Yf, Yg, Gxyz, hk);
}
default:
break;