增加对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)
{
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);
@ -2194,7 +2198,7 @@ void NdkCamera::EnumCameraResult(ACameraMetadata* result, CAPTURE_RESULT& captur
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. 设置基础的相机参数
// 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 参数
// 使用 vendor tag 描述符
// 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);
if (status != ACAMERA_OK)
{

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

Loading…
Cancel
Save