和你一起终身学习,这里是程序员Android
经典好文推荐,通过阅读本文,您将收获以下知识点:
一、MFNR 简介
二、MFNR 开关与决策
三、MFNR 相关的adb 命令
四、MFNR log 分析
五 参考文献
一、MFNR 简介
MFNR : Multiple Frame Noise Reduction
MFLL : Multiple Frame Low Light
BSS : Best Select Shot
MFNR 跟 MFLL 是两个功能一致,名称不同的简称,是MTK 推出的YUV domain 多帧降噪的算法。
MFNR 是在 P2_CaputureNode 中 CaptureFeaturePipe 的路径,多帧的raw 首先在 rootnode 中做 bss,同时会做 recorder 动作,然后依次进入到 P2ANode 做 raw2yuv ,产生的yuv等image,送到 MultiFrameNode(挂载 MFNR 算法)中进行多帧降噪处理,产生一张降噪后的YUV;如果还挂在其他的单帧YUV算法,则送YUVNode 处理,最终送到MDPNode 做crop ,resize处理;
大致流程如下:
Raws--> RootNode(BSS)-->Raws-->P2A(Raw2Yuv)-->YUVs-->MultiFrameNode(MFNR)-->YUV-->YUVNode-->YUV-->MDPNode-->Yuv
二、MFNR 开关与决策
2.1 MFNR 开关设置
开关控制在:MTK_CAM_MFB_SUPPORT
代码路径:/device/*/ProjectConfig.mk
如果支持,默认建议设置为 3
MTK_CAM_MFB_SUPPORT =3
0: 关 MFLL
1:开 MFLL
2:开 AIS
3:开 MFLL 和AIS
1.不支持MFNR时,请在 app 中设置
MTK_MFNR_FEATURE_MFB_MODE 为 MTK_MFNR_FEATURE_MFB_OFF
2.支持MFNR 时,请在 app 中设置
MTK_MFNR_FEATURE_MFB_MODE 为 MTK_MFNR_FEATURE_MFB_AUTO,由 CUST_MFLL_AUTO_MODE 决策走哪个模式
3.当支持AIS时,可以使用下面二者任一种
1.MTK_MFNR_FEATURE_AIS_MODE = MTK_MFNR_FEATURE_AIS_ON
2.MTK_MFNR_FEATURE_MFB_MODE = MTK_MFNR_FEA