X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=effect_chain_test.cpp;h=a9c06bad0e4f0c2bee5da217aed37f0a0b9b382e;hb=9a945c3c5c62e0250015e69b5b091a849bd11c10;hp=6ab874d2e4e32507beb5cc9eeb546fac69e9f546;hpb=54d47f65e9abac77229636fbaaefea8caf34a4d4;p=movit diff --git a/effect_chain_test.cpp b/effect_chain_test.cpp index 6ab874d..a9c06ba 100644 --- a/effect_chain_test.cpp +++ b/effect_chain_test.cpp @@ -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