From d48a5a982957bdce249b989ca2b8839e87e6f562 Mon Sep 17 00:00:00 2001 From: Alec Mouri Date: Fri, 18 Mar 2022 23:16:20 +0000 Subject: [PATCH] Clarify documentation for the dimming stage. Plumbing this enum to RenderEngine requires knowledge of the intended transfer function to apply the dimming stage in. Because this is expected to be a contrained use-case and because apis are frozen, document that RenderEngine is allowed to assume that the resulting dimming matrix may be gamma corrected using a 2.2 power function. Bug: 218954037 Test: builds Change-Id: Ie7d357f8ce79295af017d80c62a2759dbccce5d2 --- .../android/hardware/graphics/composer3/DimmingStage.aidl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/DimmingStage.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/DimmingStage.aidl index f732d417b1..23d5f4a007 100644 --- a/graphics/composer/aidl/android/hardware/graphics/composer3/DimmingStage.aidl +++ b/graphics/composer/aidl/android/hardware/graphics/composer3/DimmingStage.aidl @@ -29,7 +29,12 @@ enum DimmingStage { */ LINEAR = 1, /** - * Dimming operations must be applied in gamma space, after OETF has been applied + * Dimming operations must be applied in gamma space, after OETF has been applied. + * Note that for this dimming operation to be perceptually correct it must also be gamma + * corrected. The framework will assume that it is able to use the gamma 2.2 + * power function for gamma correcting the dimming matrix, for simplicity of + * implementation and the fact that gamma 2.2 is close enough to typical SDR + * transfer functions that would be used for the client target. */ GAMMA_OETF = 2, }