diff options
author | Marti Maria <marti.maria@littlecms.com> | 2022-06-30 20:16:29 +0200 |
---|---|---|
committer | Marti Maria <marti.maria@littlecms.com> | 2022-06-30 20:16:29 +0200 |
commit | c05f3f0c8ddab4bd0685cf82a41c30305fa3f662 (patch) | |
tree | eec6316a3a7e8f68913ce5cd42938b19e0b24338 /testbed | |
parent | c3726d290e246b8ee48de8be51edf4df31281788 (diff) | |
download | lcms2-c05f3f0c8ddab4bd0685cf82a41c30305fa3f662.tar.gz |
support for spec 4.4
With this commit lcms2 now supports ICC spec 4.4
Diffstat (limited to 'testbed')
-rw-r--r-- | testbed/testcms2.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/testbed/testcms2.c b/testbed/testcms2.c index 717b1c9..9129589 100644 --- a/testbed/testcms2.c +++ b/testbed/testcms2.c @@ -5312,6 +5312,40 @@ cmsInt32Number CheckRAWtags(cmsInt32Number Pass, cmsHPROFILE hProfile) } + +static +cmsInt32Number Check_cicp(cmsInt32Number Pass, cmsHPROFILE hProfile) +{ + cmsVideoSignalType* v; + cmsVideoSignalType s; + + switch (Pass) { + + case 1: + s.ColourPrimaries = 1; + s.TransferCharacteristics = 13; + s.MatrixCoefficients = 0; + s.VideoFullRangeFlag = 1; + + if (!cmsWriteTag(hProfile, cmsSigcicpTag, &s)) return 0; + return 1; + + case 2: + v = (cmsVideoSignalType*)cmsReadTag(hProfile, cmsSigcicpTag); + if (v == NULL) return 0; + + if (v->ColourPrimaries != 1) return 0; + if (v->TransferCharacteristics != 13) return 0; + if (v->MatrixCoefficients != 0) return 0; + if (v->VideoFullRangeFlag != 1) return 0; + return 1; + + default: + return 0; + } + +} + // This is a very big test that checks every single tag static cmsInt32Number CheckProfileCreation(void) @@ -5457,6 +5491,9 @@ cmsInt32Number CheckProfileCreation(void) // if (!CheckDictionary16(Pass, h)) goto Error; if (!CheckDictionary24(Pass, h)) goto Error; + SubTest("cicp Video Signal Type"); + if (!Check_cicp(Pass, h)) goto Error; + if (Pass == 1) { cmsSaveProfileToFile(h, "alltags.icc"); cmsCloseProfile(h); |