|
|
@ -248,7 +248,8 @@ int NdkCamera::open(const char* cameraId)
|
|
|
|
ACameraMetadata_const_entry e = { 0 };
|
|
|
|
ACameraMetadata_const_entry e = { 0 };
|
|
|
|
ACameraMetadata_getConstEntry(camera_metadata, ACAMERA_CONTROL_AVAILABLE_SCENE_MODES, &e);
|
|
|
|
ACameraMetadata_getConstEntry(camera_metadata, ACAMERA_CONTROL_AVAILABLE_SCENE_MODES, &e);
|
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < e.count; i ++) {
|
|
|
|
for (int i = 0; i < e.count; i ++)
|
|
|
|
|
|
|
|
{
|
|
|
|
if (ACAMERA_CONTROL_SCENE_MODE_HDR == e.data.u8[i])
|
|
|
|
if (ACAMERA_CONTROL_SCENE_MODE_HDR == e.data.u8[i])
|
|
|
|
{
|
|
|
|
{
|
|
|
|
hdrSupported = true;
|
|
|
|
hdrSupported = true;
|
|
|
@ -331,16 +332,16 @@ int NdkCamera::open(const char* cameraId)
|
|
|
|
bool usingAE = true;
|
|
|
|
bool usingAE = true;
|
|
|
|
|
|
|
|
|
|
|
|
if (usingAE) {
|
|
|
|
if (usingAE) {
|
|
|
|
uint8_t aeModeOff = ACAMERA_CONTROL_AE_MODE_ON;
|
|
|
|
uint8_t aeMode = ACAMERA_CONTROL_AE_MODE_ON;
|
|
|
|
ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AE_MODE, 1, &aeModeOff);
|
|
|
|
res = ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AE_MODE, 1, &aeMode);
|
|
|
|
// ACaptureRequest_setEntry_i32(capture_request, ACAMERA_SENSOR_SENSITIVITY, 1, &sensitivity_);
|
|
|
|
// ACaptureRequest_setEntry_i32(capture_request, ACAMERA_SENSOR_SENSITIVITY, 1, &sensitivity_);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint8_t aeLockOff = ACAMERA_CONTROL_AE_LOCK_OFF;
|
|
|
|
uint8_t aeLockOff = ACAMERA_CONTROL_AE_LOCK_OFF;
|
|
|
|
ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AE_LOCK, 1, &aeLockOff);
|
|
|
|
ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AE_LOCK, 1, &aeLockOff);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
uint8_t aeModeOff = ACAMERA_CONTROL_AE_MODE_OFF;
|
|
|
|
uint8_t aeMode = ACAMERA_CONTROL_AE_MODE_OFF;
|
|
|
|
res = ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AE_MODE, 1, &aeModeOff);
|
|
|
|
res = ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AE_MODE, 1, &aeMode);
|
|
|
|
|
|
|
|
|
|
|
|
uint8_t hdrMode = ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10; // ACAMERA_CONTROL_SCENE_MODE_HDR
|
|
|
|
uint8_t hdrMode = ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10; // ACAMERA_CONTROL_SCENE_MODE_HDR
|
|
|
|
res = ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_SCENE_MODE_HDR, 1, &hdrMode);
|
|
|
|
res = ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_SCENE_MODE_HDR, 1, &hdrMode);
|
|
|
@ -351,6 +352,12 @@ int NdkCamera::open(const char* cameraId)
|
|
|
|
res = ACaptureRequest_setEntry_i64(capture_request, ACAMERA_SENSOR_EXPOSURE_TIME, 1, &exposureTime);
|
|
|
|
res = ACaptureRequest_setEntry_i64(capture_request, ACAMERA_SENSOR_EXPOSURE_TIME, 1, &exposureTime);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint8_t afMode = ACAMERA_CONTROL_AF_MODE_CONTINUOUS_VIDEO;
|
|
|
|
|
|
|
|
res = ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AF_MODE, 1, &afMode);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint8_t awbMode = ACAMERA_CONTROL_AWB_MODE_AUTO;
|
|
|
|
|
|
|
|
res = ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AWB_MODE, 1, &awbMode);
|
|
|
|
|
|
|
|
|
|
|
|
if (hdrSupported) {
|
|
|
|
if (hdrSupported) {
|
|
|
|
uint8_t hdrMode = ACAMERA_CONTROL_SCENE_MODE_HDR; // ACAMERA_CONTROL_SCENE_MODE_HDR
|
|
|
|
uint8_t hdrMode = ACAMERA_CONTROL_SCENE_MODE_HDR; // ACAMERA_CONTROL_SCENE_MODE_HDR
|
|
|
|
// res = ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_SCENE_MODE_HDR, 1, &hdrMode);
|
|
|
|
// res = ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_SCENE_MODE_HDR, 1, &hdrMode);
|
|
|
@ -643,7 +650,7 @@ void NdkCamera::onCaptureCompleted(ACameraCaptureSession* session, ACaptureReque
|
|
|
|
uint8_t aeMode = val.data.u8[0];
|
|
|
|
uint8_t aeMode = val.data.u8[0];
|
|
|
|
// ACaptureRequest_setEntry_i32(capture_request, ACAMERA_SENSOR_SENSITIVITY, 1, &sensitivity_);
|
|
|
|
// ACaptureRequest_setEntry_i32(capture_request, ACAMERA_SENSOR_SENSITIVITY, 1, &sensitivity_);
|
|
|
|
|
|
|
|
|
|
|
|
ALOGD("onCaptureCompleted EXPOSURE_TIME=%lld, camera id=%s, AE=%s", val.data.i64[0], mCameraId.c_str(), ((aeMode == 1) ? 'ON' : 'OFF'));
|
|
|
|
ALOGD("onCaptureCompleted EXPOSURE_TIME=%lld, camera id=%s, AE=%s", exTime, mCameraId.c_str(), ((aeMode == 1) ? "ON" : "OFF"));
|
|
|
|
|
|
|
|
|
|
|
|
// __android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onCaptureCompleted %p %p %p", session, request, result);
|
|
|
|
// __android_log_print(ANDROID_LOG_WARN, "NdkCamera", "onCaptureCompleted %p %p %p", session, request, result);
|
|
|
|
}
|
|
|
|
}
|