From 00015a88f7c26fe33ccbb2cc438ea1bc79477676 Mon Sep 17 00:00:00 2001 From: Matthew Date: Sun, 17 Sep 2023 17:15:08 +0800 Subject: [PATCH] =?UTF-8?q?IMX576=E6=95=88=E6=9E=9C=E8=B0=83=E4=BC=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/PhoneDevice.cpp | 5 +++++ app/src/main/cpp/PhoneDevice.h | 1 + app/src/main/cpp/camera2/ndkcamera.cpp | 19 +++++++++++++------ app/src/main/cpp/camera2/ndkcamera.h | 2 ++ 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index 872bc59a..3257f845 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -233,6 +233,11 @@ bool CPhoneDevice::UpdateTime(time_t ts) return (ret == JNI_TRUE); } +bool CPhoneDevice::UpdateSchedules() +{ + return true; +} + bool CPhoneDevice::QuerySystemProperties(map& properties) { char value[PROP_VALUE_MAX] = { 0 }; diff --git a/app/src/main/cpp/PhoneDevice.h b/app/src/main/cpp/PhoneDevice.h index dc86e510..0a828862 100644 --- a/app/src/main/cpp/PhoneDevice.h +++ b/app/src/main/cpp/PhoneDevice.h @@ -33,6 +33,7 @@ public: virtual void SetListener(IListener* listener); virtual bool UpdateTime(time_t ts); + virtual bool UpdateSchedules(); virtual bool QuerySystemProperties(map& properties); virtual bool Reboot(); virtual timer_uid_t RegisterHeartbeat(unsigned int timerType, unsigned int timeout); diff --git a/app/src/main/cpp/camera2/ndkcamera.cpp b/app/src/main/cpp/camera2/ndkcamera.cpp index 197225e8..dfba86e4 100644 --- a/app/src/main/cpp/camera2/ndkcamera.cpp +++ b/app/src/main/cpp/camera2/ndkcamera.cpp @@ -248,7 +248,8 @@ int NdkCamera::open(const char* cameraId) ACameraMetadata_const_entry e = { 0 }; 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]) { hdrSupported = true; @@ -331,16 +332,16 @@ int NdkCamera::open(const char* cameraId) bool usingAE = true; if (usingAE) { - uint8_t aeModeOff = ACAMERA_CONTROL_AE_MODE_ON; - ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AE_MODE, 1, &aeModeOff); + uint8_t aeMode = ACAMERA_CONTROL_AE_MODE_ON; + res = ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AE_MODE, 1, &aeMode); // ACaptureRequest_setEntry_i32(capture_request, ACAMERA_SENSOR_SENSITIVITY, 1, &sensitivity_); uint8_t aeLockOff = ACAMERA_CONTROL_AE_LOCK_OFF; ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AE_LOCK, 1, &aeLockOff); } else { - uint8_t aeModeOff = ACAMERA_CONTROL_AE_MODE_OFF; - res = ACaptureRequest_setEntry_u8(capture_request, ACAMERA_CONTROL_AE_MODE, 1, &aeModeOff); + uint8_t aeMode = ACAMERA_CONTROL_AE_MODE_OFF; + 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 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); } + 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) { 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); @@ -643,7 +650,7 @@ void NdkCamera::onCaptureCompleted(ACameraCaptureSession* session, ACaptureReque uint8_t aeMode = val.data.u8[0]; // 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); } \ No newline at end of file diff --git a/app/src/main/cpp/camera2/ndkcamera.h b/app/src/main/cpp/camera2/ndkcamera.h index 318c7545..f96acb41 100644 --- a/app/src/main/cpp/camera2/ndkcamera.h +++ b/app/src/main/cpp/camera2/ndkcamera.h @@ -65,6 +65,8 @@ public: bool hdrSupported; bool nightModeSupported; bool nightPortraitModeSupported; + bool afSupported; + bool awbSupported; // int64_t exposureTime_; RangeValue exposureRange; // int32_t sensitivity_;