Qcom平台 Camera 之常见错误和问题

        本文主要记载了一些在调试过程中遇到的错误和问题,及相关的设置、log、解决方法等。如有错误,请交流指正。

目录

调试 帧冻结错误

调试 相机 App 闪退错误

调试 cam banding 现象

调试 cam AEC 算法库文件

调试 cam chromatix 

调试 Flash 闪光灯-连闪

调试 cam 失真系数、畸变系数(鱼眼广角镜头)


调试 帧冻结错误

帧冻结错误sof freeze

mm-camera: <MCT   ><ERROR> 94: mct_bus_sof_thread_run: Session 1: Hinting SOF freeze to happen


调试 相机 App 闪退错误

修改cam vnedor 驱动

cam 在 vendor 驱动中 不能单一设置一组 max_fps=60,否则会应用闪退。
至少要设置一组 max_fps=30 的参数,用于预览。
验证 60fps 的信号,可以在录像模式下,切换高帧率模式 HFR_60 来验证。

调试 cam banding 现象


vt 时钟不对也会导致 banding
设置IC手册推荐的 4 alne 或 2lane 的推荐速率设置

banding 值设置(水波纹相关)

CAM_ANTIBANDING_MODE_AUTO_50HZ , 5 : CAM_ANTIBANDING_MODE_AUTO_60HZ
property_get("persist.vendor.camera.set.afd", prop, "5");

路径:

hardware\qcom\camera\QCamera2\HAL3\QCamera3HWI.cpp

代码如:

// 设置 50 HZ banding 配置
adb shell setprop persist.vendor.camera.set.afd 4
// 设置 60 HZ banding 配置
adb shell setprop persist.vendor.camera.set.afd 5


调试 cam AEC 算法库文件

aec_biz.c 
vendor\qcom\proprietary\mm-camera\mm-camera2\media-controller\modules\stats\q3a\aec

调试 cam chromatix 

950 nm 左右波长,透过红蓝光,组合效果偏紫。当前判断偏紫 滤光片导致。


调试 cam offset 偏移量

属性:

offset -- linecount 偏移,按照手册推荐设置

代码如:

/* IMX307 CONSTANTS */
#define IMX307_MAX_INTEGRATION_MARGIN   2
.vert_offset = IMX307_MAX_INTEGRATION_MARGIN,

值的来源:

 
 调试 cam vt、op、clk配置及计算方式 

代码如:

 .vt_pixel_clk = 178000000,  // line_length_pclk * frame_length_lines * max_fps
 .op_pixel_clk = 445500000,  // MIPI CLK * 2 * Lane cout / 10bit

原理:

1. 这个是 camera mipi 的 clock,我们这里配置的是 254.4MHz,单位一定要注意,有一次FAE把这个值误写,造成camera功耗增大,功耗测试了很久才发现是这个地方写错了
2. 这个的解释是VFE 时钟,表示每秒 VFE 处理的数据量(in pixel),就是一个表示处理数据快慢的单位,如果是全尺寸的话,那么就要配置的大一些。如果是小尺寸的话,就没必要配置很大
3. 这个op_pixel_clk会影响功耗,注意这个配置不能和天线初一同一个频段,或者说这个频率的倍数不能落到天线的频段里面去,否则就会对天线干扰。
4. 这个时钟决定了 sensor mipi data lane 吐出的数据的带宽;不同

.data_rate = 1296000000ULL * 4 // == line_length_pclk * frame_length_lines * max_fps * 10bit

调试 Flash 闪光灯-连闪

        照相机吗? 那是一种防止照相照出红眼的设计。
首先了解一下什么是红眼 。
        红眼”现象的产生:是由于闪光灯的闪光轴与镜头的光轴距离过近,在外界光线很暗的条件下人的瞳孔会相应变大,当闪光灯的闪光透过瞳孔照在眼底时,密密麻麻的微细血管在灯光照应下显现出鲜艳的红色所反射回来,在眼睛上形象“红点”的自然现象,就是“红眼”。
防红眼功能的原理  
        针对这种“红眼”现象,许多数码相机也作了相应的“对策”。一般数码相机消除“红眼”功能主要是通过闪光灯的预闪,促使瞳孔做某种程度的收缩,以减少反射回来的红光。
       这种方法虽然可以有效地减少“红眼”现象,而实际上也是极其有限,并不是真正完全消除或是避免“红眼”现象的发生。
        合理避免“红眼”现象除了相机闪光灯预闪或是作一些技术方面的改进外,比较有效的方法是使用漫射光线,让闪光灯做某种程度的折射(照向天花板,再折射于人像上),或是利用外部的闪光灯,加大镜头与闪光灯之间的距离,都可以有效地消除红眼。


调试 cam 失真系数、畸变系数(鱼眼广角镜头)

参考链接:
  https://blog.csdn.net/xiong452980729/article/details/49964265

猜你喜欢

转载自blog.csdn.net/FANG_YISHAO/article/details/118720175