tests/color_util: add power-2.2 transfer function

This is needed by the next commit.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
This commit is contained in:
Pekka Paalanen 2025-04-25 16:44:33 +03:00 committed by Pekka Paalanen
parent 8468289fa3
commit 718f7f56df
2 changed files with 30 additions and 0 deletions

View file

@ -114,6 +114,20 @@ AdobeRGB_EOTF_inv(float o)
return pow(o, 256./563.);
}
static float
Power2_2_EOTF(float e)
{
e = ensure_unit_range(e);
return pow(e, 2.2);
}
static float
Power2_2_EOTF_inv(float o)
{
o = ensure_unit_range(o);
return pow(o, 1./2.2);
}
static float
Power2_4_EOTF(float e)
{
@ -169,6 +183,20 @@ static const struct tone_curve_info tone_curves[] = {
.apply = AdobeRGB_EOTF_inv,
.lcms2 = { -1, { 563./256., 0.0, 0.0, 0.0 , 0.0 }},
},
[TRANSFER_FN_POWER2_2_EOTF] = {
.fn = TRANSFER_FN_POWER2_2_EOTF,
.name = "power 2.2",
.inv_fn = TRANSFER_FN_POWER2_2_EOTF_INVERSE,
.apply = Power2_2_EOTF,
.lcms2 = { 1, { 2.2, 0.0, 0.0, 0.0 , 0.0 }},
},
[TRANSFER_FN_POWER2_2_EOTF_INVERSE] = {
.fn = TRANSFER_FN_POWER2_2_EOTF_INVERSE,
.name = "inverse power 2.2",
.inv_fn = TRANSFER_FN_POWER2_2_EOTF,
.apply = Power2_2_EOTF_inv,
.lcms2 = { -1, { 2.2, 0.0, 0.0, 0.0 , 0.0 }},
},
[TRANSFER_FN_POWER2_4_EOTF] = {
.fn = TRANSFER_FN_POWER2_4_EOTF,
.name = "power 2.4",

View file

@ -56,6 +56,8 @@ enum transfer_fn {
TRANSFER_FN_SRGB_INVERSE,
TRANSFER_FN_ADOBE_RGB_EOTF,
TRANSFER_FN_ADOBE_RGB_EOTF_INVERSE,
TRANSFER_FN_POWER2_2_EOTF,
TRANSFER_FN_POWER2_2_EOTF_INVERSE,
TRANSFER_FN_POWER2_4_EOTF,
TRANSFER_FN_POWER2_4_EOTF_INVERSE,
};