问题1

现象

切换夜模式后,切换采集帧率,图像会出现斑点
切换夜模式后,切换采集帧率,图像会出现斑点

排查方法

RAW图正常,YUV不正常。

可能的原因

夜模式会有两个动作,一个是硬件操作(打开红外,关闭IRCUT),一个是软件的黑白效果。

经过实测,主要问题在黑白效果这里,当开启黑白效果后,切换采集帧率,图像会出现斑点。

向高通提交了case,待解决。

在设置帧率时候强制切换到日模式,设置完再切换到夜模式,这种方法不可行。可以成功切到日模式,但是夜模式不能生效。

解决方案

开启夜模式或者自动模式的同时会设置帧率为30帧,并保存日模式时的帧率。
开启日模式的同时会设置存储的帧率,如果没有存储帧率,就不进行设置。
在切换帧率的时候,如果判断是在夜模式,就不进行切换。

问题2

现象

出图出不了

排查方法

  1. 骁龙相机可以出图,而执法仪APP不能出图,可以缩小问题范围到媒控或者isp组件。
  2. ispversion没有打印,代表ispctrl没有初始化。也没有startpreview,说明媒控没有开启采集。
  3. 媒控设置分辨率和帧率的时候,会获取camera的能力集,帧率需要大于15帧,支持的分辨率需要大于等于设置的分辨率,
    否则就不会加载ispctrl,也不会开启采集。preview支持的分辨率最大只有320*240

原因

Android8.0的代码对上报的preview尺寸做了限制,最大为屏幕尺寸

解决方案

去除相关逻辑

小结

  1. 摸清楚帧率的整个初始化设置流程。最一开始,camera初始化会有一个初始帧率,然后媒控初始化,会再次设置一个帧率。然后ISP组件初始化的时候,会根据抗闪烁模式和编码帧率设置一个采集帧率。
  2. 高通设备不要在黑白模式下切换采集帧率,图像会出现异常!
  3. Android8.0之后的代码对preview的原始支持的分辨率有限制,最大为屏幕尺寸