|
|
|
@ -116,7 +116,8 @@ NdkCamera::NdkCamera(int32_t width, int32_t height, const NdkCamera::CAMERA_PARA
|
|
|
|
|
m_imagesCaptured = ~0;
|
|
|
|
|
|
|
|
|
|
afSupported = false;
|
|
|
|
|
lockAvailable = false;
|
|
|
|
|
aeLockAvailable = false;
|
|
|
|
|
awbLockAvailable = false;
|
|
|
|
|
|
|
|
|
|
hdrSupported = false;
|
|
|
|
|
nightModeSupported = false;
|
|
|
|
@ -315,7 +316,13 @@ int NdkCamera::open(const std::string& cameraId) {
|
|
|
|
|
ACameraMetadata_const_entry e = {0};
|
|
|
|
|
status = ACameraMetadata_getConstEntry(camera_metadata,ACAMERA_CONTROL_AE_LOCK_AVAILABLE, &e);
|
|
|
|
|
// AASSERT(status == ACAMERA_OK, "ACameraMetadata_getConstEntry::ACAMERA_CONTROL_AF_AVAILABLE_MODES return error, %d", status);
|
|
|
|
|
lockAvailable = (status == ACAMERA_OK) ? (*e.data.u8 == ACAMERA_CONTROL_AE_LOCK_AVAILABLE_TRUE) : false;
|
|
|
|
|
aeLockAvailable = (status == ACAMERA_OK) ? (*e.data.u8 == ACAMERA_CONTROL_AE_LOCK_AVAILABLE_TRUE) : false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
ACameraMetadata_const_entry e = {0};
|
|
|
|
|
status = ACameraMetadata_getConstEntry(camera_metadata,ACAMERA_CONTROL_AWB_LOCK_AVAILABLE, &e);
|
|
|
|
|
awbLockAvailable = (status == ACAMERA_OK) ? (*e.data.u8 == ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_TRUE) : false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
@ -470,7 +477,7 @@ int NdkCamera::open(const std::string& cameraId) {
|
|
|
|
|
// m_imagesCaptured = 0;
|
|
|
|
|
|
|
|
|
|
uint8_t awbMode = ACAMERA_CONTROL_AWB_MODE_AUTO;
|
|
|
|
|
// res = ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AWB_MODE, 1, &awbMode);
|
|
|
|
|
status = ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AWB_MODE, 1, &awbMode);
|
|
|
|
|
|
|
|
|
|
if (hdrSupported && m_params.hdrMode) {
|
|
|
|
|
uint8_t hdrMode = ACAMERA_CONTROL_SCENE_MODE_HDR;
|
|
|
|
@ -917,7 +924,7 @@ void NdkCamera::onCaptureCompleted(ACameraCaptureSession* session, ACaptureReque
|
|
|
|
|
}
|
|
|
|
|
else if (mResult.aeState == ACAMERA_CONTROL_AE_STATE_CONVERGED)
|
|
|
|
|
{
|
|
|
|
|
if (lockAvailable)
|
|
|
|
|
if (aeLockAvailable)
|
|
|
|
|
{
|
|
|
|
|
uint8_t aeLock = ACAMERA_CONTROL_AE_LOCK_ON;
|
|
|
|
|
status = ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AE_LOCK, 1, &aeLock);
|
|
|
|
|