diff options
author | Marti Maria <info@littlecms.com> | 2015-08-10 17:41:45 +0200 |
---|---|---|
committer | Marti Maria <info@littlecms.com> | 2015-08-10 17:41:45 +0200 |
commit | 9e2f5031dd6ce742be3924216ed56fa56f09af00 (patch) | |
tree | 41e1dd626241a64f491c5fbef47ee02ec19d6ef4 /src/cmsxform.c | |
parent | 07da965b104b9e0b4eae34dcaa30445a835411e3 (diff) | |
download | lcms2-9e2f5031dd6ce742be3924216ed56fa56f09af00.tar.gz |
Fix for luminance tag
Diffstat (limited to 'src/cmsxform.c')
-rw-r--r-- | src/cmsxform.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/cmsxform.c b/src/cmsxform.c index a2615a1..d53575f 100644 --- a/src/cmsxform.c +++ b/src/cmsxform.c @@ -960,6 +960,22 @@ cmsBool IsProperColorSpace(cmsColorSpaceSignature Check, cmsUInt32Number dwForm // ---------------------------------------------------------------------------------------------------------------- +// Jun-21-2000: Some profiles (those that comes with W2K) comes +// with the media white (media black?) x 100. Add a sanity check + +static +void NormalizeXYZ(cmsCIEXYZ* Dest) +{ + while (Dest -> X > 2. && + Dest -> Y > 2. && + Dest -> Z > 2.) { + + Dest -> X /= 10.; + Dest -> Y /= 10.; + Dest -> Z /= 10.; + } +} + static void SetWhitePoint(cmsCIEXYZ* wtPt, const cmsCIEXYZ* src) { @@ -972,6 +988,8 @@ void SetWhitePoint(cmsCIEXYZ* wtPt, const cmsCIEXYZ* src) wtPt ->X = src->X; wtPt ->Y = src->Y; wtPt ->Z = src->Z; + + NormalizeXYZ(wtPt); } } |