diff options
Diffstat (limited to 'libcamera/SecCamera.cpp')
-rwxr-xr-x | libcamera/SecCamera.cpp | 35 |
1 files changed, 3 insertions, 32 deletions
diff --git a/libcamera/SecCamera.cpp b/libcamera/SecCamera.cpp index cfa0075..b064227 100755 --- a/libcamera/SecCamera.cpp +++ b/libcamera/SecCamera.cpp @@ -1649,41 +1649,12 @@ int SecCamera::setAutofocus(void) int SecCamera::getAutoFocusResult(void) { - int af_result, count, ret; + int af_result; - for (count = 0; count < FIRST_AF_SEARCH_COUNT; count++) { - ret = fimc_v4l2_g_ctrl(m_cam_fd, V4L2_CID_CAMERA_AUTO_FOCUS_RESULT_FIRST); - if (ret != AF_PROGRESS) - break; - usleep(AF_DELAY); - } - if ((count >= FIRST_AF_SEARCH_COUNT) || (ret != AF_SUCCESS)) { - LOGV("%s : 1st AF timed out, failed, or was canceled", __func__); - af_result = 0; - goto finish_auto_focus; - } + af_result = fimc_v4l2_g_ctrl(m_cam_fd, V4L2_CID_CAMERA_AUTO_FOCUS_RESULT); - for (count = 0; count < SECOND_AF_SEARCH_COUNT; count++) { - ret = fimc_v4l2_g_ctrl(m_cam_fd, V4L2_CID_CAMERA_AUTO_FOCUS_RESULT_SECOND); - /* low byte is garbage. done when high byte is 0x0 */ - if (!(ret & 0xff00)) - break; - usleep(AF_DELAY); - } - if (count >= SECOND_AF_SEARCH_COUNT) { - LOGV("%s : 2nd AF timed out, failed, or was canceled", __func__); - af_result = 0; - goto finish_auto_focus; - } - - af_result = 1; - LOGV("%s : AF was successful, returning %d", __func__, af_result); + LOGV("%s : returning %d", __func__, af_result); -finish_auto_focus: - if (fimc_v4l2_s_ctrl(m_cam_fd, V4L2_CID_CAMERA_FINISH_AUTO_FOCUS, 0) < 0) { - LOGE("ERR(%s):Fail on V4L2_CID_CAMERA_SET_PRE_FLASH", __func__); - return -1; - } return af_result; } |