mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2026-03-19 05:34:11 -04:00
render/color: add wlr_color_primaries_transform_absolute_colorimetric
This commit is contained in:
parent
9b9d7d845d
commit
17f3f28865
3 changed files with 22 additions and 16 deletions
|
|
@ -311,6 +311,18 @@ void wlr_color_primaries_to_xyz(const struct wlr_color_primaries *primaries, flo
|
|||
memcpy(matrix, result, sizeof(result));
|
||||
}
|
||||
|
||||
void wlr_color_primaries_transform_absolute_colorimetric(
|
||||
const struct wlr_color_primaries *source,
|
||||
const struct wlr_color_primaries *destination, float matrix[static 9]) {
|
||||
float source_to_xyz[9];
|
||||
wlr_color_primaries_to_xyz(source, source_to_xyz);
|
||||
float destination_to_xyz[9];
|
||||
wlr_color_primaries_to_xyz(destination, destination_to_xyz);
|
||||
float xyz_to_destination[9];
|
||||
matrix_invert(xyz_to_destination, destination_to_xyz);
|
||||
wlr_matrix_multiply(matrix, xyz_to_destination, source_to_xyz);
|
||||
}
|
||||
|
||||
void wlr_color_transfer_function_get_default_luminance(enum wlr_color_transfer_function tf,
|
||||
struct wlr_color_luminances *lum) {
|
||||
switch (tf) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue