ISP Q&A
Q1:MI_ISP_IQ_SetNR3D接口返回错误0x6,如何排查?
-
确保isp有数据进来
-
检查通道号是否下错
-
3dnr等级是否打开
-
isp格式是否为bayer
Q2: ISP Inputport模块做Crop时,SCL有如下报错信息。
[20210525_10:39:25.835][MI WRN ]: _MI_ISP_OnPreProcessInputTask[1354]: output port0,set size(0,0,960,1080), no support crop, adjust rect(0,0,480,240)[MI ERR ]: _MI_SCL_CheckCropValid[820]: Crop x 0, width 960 > src width 480 [20210525_10:39:25.856][MI ERR ]: _MI_SCL_CheckCropValid[830]: Crop y 0, height 1080 > src height 240 [20210525_10:39:25.857][MI WRN ]: _MI_SCL_OutputAttrConfig[1496]: chn 0, port 0, crop win param invalid [20210525_10:39:25.858][MI ERR ]: _MI_SCL_CheckCropValid[820]: Crop x 0, width 960 > src width 480 [20210525_10:39:25.859][MI ERR ]: _MI_SCL_CheckCropValid[830]: Crop y 0, height 1080 > src height 240 [20210525_10:39:25.860][MI WRN ]: _MI_SCL_OutputAttrConfig[1496]: chn 0, port 3, crop win param invalid
从如上错误打印信息来看,是因为crop的参数设置异常,导致报错。
具体的错误原因是因为src的分辨率是480x240,但是crop的size却设置成960x1080。
将scl debug level 设置成4,抓kmsg打印信息进行分析发现在scl output接口,将outpot crop rect参数设置成960x1080了。(echo 4 > /proc/mi_modules/mi_scl/debug_level)
根据crop的使用情况,如果后级模块不需要再做crop,只需要将crop rect的值设置为0即可,如果需要做crop,请将值设置成合法的参数(小于src width/height的值)。
Q3:vif frame mode->isp realtime->scl,不断destroy isp channel,create isp channel,发生wdma0 cmdq timeout err
原因:整个流程中没有对isp和scl做unbind/bind, isp destroy channel,create channel以后isp bindmodule信息为0误认为后端没有scl,没有和scl sync,导致scl 收到的数据会不足。
解决方法:调用isp destroy channel之前必须先对isp 和 scl 做unbind的动作。