Hyp camera数据交互(QNX&Android)

文章详细阐述了在Qcomplatform的Android系统中,如何通过AIS_client接口从QNX侧获取相机数据的过程。数据流经Androidapp、camera2Api、AndroidHAL,然后通过V4L2_proxy在QNX和Android间通信。值得注意的是,数据经过ais_client后,会被注入到V4L2Loopback设备供Cameraapp消费,这样的设计可能旨在适应AndroidCameraHAL的架构需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Qcom platform Android通过Ais_client获取QNX侧camera数据流程:

1.数据发起比如是Android的app,通过camera2Api访问和控制camera,具体细节不展开,可以参考之前的文章有介绍,这里重点介绍AndroidHAL的适配。

2.正常的Android手机camera调用流程到Hal之后,直接通过V4L2驱动去Kernel拿camera的数据,但是对于虚拟化平台,camera的驱动是在QNX侧,camera数据源也即是在QNX,所以Android侧要拿camera数据是通过qcom封装的ais_client接口获取到的,ais_client和ais_sever之间使用的是HAB链路。HAB介绍:

  • 消息传递(实际上就是domain socket实现的),比如camera的打开,buffer的设置等操作
  • 数据共享(Camera data flow is transparent to the message channel. Memory is mapped during set_buffer(). The Getframe() call returns which buffer contains data, allowing the application to use the data and then call releaseFrame() to give it back to the system to use again.)所以参考上图,buffers的申请是在V4L2_proxy里面申请的

3.这里有一个感觉不合理的点就是Android这边通过上面的ais_client拿到数据后又灌倒了V4L2Loopback设备节点里面了,最终被Camera app中的suface消费。这个设计可能是为了适配Android CameraHal吧。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值