Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 597cd600 authored by Romain Guy's avatar Romain Guy
Browse files

Don't clamp when converting to XYZ

Test: colorspace_test
Bug: 29940137

Change-Id: I37bf0b6a7724e2ee155ab26835847fcbfd58e0fd
parent d231cd3a
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -99,11 +99,10 @@ public:
    /**
     * Converts the supplied RGB value to XYZ. The input RGB value
     * is decoded using this color space's electro-optical function
     * before being converted to XYZ. The returned result is clamped
     * by this color space's clamping function.
     * before being converted to XYZ.
     */
    constexpr float3 rgbToXYZ(const float3& rgb) const noexcept {
        return apply(mRGBtoXYZ * toLinear(rgb), mClamper);
        return mRGBtoXYZ * toLinear(rgb);
    }

    constexpr const std::string& getName() const noexcept {
+1 −1
Original line number Diff line number Diff line
@@ -134,7 +134,7 @@ TEST_F(ColorSpaceTest, TransferFunctions) {

TEST_F(ColorSpaceTest, Clamping) {
    // Pick a color outside of sRGB
    float3 c(ColorSpace::DCIP3().rgbToXYZ(float3{0, 1, 0}));
    float3 c(ColorSpace::BT2020().rgbToXYZ(float3{0, 1, 0}));

    // The color will be clamped
    float3 sRGB(ColorSpace::sRGB().xyzToRGB(c));