diff options
author | 2022-12-13 01:00:59 +0000 | |
---|---|---|
committer | 2022-12-13 01:00:59 +0000 | |
commit | 80a1dd74e8fe800cd9a855c3a4af32aec2eb642f (patch) | |
tree | 365f3a0cabb77b544fae1ebb0b930c9bcb071157 | |
parent | 2b436dd3f14f6d62c0e39da8dfb35caf9a722638 (diff) | |
parent | 3812533636fe4d5327b99fb51198444912ab0e9f (diff) |
Merge "A couple recoverymap fixes."
-rw-r--r-- | libs/jpegrecoverymap/recoverymap.cpp | 2 | ||||
-rw-r--r-- | libs/jpegrecoverymap/recoverymapmath.cpp | 6 | ||||
-rw-r--r-- | libs/jpegrecoverymap/tests/recoverymapmath_test.cpp | 7 |
3 files changed, 7 insertions, 8 deletions
diff --git a/libs/jpegrecoverymap/recoverymap.cpp b/libs/jpegrecoverymap/recoverymap.cpp index 3d713cef80..200ec99055 100644 --- a/libs/jpegrecoverymap/recoverymap.cpp +++ b/libs/jpegrecoverymap/recoverymap.cpp @@ -554,7 +554,7 @@ status_t RecoveryMap::applyRecoveryMap(jr_uncompressed_ptr uncompressed_yuv_420_ float recovery = sampleMap(uncompressed_recovery_map, kMapDimensionScaleFactor, x, y); Color rgb_hdr = applyRecovery(rgb_sdr, recovery, metadata->rangeScalingFactor); - Color rgb_gamma_hdr = hdrOetf(rgb_hdr); + Color rgb_gamma_hdr = hdrOetf(rgb_hdr / metadata->rangeScalingFactor); uint32_t rgba1010102 = colorToRgba1010102(rgb_gamma_hdr); size_t pixel_idx = x + y * width; diff --git a/libs/jpegrecoverymap/recoverymapmath.cpp b/libs/jpegrecoverymap/recoverymapmath.cpp index e838f43b58..9ed2949509 100644 --- a/libs/jpegrecoverymap/recoverymapmath.cpp +++ b/libs/jpegrecoverymap/recoverymapmath.cpp @@ -336,9 +336,9 @@ Color getP010Pixel(jr_uncompressed_ptr image, size_t x, size_t y) { >> 6; // Conversions include taking narrow-range into account. - return {{{ static_cast<float>(y_uint) / 940.0f, - (static_cast<float>(u_uint) - 64.0f) / 940.0f - 0.5f, - (static_cast<float>(v_uint) - 64.0f) / 940.0f - 0.5f }}}; + return {{{ (static_cast<float>(y_uint) - 64.0f) / 876.0f, + (static_cast<float>(u_uint) - 64.0f) / 896.0f - 0.5f, + (static_cast<float>(v_uint) - 64.0f) / 896.0f - 0.5f }}}; } typedef Color (*getPixelFn)(jr_uncompressed_ptr, size_t, size_t); diff --git a/libs/jpegrecoverymap/tests/recoverymapmath_test.cpp b/libs/jpegrecoverymap/tests/recoverymapmath_test.cpp index 169201c73b..f8dd49025e 100644 --- a/libs/jpegrecoverymap/tests/recoverymapmath_test.cpp +++ b/libs/jpegrecoverymap/tests/recoverymapmath_test.cpp @@ -36,9 +36,9 @@ public: } Color P010(uint16_t y, uint16_t u, uint16_t v) { - return {{{ static_cast<float>(y) / 940.0f, - (static_cast<float>(u) - 64.0f) / 940.0f - 0.5f, - (static_cast<float>(v) - 64.0f) / 940.0f - 0.5f }}}; + return {{{ (static_cast<float>(y) - 64.0f) / 876.0f, + (static_cast<float>(u) - 64.0f) / 896.0f - 0.5f, + (static_cast<float>(v) - 64.0f) / 896.0f - 0.5f }}}; } float Map(uint8_t e) { @@ -821,7 +821,6 @@ TEST_F(RecoveryMapMathTest, GenerateMapLuminancePq) { bt2100Luminance(RgbBlue()) * kPqMaxNits, LuminanceEpsilon()); } -//Color Recover(Color yuv_gamma, float recovery, float range_scaling_factor) { TEST_F(RecoveryMapMathTest, ApplyMap) { EXPECT_RGB_EQ(Recover(YuvWhite(), 1.0f, 8.0f), RgbWhite() * 8.0f); |