【展锐】双摄帧同步踩坑

导通配置步骤:
sensor_config.xml文件

主摄位置添加
<SensorRole>dualcam_master</SensorRole>
辅摄添加
<SensorRole>dualcam_slave</SensorRole>

驱动文件

软同步导通
sensor_ic_ops sensor_name_ops_tab中添加.read_aec_info = sensor_read_aec_info即可
硬件帧同步导通
在stream on函数中添加判断后调用写入寄存器的函数即可
主摄:
    if(sns_drv_cxt->is_multi_mode>0 && sns_drv_cxt->is_multi_mode != MODE_TUNING) {
        sensor_drv_set_master_FrameSync(handle, param); //函数里的寄存器最好按照datasheet来
    }
辅摄:
    if(sns_drv_cxt->is_multi_mode>0 && sns_drv_cxt->is_multi_mode != MODE_TUNING) {
        sensor_drv_set_slave_FrameSync(handle, param);
    }

软同步和硬同步只能存在一个,使用硬同步的话,软同步就得注释掉

帧同步确认

硬件帧同步确认
adb shell setprop persist.vendor.cam.bokeh.dump capdepth
1. 执行命令: adb shell setprop persist.vendor.cam.bokeh.dump capdepth
2. 打开虚化模式下相机对着显示器已运行的秒表工具“OnlyStopWatch_x64”显示界面进行拍照;
3. Dump yuv图片:adb pull data/vendor/cameraserver 指定存放位置;
4. 使用“yuv2bmp”工具将对应主副摄的Yuv图片转换为bmp图片,查看主副摄bmp图片秒表时间显示;
5. 主副摄帧同步时间差标准≤10ms,正常情况下几乎相等;
6. 测量主辅摄mipi data波形和sync信号波形

软同步确认
抓取实时log确认关键词:aec_alg_status_printf
ae.m,5,stb,near_stb,face_unstb,unlock,50Hz,fps[10.00, 30.00]:11.11
ae.s0,7,unstb,near_unstb,face_unstb,unlock,50Hz,fps[10.00, 30.00]:11.11
ae.m,6,stb,near_stb,face_unstb,unlock,50Hz,fps[10.00, 30.00]:11.11
ae.s0,8,unstb,near_unstb,face_unstb,unlock,50Hz,fps[10.00, 30.00]:11.11
ae.m,7,stb,near_stb,face_unstb,lock,50Hz,fps[10.00, 30.00]:11.11
ae.s0,9,unstb,near_unstb,face_unstb,unlock,50Hz,fps[10.00, 30.00]:11.11
ae.m,8,stb,near_stb,face_unstb,lock,50Hz,fps[10.00, 30.00]:11.11
ae.m表示主摄,ae.s0代表辅摄

到这里帧同步就算是导通了,坑在哪里,主要是硬件帧同步

1.在看文档时总能看到硬件帧同步上层固定19或者20fps,但是怎么固定又不告诉你
方法一:*#*#83781#*#*向右滑动找到HARDWAREZ中camera FPS这里全部设置为19或者20就算是固定fps了
方法二:adb shell setprop persist.vendor.cam.bokeh.preview.fps 1919 命令固定;
默认是 adb shell setprop persist.vendor.cam.bokeh.preview.fps 3010 1030fp浮动帧率

2.导通硬件帧同步后代码中的这个命令的值也要同步修改才算是硬件帧同步固定fps,
SprdCamera3OEMIf.cpp中setCamPreviewFps函数中可以看到此条命令也明确写了注释硬件帧同步不支持浮动帧率,
只能固定帧率;所以在导通硬件帧同步的时候见方法二默认他就是浮动帧率的,就算你按照浮动fps导通了硬件帧同
步,验证也没有问题,但是到测试开始测试后就会报隐藏问题,这就需要回头排查帧同步,而且很难排查到硬件帧
同步需要固定

硬件帧同步同软件帧同步对比

硬件帧同步:只能是固定帧率,这点会影响到算法和tuning调试,而且后续报问题较多,如环境亮度突然激增容易出
现卡顿或者卡死,主辅摄帧率不一致也会导致过曝;但是随着使用时间增长,他还是能够保证同步质量;
软同步:为浮动帧率,没有配置软同步会导致预览画面很暗或者很亮,但是展锐平台的AE能力不是很强,很容易导
致fps不一致,也就很容易没有同步上

双摄注意点:

最开始要给平台帮忙评估,主辅摄最大支持多少size,最大fps为多少,支持浮动还是固定帧率,不要拿到需求
就开始做
  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来碗炒饭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值