Merge "DWB Bias splines ignore default ambient CCT" into qt-r1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
3c19edaec6
@@ -356,13 +356,15 @@ public class DisplayWhiteBalanceController implements
|
|||||||
|
|
||||||
float ambientBrightness = mBrightnessFilter.getEstimate(time);
|
float ambientBrightness = mBrightnessFilter.getEstimate(time);
|
||||||
|
|
||||||
if (mLowLightAmbientBrightnessToBiasSpline != null) {
|
if (ambientColorTemperature != -1.0f &&
|
||||||
|
mLowLightAmbientBrightnessToBiasSpline != null) {
|
||||||
float bias = mLowLightAmbientBrightnessToBiasSpline.interpolate(ambientBrightness);
|
float bias = mLowLightAmbientBrightnessToBiasSpline.interpolate(ambientBrightness);
|
||||||
ambientColorTemperature =
|
ambientColorTemperature =
|
||||||
bias * ambientColorTemperature + (1.0f - bias)
|
bias * ambientColorTemperature + (1.0f - bias)
|
||||||
* mLowLightAmbientColorTemperature;
|
* mLowLightAmbientColorTemperature;
|
||||||
}
|
}
|
||||||
if (mHighLightAmbientBrightnessToBiasSpline != null) {
|
if (ambientColorTemperature != -1.0f &&
|
||||||
|
mHighLightAmbientBrightnessToBiasSpline != null) {
|
||||||
float bias = mHighLightAmbientBrightnessToBiasSpline.interpolate(ambientBrightness);
|
float bias = mHighLightAmbientBrightnessToBiasSpline.interpolate(ambientBrightness);
|
||||||
ambientColorTemperature =
|
ambientColorTemperature =
|
||||||
(1.0f - bias) * ambientColorTemperature + bias
|
(1.0f - bias) * ambientColorTemperature + bias
|
||||||
|
|||||||
@@ -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() {
|
void mockThrottler() {
|
||||||
when(mResourcesSpy.getInteger(
|
when(mResourcesSpy.getInteger(
|
||||||
R.integer.config_displayWhiteBalanceDecreaseDebounce)).thenReturn(0);
|
R.integer.config_displayWhiteBalanceDecreaseDebounce)).thenReturn(0);
|
||||||
|
|||||||
Reference in New Issue
Block a user