weston/libweston/color-lcms
Pekka Paalanen cfb459c2c9 color-lcms: implement media white point scaling
Implement media white point scaling according to ICC.1:2022 (profile
v4.4), section 6.3.2.2 "Translation between media-relative colorimetric
data and ICC-absolute colorimetric data".

This is a lot of code for something that, under the current
circumstances, is a no-change. However, realizing that chromatic
adaptation and media white point scaling are two separate adjustments
was a revelation to me. I want to document in code how they work, even
if the net result is no-op.

The PCS white point is taken from ICC, it does not matter what non-zero
point it is, the result will be the same.

I did skip a bit the media white point scaling. One should first scale
from in to PCS, and then from PCS to out. The code is mathematically
equivalent. If some new operation needs to be done in between, this step
than be split in two, just like I split the chromatic adaptation step in
two in this patch.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2025-12-02 11:46:44 +02:00
..
color-curve-segments.c color-lcms: define max number of params for LittleCMS curves 2025-04-10 12:43:00 +00:00
color-curve-segments.h color-lcms: define max number of params for LittleCMS curves 2025-04-10 12:43:00 +00:00
color-lcms.c frontend,color: print details of the set color profile 2025-09-25 18:03:31 +03:00
color-lcms.h color-lcms: add mask for allowed steps 2025-09-04 10:55:34 +03:00
color-profile.c color-lcms: shorten parametric profile description 2025-10-07 17:23:35 +03:00
color-transform.c color-lcms: implement media white point scaling 2025-12-02 11:46:44 +02:00
meson.build color: add support to the color-management protocol 2024-02-14 11:15:35 -03:00