Camera3: Report the value of AF trigger
Report the AF trigger status control ANDROID_CONTROL_AF_TRIGGER
to metadata.
Bug: 14059883
Change-Id: I42606554cebbe195dcf2a2029e3b635a349e5f5d
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.cpp b/camera/QCamera2/HAL3/QCamera3HWI.cpp
index 0064b09..8bb7cfe 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/camera/QCamera2/HAL3/QCamera3HWI.cpp
@@ -2018,6 +2018,7 @@
case CAM_INTF_META_AWB_STATE:
case CAM_INTF_PARM_AWB_LOCK:
case CAM_INTF_META_PRECAPTURE_TRIGGER:
+ case CAM_INTF_META_AF_TRIGGER_NOTICE:
case CAM_INTF_META_MODE: {
ALOGV("%s: 3A metadata: %d, do not process", __func__, curr_entry);
break;
@@ -2557,6 +2558,14 @@
__func__);
break;
}
+ case CAM_INTF_META_AF_TRIGGER_NOTICE: {
+ uint8_t *af_trigger =
+ (uint8_t *)POINTER_OF(CAM_INTF_META_AF_TRIGGER_NOTICE, metadata);
+ camMetadata.update(ANDROID_CONTROL_AF_TRIGGER,
+ af_trigger, 1);
+ ALOGV("%s: urgent Metadata : ANDROID_CONTROL_AF_TRIGGER = %d",
+ __func__, *af_trigger);
+ }
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 78728d8..b7f9dda 100644
--- a/camera/QCamera2/stack/common/cam_intf.h
+++ b/camera/QCamera2/stack/common/cam_intf.h
@@ -458,6 +458,7 @@
/* HAL3 external control */
INCLUDE(CAM_INTF_PARM_BESTSHOT_MODE, uint8_t, 1);
INCLUDE(CAM_INTF_META_PRECAPTURE_TRIGGER, uint8_t, 1);
+ INCLUDE(CAM_INTF_META_AF_TRIGGER_NOTICE, 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);
diff --git a/camera/QCamera2/stack/common/cam_types.h b/camera/QCamera2/stack/common/cam_types.h
index 84bccde..c6618ec 100644
--- a/camera/QCamera2/stack/common/cam_types.h
+++ b/camera/QCamera2/stack/common/cam_types.h
@@ -967,10 +967,13 @@
CAM_INTF_META_AF_ROI,
/* Whether the HAL must trigger autofocus. */
CAM_INTF_META_AF_TRIGGER,
- /* Current state of AF algorithm */
- CAM_INTF_META_AF_STATE,
/* The ID sent with the latest CAMERA2_TRIGGER_AUTOFOCUS call */
CAM_INTF_META_AF_TRIGGER_ID,
+ /* Use to report back AF trigger value, trigger is requested using
+ * CAM_INTF_META_AF_TRIGGER and CAM_INTF_META_AF_TRIGGER_ID */
+ CAM_INTF_META_AF_TRIGGER_NOTICE,
+ /* Current state of AF algorithm */
+ CAM_INTF_META_AF_STATE,
/* List of areas to use for illuminant estimation */
CAM_INTF_META_AWB_REGIONS,
/* Current state of AWB algorithm */