QCamera2: HAL3: Don't enable lens shading maps for all templates
Lens shading maps are only required for high quality DNG writing and
certain still capture modes.
Disabling lens shading maps has CPU/power benefit because metadata is
copied across processes.
Test: GCA and CTS on Muskie
Bug: 30924070
Change-Id: I85ea17fba5ef094296f8afbf70f35fb0b0dd10a3
diff --git a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
index 15135fe..ace6b11 100644
--- a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
@@ -10262,6 +10262,7 @@
bool fastModeEntryAvailable = FALSE;
vsMode = ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF;
optStabMode = ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF;
+ uint8_t shadingmap_mode = ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF;
switch (type) {
case CAMERA3_TEMPLATE_PREVIEW:
@@ -10296,6 +10297,9 @@
} else if (fastModeEntryAvailable) {
cacMode = ANDROID_COLOR_CORRECTION_ABERRATION_MODE_FAST;
}
+ if (CAM_SENSOR_RAW == gCamCapability[mCameraId]->sensor_type.sens_type) {
+ shadingmap_mode = ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON;
+ }
break;
case CAMERA3_TEMPLATE_VIDEO_RECORD:
controlIntent = ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD;
@@ -10367,6 +10371,7 @@
|| ois_disable)
optStabMode = ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF;
settings.update(ANDROID_LENS_OPTICAL_STABILIZATION_MODE, &optStabMode, 1);
+ settings.update(ANDROID_STATISTICS_LENS_SHADING_MAP_MODE, &shadingmap_mode, 1);
settings.update(ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION,
&gCamCapability[mCameraId]->exposure_compensation_default, 1);
@@ -10440,8 +10445,6 @@
static const uint8_t hotPixelMapMode = ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF;
settings.update(ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE, &hotPixelMapMode, 1);
- static const uint8_t lensShadingMode = ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF;
- settings.update(ANDROID_STATISTICS_LENS_SHADING_MAP_MODE, &lensShadingMode, 1);
static const uint8_t blackLevelLock = ANDROID_BLACK_LEVEL_LOCK_OFF;
settings.update(ANDROID_BLACK_LEVEL_LOCK, &blackLevelLock, 1);
@@ -10552,13 +10555,6 @@
uint8_t blacklevel_lock = ANDROID_BLACK_LEVEL_LOCK_OFF;
settings.update(ANDROID_BLACK_LEVEL_LOCK, &blacklevel_lock, 1);
- /* lens shading map mode */
- uint8_t shadingmap_mode = ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF;
- if (CAM_SENSOR_RAW == gCamCapability[mCameraId]->sensor_type.sens_type) {
- shadingmap_mode = ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON;
- }
- settings.update(ANDROID_STATISTICS_LENS_SHADING_MAP_MODE, &shadingmap_mode, 1);
-
//special defaults for manual template
if (type == CAMERA3_TEMPLATE_MANUAL) {
static const uint8_t manualControlMode = ANDROID_CONTROL_MODE_OFF;