Merge "DWB Bias splines ignore default ambient CCT" into qt-r1-dev am: 3c19edaec6

am: d691ea0c4f

Change-Id: I713fac567d9652c0bf1cee757c4c4128fc77cda9
This commit is contained in:
Anthony Han
2019-06-28 16:43:54 -07:00
committed by android-build-merger
2 changed files with 31 additions and 2 deletions

View File

@@ -356,13 +356,15 @@ public class DisplayWhiteBalanceController implements
float ambientBrightness = mBrightnessFilter.getEstimate(time);
if (mLowLightAmbientBrightnessToBiasSpline != null) {
if (ambientColorTemperature != -1.0f &&
mLowLightAmbientBrightnessToBiasSpline != null) {
float bias = mLowLightAmbientBrightnessToBiasSpline.interpolate(ambientBrightness);
ambientColorTemperature =
bias * ambientColorTemperature + (1.0f - bias)
* mLowLightAmbientColorTemperature;
}
if (mHighLightAmbientBrightnessToBiasSpline != null) {
if (ambientColorTemperature != -1.0f &&
mHighLightAmbientBrightnessToBiasSpline != null) {
float bias = mHighLightAmbientBrightnessToBiasSpline.interpolate(ambientBrightness);
ambientColorTemperature =
(1.0f - bias) * ambientColorTemperature + bias

View File

@@ -359,6 +359,33 @@ public final class AmbientLuxTest {
}
}
@Test
public void testLowLight_DefaultAmbient() throws Exception {
final float lowerBrightness = 10.0f;
final float upperBrightness = 50.0f;
setBrightnesses(lowerBrightness, upperBrightness);
setBiases(0.0f, 1.0f);
DisplayWhiteBalanceController controller =
DisplayWhiteBalanceFactory.create(mHandler, mSensorManagerMock, mResourcesSpy);
final float ambientColorTemperature = -1.0f;
setEstimatedColorTemperature(controller, ambientColorTemperature);
controller.mBrightnessFilter = spy(controller.mBrightnessFilter);
for (float t = 0.0f; t <= 1.0f; t += 0.1f) {
setEstimatedBrightnessAndUpdate(controller,
mix(lowerBrightness, upperBrightness, t));
assertEquals(controller.mPendingAmbientColorTemperature, ambientColorTemperature,
0.001);
}
setEstimatedBrightnessAndUpdate(controller, 0.0f);
assertEquals(controller.mPendingAmbientColorTemperature, ambientColorTemperature, 0.001);
setEstimatedBrightnessAndUpdate(controller, upperBrightness + 1.0f);
assertEquals(controller.mPendingAmbientColorTemperature, ambientColorTemperature, 0.001);
}
void mockThrottler() {
when(mResourcesSpy.getInteger(
R.integer.config_displayWhiteBalanceDecreaseDebounce)).thenReturn(0);