UVC Camera不能正常出图的几种情况

       最近支持客户适配Android工控机上支持多款摄像头,发现其中一款比较特殊,如果同时有3个及以下数量的摄像头同时工作时,可以正常预览、并且获得正常的图像。而当接入4个摄像头的时候,出现异常现象如下:

        1.  全部4个摄像头预览、拍摄画面模糊不清;

        2.  部分画面清晰,其中一两个画模糊不清晰;

       表面看起来和似乎和带宽不足有关,而且kernel中有低概率出现bandwidth异常的信息,联系这种特定的摄像头厂家在更新固件后,这个错误信息不再发生,但是拍摄画面仍然是和上面描述一样的现象。

        接下来分析dmesg分析kernel中的log打印,发现了关键的一条信息

        alloc_contig_range test_pages_isolated(35000, 357e9) failed

        这条信息和CMA(连续物理内存的分配)内存分配有关,而现代的arm架构下,Camera等设备需要依赖CMA,联想到机器本身只有1G内存,而kernel中分配ion_cma为配置之前呗减小过,所以想到应该是CMA不够用导致的画面异常。重新再dts中修改ion_cma的大小,重新测试,4个摄像头全部画面正常。

        总结:

        1. uvc camera拍照异常可能是机器本身带宽不足,需要camera固件配合调整,或者Android平台支持;

        2. 系统CMA或者其他配置为瓶颈,需要调整;



作者:Hemsl
链接:https://www.jianshu.com/p/590afe1253e6
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值