camera: enhancement af functionality
-add case for reading AF status and retry value
Bug: 7324783
Change-Id: Ia377b54f296d2b7a240883d6ae128574359ebaba
Signed-off-by: Iliyan Malchev <malchev@google.com>
diff --git a/QCamera_Intf.h b/QCamera_Intf.h
index c3b3972..19df6dd 100644
--- a/QCamera_Intf.h
+++ b/QCamera_Intf.h
@@ -471,6 +471,8 @@
MM_CAMERA_PARM_CAF_TYPE,
#endif
MM_CAMERA_PARM_LUX_IDX,
+ MM_CAMERA_PARM_GET_AF_STATUS,
+ MM_CAMERA_PARM_CHECK_AF_RETRY,
MM_CAMERA_PARM_MAX
} mm_camera_parm_type_t;
@@ -621,6 +623,8 @@
#endif
CAMERA_GET_PARM_LUX_IDX,
CAMERA_GET_PARM_LOW_LIGHT_FOR_ZSL,
+ CAMERA_GET_PARM_AF_STATUS,
+ CAMERA_CHECK_AF_RETRY,
CAMERA_CTRL_PARM_MAX
} cam_ctrl_type;
@@ -1066,6 +1070,11 @@
LED_MODE_MAX
} led_mode_t;
+typedef struct {
+ int is_checking_af_retry;
+ int is_moving;
+} af_actuator_status_t;
+
typedef struct{
int aec_index_for_zsl;
int zsl_flash_enable;
diff --git a/mm-camera-interface/mm_camera.c b/mm-camera-interface/mm_camera.c
index 54c269b..12b61c0 100644
--- a/mm-camera-interface/mm_camera.c
+++ b/mm-camera-interface/mm_camera.c
@@ -494,6 +494,9 @@
MM_CAMERA_STATE_EVT_SET_FMT, fmt);
}
break;
+ case MM_CAMERA_PARM_CHECK_AF_RETRY:
+ return mm_camera_send_native_ctrl_cmd(my_obj, CAMERA_CHECK_AF_RETRY,
+ 0, (void *)NULL);
default:
rc = mm_camera_set_general_parm(my_obj, parm);
break;
@@ -657,6 +660,10 @@
case MM_CAMERA_GET_PARM_LOW_LIGHT_FOR_ZSL:
return mm_camera_send_native_ctrl_cmd(my_obj, CAMERA_GET_PARM_LOW_LIGHT_FOR_ZSL,
sizeof(aec_info_for_flash_t), (void *)parm->p_value);
+
+ case MM_CAMERA_PARM_GET_AF_STATUS:
+ return mm_camera_send_native_ctrl_cmd(my_obj, CAMERA_GET_PARM_AF_STATUS,
+ sizeof(af_actuator_status_t), (void *)parm->p_value);
default:
/* needs to add more implementation */
rc = -1;