Converting back and forth Lab <-> ProphotoRGB produces slight magenta shift

I think you have a sign error in dt_XYZ_to_prophotoRGB_sse2:

const __m128 xyz_to_rgb_2 = _mm_setr_ps(-0.0511118f, -0.0205351f, 1.2118128f, 0.0f);

should be:

const __m128 xyz_to_rgb_2 = _mm_setr_ps(-0.0511118f, 0.0205351f, 1.2118128f, 0.0f);

1 Like