]> git.sesse.net Git - movit/blobdiff - white_balance_effect_test.cpp
Add proper formats for sRGB without alpha.
[movit] / white_balance_effect_test.cpp
index 966cba3d9b28dabd7d25ab82a927a9dec60c65ab..b0642077e5c039143f23574f5d9d9ca7655f0077 100644 (file)
@@ -1,9 +1,15 @@
 // Unit tests for WhiteBalanceEffect.
 
-#include "test_util.h"
+#include <epoxy/gl.h>
+
+#include "effect_chain.h"
 #include "gtest/gtest.h"
+#include "image_format.h"
+#include "test_util.h"
 #include "white_balance_effect.h"
 
+namespace movit {
+
 TEST(WhiteBalanceEffectTest, GrayNeutralDoesNothing) {
        float data[] = {
                0.0f, 0.0f, 0.0f, 1.0f,
@@ -17,7 +23,7 @@ TEST(WhiteBalanceEffectTest, GrayNeutralDoesNothing) {
        };
 
        float out_data[5 * 4];
-       EffectChainTester tester(data, 1, 5, FORMAT_RGBA, COLORSPACE_sRGB, GAMMA_LINEAR);
+       EffectChainTester tester(data, 1, 5, FORMAT_RGBA_POSTMULTIPLIED_ALPHA, COLORSPACE_sRGB, GAMMA_LINEAR);
        Effect *white_balance_effect = tester.get_chain()->add_effect(new WhiteBalanceEffect());
        ASSERT_TRUE(white_balance_effect->set_vec3("neutral_color", neutral));
        tester.run(out_data, GL_RGBA, COLORSPACE_sRGB, GAMMA_LINEAR);
@@ -36,7 +42,7 @@ TEST(WhiteBalanceEffectTest, SettingReddishNeutralColorNeutralizesReddishColor)
        };
 
        float out_data[3 * 4];
-       EffectChainTester tester(data, 1, 3, FORMAT_RGBA, COLORSPACE_sRGB, GAMMA_LINEAR);
+       EffectChainTester tester(data, 1, 3, FORMAT_RGBA_POSTMULTIPLIED_ALPHA, COLORSPACE_sRGB, GAMMA_LINEAR);
        Effect *white_balance_effect = tester.get_chain()->add_effect(new WhiteBalanceEffect());
        ASSERT_TRUE(white_balance_effect->set_vec3("neutral_color", neutral));
        tester.run(out_data, GL_RGBA, COLORSPACE_sRGB, GAMMA_LINEAR);
@@ -73,7 +79,7 @@ TEST(WhiteBalanceEffectTest, HigherColorTemperatureIncreasesBlue) {
        };
 
        float out_data[2 * 4];
-       EffectChainTester tester(data, 1, 2, FORMAT_RGBA, COLORSPACE_sRGB, GAMMA_LINEAR);
+       EffectChainTester tester(data, 1, 2, FORMAT_RGBA_POSTMULTIPLIED_ALPHA, COLORSPACE_sRGB, GAMMA_LINEAR);
        Effect *white_balance_effect = tester.get_chain()->add_effect(new WhiteBalanceEffect());
        ASSERT_TRUE(white_balance_effect->set_float("output_color_temperature", 10000.0f));
        tester.run(out_data, GL_RGBA, COLORSPACE_sRGB, GAMMA_LINEAR);
@@ -98,3 +104,5 @@ TEST(WhiteBalanceEffectTest, HigherColorTemperatureIncreasesBlue) {
        EXPECT_GT(out_data[4 * 1 + 2] - out_data[4 * 1 + 1], 0.05);
        EXPECT_GT(out_data[4 * 1 + 1] - out_data[4 * 1 + 0], 0.05);
 }
+
+}  // namespace movit