增加对AIS的支持

NWMQTT
Matthew 2 months ago
parent 1ba1b9d56a
commit a9535f2df7

@ -750,7 +750,11 @@ int NdkCamera::open(const std::string& cameraId) {
if (m_params.burstRawCapture == 2) if (m_params.burstRawCapture == 2)
{ {
SetupMFNR(mCharacteristics.get(), request->request); SetupMFNR(mCharacteristics.get(), request->request, false);
}
else if (m_params.burstRawCapture == 3)
{
SetupMFNR(mCharacteristics.get(), request->request, true);
} }
mCaptureRequests.push_back(request); mCaptureRequests.push_back(request);
@ -2194,7 +2198,7 @@ void NdkCamera::EnumCameraResult(ACameraMetadata* result, CAPTURE_RESULT& captur
captureResult.compensation = (status == ACAMERA_OK) ? *(val.data.i32) : 0; captureResult.compensation = (status == ACAMERA_OK) ? *(val.data.i32) : 0;
} }
void NdkCamera::SetupMFNR(ACameraMetadata* characteristics, ACaptureRequest* request) void NdkCamera::SetupMFNR(ACameraMetadata* characteristics, ACaptureRequest* request, bool ais)
{ {
// 1. 设置基础的相机参数 // 1. 设置基础的相机参数
// ACaptureRequest_setEntry_i32(request, ACAMERA_CONTROL_MODE, 1, ACAMERA_CONTROL_MODE_AUTO); // ACaptureRequest_setEntry_i32(request, ACAMERA_CONTROL_MODE, 1, ACAMERA_CONTROL_MODE_AUTO);
@ -2244,7 +2248,7 @@ void NdkCamera::SetupMFNR(ACameraMetadata* characteristics, ACaptureRequest* req
// 2. 设置 MediaTek 特定的 MFNR 参数 // 2. 设置 MediaTek 特定的 MFNR 参数
// 使用 vendor tag 描述符 // 使用 vendor tag 描述符
// int32_t mfbMode = MTK_MFNR_FEATURE_MFB_AUTO; // 1 Enable MFNR // int32_t mfbMode = MTK_MFNR_FEATURE_MFB_AUTO; // 1 Enable MFNR
int32_t mfbMode = 1; // 1 Enable MFNR int32_t mfbMode = ais ? 2 : 1; // 1 Enable MFNR
status = ACaptureRequest_setEntry_i32(request, MTK_MFNR_FEATURE_MFB_MODE, 1, &mfbMode); status = ACaptureRequest_setEntry_i32(request, MTK_MFNR_FEATURE_MFB_MODE, 1, &mfbMode);
if (status != ACAMERA_OK) if (status != ACAMERA_OK)
{ {

@ -203,7 +203,7 @@ public:
static void EnumCameraResult(ACameraMetadata* result, CAPTURE_RESULT& captureResult); static void EnumCameraResult(ACameraMetadata* result, CAPTURE_RESULT& captureResult);
protected: protected:
void SetupMFNR(ACameraMetadata* characteristics, ACaptureRequest* request); void SetupMFNR(ACameraMetadata* characteristics, ACaptureRequest* request, bool ais);
protected: protected:
std::mutex m_locker; std::mutex m_locker;

Loading…
Cancel
Save