]> git.sesse.net Git - movit/blobdiff - effect_chain_test.cpp
Make sRGBIntermediate test less sensitive to the exact sRGB choices; fixes unit test...
[movit] / effect_chain_test.cpp
index 6ab874d2e4e32507beb5cc9eeb546fac69e9f546..a9c06bad0e4f0c2bee5da217aed37f0a0b9b382e 100644 (file)
@@ -1303,5 +1303,18 @@ TEST(EffectChainTest, StringStreamLocalesWork) {
        free(saved_locale);
 }
 
+TEST(EffectChainTest, sRGBIntermediate) {
+       float data[] = {
+               0.0f, 0.5f, 0.0f, 1.0f,
+       };
+       float out_data[4];
+       EffectChainTester tester(data, 1, 1, FORMAT_RGBA_PREMULTIPLIED_ALPHA, COLORSPACE_sRGB, GAMMA_LINEAR, GL_RGBA16F_ARB, GL_SRGB8);
+       tester.get_chain()->add_effect(new IdentityEffect());
+       tester.get_chain()->add_effect(new BouncingIdentityEffect());
+       tester.run(out_data, GL_RGBA, COLORSPACE_sRGB, GAMMA_LINEAR);
+
+       EXPECT_GE(fabs(out_data[1] - data[1]), 1e-3)
+           << "Expected sRGB not to be able to represent 0.5 exactly (got " << out_data[1] << ")";
+}
 
 }  // namespace movit