JPEG/R: Add display_boost parameter to decode API
Bug: 264715926
Test: jpegr_test
Change-Id: Ifef71a8aee532d603fd20417e32314243c8b4673
diff --git a/libs/jpegrecoverymap/recoverymapmath.cpp b/libs/jpegrecoverymap/recoverymapmath.cpp
index 20c32ed..2cffde3 100644
--- a/libs/jpegrecoverymap/recoverymapmath.cpp
+++ b/libs/jpegrecoverymap/recoverymapmath.cpp
@@ -463,6 +463,13 @@
return e * recoveryFactor;
}
+Color applyRecovery(Color e, float recovery, jr_metadata_ptr metadata, float displayBoost) {
+ float logBoost = log2(metadata->minContentBoost) * (1.0f - recovery)
+ + log2(metadata->maxContentBoost) * recovery;
+ float recoveryFactor = exp2(logBoost * displayBoost / metadata->maxContentBoost);
+ return e * recoveryFactor;
+}
+
Color applyRecoveryLUT(Color e, float recovery, RecoveryLUT& recoveryLUT) {
float recoveryFactor = recoveryLUT.getRecoveryFactor(recovery);
return e * recoveryFactor;