summaryrefslogtreecommitdiff
path: root/testbed
diff options
context:
space:
mode:
authorMarti Maria <marti.maria@littlecms.com>2022-06-30 20:16:29 +0200
committerMarti Maria <marti.maria@littlecms.com>2022-06-30 20:16:29 +0200
commitc05f3f0c8ddab4bd0685cf82a41c30305fa3f662 (patch)
treeeec6316a3a7e8f68913ce5cd42938b19e0b24338 /testbed
parentc3726d290e246b8ee48de8be51edf4df31281788 (diff)
downloadlcms2-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.c37
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);