6#include "TTauri/Foundation/Rec2020.hpp"
7#include "TTauri/Foundation/float16.hpp"
8#include "TTauri/Foundation/mat.hpp"
14inline mat Rec2100_to_XYZ = Rec2020_to_XYZ;
16inline mat XYZ_to_Rec2100 = XYZ_to_Rec2020;
18[[nodiscard]]
inline float Rec2100_linear_to_gamma(
float L)
noexcept
20 constexpr float c1 = 0.8359375f;
21 constexpr float c2 = 18.8515625f;
22 constexpr float c3 = 18.6875f;
23 constexpr float m1 = 0.1593017578125f;
24 constexpr float m2 = 78.84375;
28 return std::pow((c1 + c2 * Lm1) / (1.0f + c3 * Lm1), m2);
31[[nodiscard]]
inline float Rec2100_gamma_to_linear(
float N)
noexcept
33 constexpr float c1 = 0.8359375f;
34 constexpr float c2 = 18.8515625f;
35 constexpr float c3 = 18.6875f;
36 constexpr float m1 = 0.1593017578125f;
37 constexpr float m2 = 78.84375;
41 return std::pow((Nm2 - c1) / ( c2 - c3 * Nm2), 1.0f / m1);