X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=gamma_compression_effect_test.cpp;h=e65acee34e4974b6c8a2a500a15556b5255c982e;hp=c0b4ccf141e1d58a2d456b03acedae725ac42399;hb=b912dbaa253ed1f091fd7201efd366c6f3154257;hpb=37f56fcbe571b2322243f6de59494bf9e0cbb37a diff --git a/gamma_compression_effect_test.cpp b/gamma_compression_effect_test.cpp index c0b4ccf..e65acee 100644 --- a/gamma_compression_effect_test.cpp +++ b/gamma_compression_effect_test.cpp @@ -67,3 +67,24 @@ TEST(GammaCompressionEffectTest, Rec709_RampAlwaysIncreases) { << "No increase between " << i-1 << " and " << i; } } + +TEST(GammaCompressionEffectTest, Rec2020_12BitIsVeryCloseToRec709) { + float data[256]; + for (unsigned i = 0; i < 256; ++i) { + data[i] = i / 255.0f; + } + float out_data_709[256]; + float out_data_2020[256]; + + EffectChainTester tester(data, 256, 1, FORMAT_GRAYSCALE, COLORSPACE_sRGB, GAMMA_LINEAR); + tester.run(out_data_709, GL_RED, COLORSPACE_sRGB, GAMMA_REC_709); + EffectChainTester tester2(data, 256, 1, FORMAT_GRAYSCALE, COLORSPACE_sRGB, GAMMA_LINEAR); + tester2.run(out_data_2020, GL_RED, COLORSPACE_sRGB, GAMMA_REC_2020_12_BIT); + + double sqdiff = 0.0; + for (unsigned i = 0; i < 256; ++i) { + EXPECT_NEAR(out_data_709[i], out_data_2020[i], 1e-3); + sqdiff += (out_data_709[i] - out_data_2020[i]) * (out_data_709[i] - out_data_2020[i]); + } + EXPECT_GT(sqdiff, 1e-6); +}