在上一篇文章中介绍了camera的基础知识和相关概念,我们一起来了解一下驱动相关的代码结构。本文以高通+android平台为示例,首先看一下整体框图:
这张图是从整体上来看的
1,图中最下面的是kernel层的驱动,其中按照V4L2架构实现了camera sensor等驱动,向用户空间提供/dev/video0节点
2,在往上是HAL层,高通代码实现了对/dev/video0的基本操作,对接了android的camera相关的interface。(ps,HAL层的库中也封装了sensor端一些核心逻辑代码。将驱动的操作逻辑放在HAL层是为了避免linux的开源属性对厂商私有技术的泄露)3,在之上就是android的架构对camera的处理,不是本文重点,暂不展开。
V4L2架构图
本小节内容摘自(http://blog.csdn.net/rubyboss/article/details/14053523)
V4L2支持三类设备:视频输入输出设备