gdk: Add oklab and oklch color states

These are new default color states.

Tests for the tf and matrices included.
This commit is contained in:
Matthias Clasen
2024-08-10 12:48:12 -04:00
parent ed9e759917
commit 2a1b8c4fcc
5 changed files with 317 additions and 67 deletions

View File

@@ -23,6 +23,7 @@ TransferTest transfers[] = {
{ "hlg", hlg_oetf, hlg_eotf, { 0, 1}, { 0, 1} },
{ "gamma22", gamma22_oetf, gamma22_eotf, { 0, 1 }, { 0, 1 } },
{ "gamma28", gamma28_oetf, gamma28_eotf, { 0, 1 }, { 0, 1 } },
{ "oklab", to_oklab_nl, from_oklab_nl,{ 0, 1 }, { 0, 1 } },
};
#define LERP(t, a, b) ((a) + (t) * ((b) - (a)))
@@ -103,6 +104,8 @@ static MatrixTest matrices[] = {
{ "ntsc", ntsc_to_xyz, xyz_to_ntsc },
{ "p3", p3_to_xyz, xyz_to_p3 },
{ "srgb<>rec2020", rec2020_to_srgb, srgb_to_rec2020 },
{ "oklab<>lms", oklab_to_lms, lms_to_oklab },
{ "lms<>srgb", lms_to_srgb, srgb_to_lms },
};
#define IDX(i,j) 3*i+j