【展锐】双摄帧同步踩坑
导通配置步骤:
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 10到30fp浮动帧率2.导通硬件帧同步后代码中的这个命令的值也要同步修改才算是硬件帧同步固定fps,
SprdCamera3OEMIf.cpp中setCamPreviewFps函数中可以看到此条命令也明确写了注释硬件帧同步不支持浮动帧率,
只能固定帧率;所以在导通硬件帧同步的时候见方法二默认他就是浮动帧率的,就算你按照浮动fps导通了硬件帧同
步,验证也没有问题,但是到测试开始测试后就会报隐藏问题,这就需要回头排查帧同步,而且很难排查到硬件帧
同步需要固定
硬件帧同步同软件帧同步对比
硬件帧同步:只能是固定帧率,这点会影响到算法和tuning调试,而且后续报问题较多,如环境亮度突然激增容易出
现卡顿或者卡死,主辅摄帧率不一致也会导致过曝;但是随着使用时间增长,他还是能够保证同步质量;
软同步:为浮动帧率,没有配置软同步会导致预览画面很暗或者很亮,但是展锐平台的AE能力不是很强,很容易导
致fps不一致,也就很容易没有同步上
双摄注意点:
最开始要给平台帮忙评估,主辅摄最大支持多少size,最大fps为多少,支持浮动还是固定帧率,不要拿到需求
就开始做
【展锐】双摄帧同步踩坑相关推荐
- otter 带表情包同步踩坑及解决方案
otter 带表情包同步踩坑及解决方案 一.事情发生 在年末22点44分突然收到微信告警otter同步异常告警,channel_id为6的同步channel挂起,而且一直没有恢复,一直在告警 微信 ...
- MTK6797 双摄帧同步问题确认(软同步)
涉及模块: Hwsync, 相关代码: 1.vendor\mediatek\proprietary\hardware\mtkcam\drv\src\sensor\common\v1\ hwsync_d ...
- MTK 双摄帧同步问题确认
设计模块:Hwsync 相关代码: vendor\mediatek\proprietary\hardware\mtkcam\drv\src\sensor\common\v1 hwsync_drv.cp ...
- MTK双摄帧同步问题确认~软同步
M6206帧同步问题确认: 涉及模块: Hwsync, 相关代码: 1.vendor\mediatek\proprietary\hardware\mtkcam\drv\src\sensor\commo ...
- intelGPA 抓帧的踩坑记录,图文
先说能实现的过程 , 结尾再说踩的什么坑(2021年5月8日,本文使用夜神模拟器,仅供学习使用) : 0.0 gpa的下载地址: https://software.intel.com/content/ ...
- otter自定义数据同步踩坑实录
otter自定义数据同步 otter支持数据处理自定义过程. Extract模块: EventProcessor : 自定义数据处理,可以改变一条变更数据的任意内容 FileResolver : 解决 ...
- 芯片与android关系,紫光展锐芯片平台实现与安卓11同步意味着什么
最近几天,大家都被苹果的新品发布会消息所吸引,其实除了苹果,谷歌也有大动作,其于9月9日凌晨放出了Android 11稳定版,作为目前智能手机市场份额最高的操作系统,Android的升级对于用户的影响 ...
- amd同步多线程_流言终结者系列:第三代锐龙关同步多线程能增加游戏帧数?
原标题:流言终结者系列:第三代锐龙关同步多线程能增加游戏帧数? 文 | Strike 关于AMD锐龙处理器玩游戏要关掉同步多线程(SMT)这传言其实已经流传已久,说真的这话放到以前可能还真的有这可能, ...
- 帧同步分离逻辑层和渲染层_帧同步的一些坑
一. 简述 我们用最精简的模型来描述一下帧同步. 客户端检测服务器的逻辑帧 -> 拿到逻辑帧 -> 进行处理 -> 处理出结果 -> 完成本次逻辑帧处理 -> 表现层将处 ...
最新文章
- 青龙羊毛——去趟转(搬运,非原创)
- Nessus Scan
- Target runtime Apache Tomcat v6.0 is not defined.错误解决方法
- java调用spark_spark中的并行方法调用以及传递方法中使用spark会话
- antd form rules字数限制_【React】antd的form表单的自定义校验规则的用法
- btree索引和hash索引的区别(待更新)
- 30岁程序员吐槽:一分钟只能赚3.3元,混得太差!算出月薪后我服了
- celery 4.1下报kombu.exceptions.EncodeError: Object of type 'bytes' is not JSON serializable 处理方式...
- MFC——在共享DLL中使用MFC、在静态库中使用MFC
- 国外问卷调查怎么做?谁都能做吗?
- Windows系统如何关闭防火墙保姆式教程,超详细
- Ecshop系统二次开发教程及流程演示
- pyqt QLineEdit 详细用法
- Ubuntu重装NVIDIA显卡驱动
- [ASP.NET MVC 小牛之路]02 - C#知识点提要
- windows安装paddlepaddle踩坑教程
- 中小学计算机知识ppt,中小学信息技术课程标准解读.ppt
- 信号(进程间的通信方式)
- (转载)机器学习方法的PPT .
- spark并行度(parallelism)和分区(partition)未生效的问题