X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=gamma_expansion_effect_test.cpp;h=94f574999692aeacff184c9bc2310da6c27e21db;hp=ed124c4f31c7a9d750c91bcf4269e4398fd7839c;hb=5fea9e6cd7aba98acc8b026801d268a3111eba63;hpb=2fdbe6e32ef5de09db9c890b6cd4355bf65dd1e5 diff --git a/gamma_expansion_effect_test.cpp b/gamma_expansion_effect_test.cpp index ed124c4..94f5749 100644 --- a/gamma_expansion_effect_test.cpp +++ b/gamma_expansion_effect_test.cpp @@ -34,6 +34,21 @@ TEST(GammaExpansionEffectTest, sRGB_RampAlwaysIncreases) { } } +TEST(GammaExpansionEffectTest, sRGB_AlphaIsUnchanged) { + float data[] = { + 0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.25f, + 0.0f, 0.0f, 0.0f, 0.5f, + 0.0f, 0.0f, 0.0f, 0.75f, + 0.0f, 0.0f, 0.0f, 1.0f, + }; + float out_data[5 * 4]; + EffectChainTester tester(data, 5, 1, FORMAT_RGBA_POSTMULTIPLIED_ALPHA, COLORSPACE_sRGB, GAMMA_sRGB); + tester.run(out_data, GL_RGBA, COLORSPACE_sRGB, GAMMA_LINEAR); + + expect_equal(data, out_data, 5, 1); +} + TEST(GammaExpansionEffectTest, Rec709_KeyValues) { float data[] = { 0.0f, 1.0f, @@ -63,3 +78,18 @@ TEST(GammaExpansionEffectTest, Rec709_RampAlwaysIncreases) { << "No increase between " << i-1 << " and " << i; } } + +TEST(GammaExpansionEffectTest, Rec709_AlphaIsUnchanged) { + float data[] = { + 0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.25f, + 0.0f, 0.0f, 0.0f, 0.5f, + 0.0f, 0.0f, 0.0f, 0.75f, + 0.0f, 0.0f, 0.0f, 1.0f, + }; + float out_data[5 * 4]; + EffectChainTester tester(data, 5, 1, FORMAT_RGBA_POSTMULTIPLIED_ALPHA, COLORSPACE_sRGB, GAMMA_REC_709); + tester.run(out_data, GL_RGBA, COLORSPACE_sRGB, GAMMA_LINEAR); + + expect_equal(data, out_data, 5, 1); +}