自动曝光增加测光处理

serial
BlueMatthew 1 year ago
parent 71e18a3a47
commit 830877f972

@ -875,6 +875,19 @@ void NdkCamera::onCaptureCompleted(ACameraCaptureSession* session, ACaptureReque
if (m_imagesCaptured == ~0) if (m_imagesCaptured == ~0)
{ {
if (m_params.autoExposure != 0)
{
val = { 0 };
status = ACameraMetadata_getConstEntry(result, ACAMERA_CONTROL_AE_STATE, &val);
mResult.aeState = (status == ACAMERA_OK) ? val.data.u8[0] : ACAMERA_CONTROL_AE_STATE_INACTIVE;
if (mResult.aeState == ACAMERA_CONTROL_AE_STATE_PRECAPTURE)
{
uint8_t aePrecatureTrigger = ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_START;
status = ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER, 1, &aePrecatureTrigger);
return;
}
}
if (afSupported && (m_params.autoFocus != 0)) if (afSupported && (m_params.autoFocus != 0))
{ {
val = { 0 }; val = { 0 };
@ -907,9 +920,7 @@ void NdkCamera::onCaptureCompleted(ACameraCaptureSession* session, ACaptureReque
return; return;
} }
val = { 0 };
status = ACameraMetadata_getConstEntry(result, ACAMERA_CONTROL_AE_STATE, &val);
mResult.aeState = (status == ACAMERA_OK) ? val.data.u8[0] : ACAMERA_CONTROL_AE_STATE_INACTIVE;
val = { 0 }; val = { 0 };
status = ACameraMetadata_getConstEntry(result, ACAMERA_SENSOR_EXPOSURE_TIME, &val); status = ACameraMetadata_getConstEntry(result, ACAMERA_SENSOR_EXPOSURE_TIME, &val);

Loading…
Cancel
Save