|
|
|
@ -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)
|
|
|
|
|
{
|
|
|
|
|