Merge "QCamera2: HAL3: Add scene distance metadata" into oc-mr1-dev
diff --git a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
index 1f082b6..589a094 100644
--- a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
@@ -526,7 +526,8 @@
mIsApInputUsedForHdrPlus(false),
mFirstPreviewIntentSeen(false),
m_bSensorHDREnabled(false),
- mAfTrigger()
+ mAfTrigger(),
+ mSceneDistance(-1)
{
getLogLevel();
mCommon.init(gCamCapability[cameraId]);
@@ -6760,12 +6761,12 @@
camMetadata.update(DEVCAMDEBUG_AF_LENS_POSITION, &fwk_DevCamDebug_af_lens_position, 1);
}
IF_META_AVAILABLE(int32_t, DevCamDebug_af_tof_confidence,
- CAM_INTF_META_DEV_CAM_AF_TOF_CONFIDENCE, metadata) {
+ CAM_INTF_META_AF_TOF_CONFIDENCE, metadata) {
int32_t fwk_DevCamDebug_af_tof_confidence = *DevCamDebug_af_tof_confidence;
camMetadata.update(DEVCAMDEBUG_AF_TOF_CONFIDENCE, &fwk_DevCamDebug_af_tof_confidence, 1);
}
IF_META_AVAILABLE(int32_t, DevCamDebug_af_tof_distance,
- CAM_INTF_META_DEV_CAM_AF_TOF_DISTANCE, metadata) {
+ CAM_INTF_META_AF_TOF_DISTANCE, metadata) {
int32_t fwk_DevCamDebug_af_tof_distance = *DevCamDebug_af_tof_distance;
camMetadata.update(DEVCAMDEBUG_AF_TOF_DISTANCE, &fwk_DevCamDebug_af_tof_distance, 1);
}
@@ -8469,6 +8470,24 @@
}
}
}
+
+ IF_META_AVAILABLE(int32_t, af_tof_confidence,
+ CAM_INTF_META_AF_TOF_CONFIDENCE, metadata) {
+ IF_META_AVAILABLE(int32_t, af_tof_distance,
+ CAM_INTF_META_AF_TOF_DISTANCE, metadata) {
+ int32_t fwk_af_tof_confidence = *af_tof_confidence;
+ int32_t fwk_af_tof_distance = *af_tof_distance;
+ if (fwk_af_tof_confidence == 1) {
+ mSceneDistance = fwk_af_tof_distance;
+ } else {
+ mSceneDistance = -1;
+ }
+ LOGD("tof_distance %d, tof_confidence %d, mSceneDistance %d",
+ fwk_af_tof_distance, fwk_af_tof_confidence, mSceneDistance);
+ }
+ }
+ camMetadata.update(NEXUS_EXPERIMENTAL_2017_SCENE_DISTANCE, &mSceneDistance, 1);
+
resultMetadata = camMetadata.release();
return resultMetadata;
}
@@ -10381,6 +10400,7 @@
NEXUS_EXPERIMENTAL_2017_HISTOGRAM,
NEXUS_EXPERIMENTAL_2017_AF_REGIONS_CONFIDENCE,
NEXUS_EXPERIMENTAL_2017_EXP_TIME_BOOST,
+ NEXUS_EXPERIMENTAL_2017_SCENE_DISTANCE,
};
size_t result_keys_cnt =
diff --git a/msm8998/QCamera2/HAL3/QCamera3HWI.h b/msm8998/QCamera2/HAL3/QCamera3HWI.h
index 7f40208..8df7ea4 100644
--- a/msm8998/QCamera2/HAL3/QCamera3HWI.h
+++ b/msm8998/QCamera2/HAL3/QCamera3HWI.h
@@ -867,6 +867,8 @@
bool m_bSensorHDREnabled;
cam_trigger_t mAfTrigger;
+
+ int32_t mSceneDistance;
};
}; // namespace qcamera
diff --git a/msm8998/QCamera2/HAL3/QCamera3VendorTags.cpp b/msm8998/QCamera2/HAL3/QCamera3VendorTags.cpp
index c33ed4b..6764c3c 100644
--- a/msm8998/QCamera2/HAL3/QCamera3VendorTags.cpp
+++ b/msm8998/QCamera2/HAL3/QCamera3VendorTags.cpp
@@ -369,6 +369,7 @@
{ "request.postview_data", TYPE_BYTE},
{ "request.continuous_zsl_capture", TYPE_INT32},
{ "request.disable_hdrplus", TYPE_INT32},
+ { "control.scene_distance", TYPE_INT32},
};
vendor_tag_info_t tango_mode_data[TANGO_MODE_DATA_END -
@@ -614,6 +615,7 @@
(uint32_t)NEXUS_EXPERIMENTAL_2017_POSTVIEW_DATA,
(uint32_t)NEXUS_EXPERIMENTAL_2017_CONTINUOUS_ZSL_CAPTURE,
(uint32_t)NEXUS_EXPERIMENTAL_2017_DISABLE_HDRPLUS,
+ (uint32_t)NEXUS_EXPERIMENTAL_2017_SCENE_DISTANCE,
//TANGO_MODE
(uint32_t)TANGO_MODE_DATA_SENSOR_FULLFOV,
diff --git a/msm8998/QCamera2/HAL3/QCamera3VendorTags.h b/msm8998/QCamera2/HAL3/QCamera3VendorTags.h
index 2c73c08..ab21829 100644
--- a/msm8998/QCamera2/HAL3/QCamera3VendorTags.h
+++ b/msm8998/QCamera2/HAL3/QCamera3VendorTags.h
@@ -452,6 +452,7 @@
NEXUS_EXPERIMENTAL_2017_POSTVIEW_DATA,
NEXUS_EXPERIMENTAL_2017_CONTINUOUS_ZSL_CAPTURE,
NEXUS_EXPERIMENTAL_2017_DISABLE_HDRPLUS,
+ NEXUS_EXPERIMENTAL_2017_SCENE_DISTANCE,
NEXUS_EXPERIMENTAL_2017_END,
diff --git a/msm8998/QCamera2/stack/common/cam_intf.h b/msm8998/QCamera2/stack/common/cam_intf.h
index c5ec33b..7d05fb8 100644
--- a/msm8998/QCamera2/stack/common/cam_intf.h
+++ b/msm8998/QCamera2/stack/common/cam_intf.h
@@ -1148,8 +1148,8 @@
INCLUDE(CAM_INTF_META_DEV_CAM_ENABLE, uint8_t, 1);
/* DevCamDebug metadata CAM_INTF.H AF */
INCLUDE(CAM_INTF_META_DEV_CAM_AF_LENS_POSITION, int32_t, 1);
- INCLUDE(CAM_INTF_META_DEV_CAM_AF_TOF_CONFIDENCE, int32_t, 1);
- INCLUDE(CAM_INTF_META_DEV_CAM_AF_TOF_DISTANCE, int32_t, 1);
+ INCLUDE(CAM_INTF_META_AF_TOF_CONFIDENCE, int32_t, 1);
+ INCLUDE(CAM_INTF_META_AF_TOF_DISTANCE, int32_t, 1);
INCLUDE(CAM_INTF_META_DEV_CAM_AF_LUMA, int32_t, 1);
INCLUDE(CAM_INTF_META_DEV_CAM_AF_HAF_STATE, int32_t, 1);
INCLUDE(CAM_INTF_META_DEV_CAM_AF_MONITOR_PDAF_TARGET_POS, int32_t, 1);
diff --git a/msm8998/QCamera2/stack/common/cam_types.h b/msm8998/QCamera2/stack/common/cam_types.h
index fd75193..89de19c 100644
--- a/msm8998/QCamera2/stack/common/cam_types.h
+++ b/msm8998/QCamera2/stack/common/cam_types.h
@@ -2461,8 +2461,8 @@
CAM_INTF_META_DEV_CAM_ENABLE,
/* DevCamDebug metadata CAM_TYPES.h AF */
CAM_INTF_META_DEV_CAM_AF_LENS_POSITION,
- CAM_INTF_META_DEV_CAM_AF_TOF_CONFIDENCE,
- CAM_INTF_META_DEV_CAM_AF_TOF_DISTANCE,
+ CAM_INTF_META_AF_TOF_CONFIDENCE,
+ CAM_INTF_META_AF_TOF_DISTANCE,
CAM_INTF_META_DEV_CAM_AF_LUMA,
CAM_INTF_META_DEV_CAM_AF_HAF_STATE,
CAM_INTF_META_DEV_CAM_AF_MONITOR_PDAF_TARGET_POS,