Camera3: Add scene mode selection value to metadata
Add ANDROID_CONTROL_SCENE_MODE to metadata
Bug: 14059883
Change-Id: I9b866e6bcf5fe184c0eb8fa9bbb1c1f1145b3b61
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.cpp b/camera/QCamera2/HAL3/QCamera3HWI.cpp
index 36b7dc5..be38802 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/camera/QCamera2/HAL3/QCamera3HWI.cpp
@@ -2535,6 +2535,18 @@
ALOGV("%s: urgent Metadata : ANDROID_CONTROL_MODE", __func__);
break;
}
+ case CAM_INTF_PARM_BESTSHOT_MODE: {
+ uint8_t *sceneMode =
+ (uint8_t *)POINTER_OF(CAM_INTF_PARM_BESTSHOT_MODE, metadata);
+ uint8_t fwkSceneMode =
+ (uint8_t)lookupFwkName(SCENE_MODES_MAP,
+ sizeof(SCENE_MODES_MAP)/
+ sizeof(SCENE_MODES_MAP[0]), *sceneMode);
+ camMetadata.update(ANDROID_CONTROL_SCENE_MODE,
+ &fwkSceneMode, 1);
+ ALOGV("%s: urgent Metadata : ANDROID_CONTROL_SCENE_MODE", __func__);
+ break;
+ }
default:
ALOGV("%s: Normal Metadata %d, do not process",
__func__, curr_entry);
diff --git a/camera/QCamera2/stack/common/cam_intf.h b/camera/QCamera2/stack/common/cam_intf.h
index 3de809f..283ad89 100644
--- a/camera/QCamera2/stack/common/cam_intf.h
+++ b/camera/QCamera2/stack/common/cam_intf.h
@@ -456,7 +456,7 @@
INCLUDE(CAM_INTF_PARM_VIDEO_HDR, int32_t, 1);
/* HAL3 external control */
- INCLUDE(CAM_INTF_PARM_BESTSHOT_MODE, int32_t, 1);
+ INCLUDE(CAM_INTF_PARM_BESTSHOT_MODE, uint8_t, 1);
INCLUDE(CAM_INTF_PARM_REDEYE_REDUCTION, int32_t, 1);
INCLUDE(CAM_INTF_PARM_EV, int32_t, 1);
INCLUDE(CAM_INTF_PARM_EV_STEP, cam_rational_type_t, 1);