Advertisement

v4l2 编程接口(二)Driver

阅读量:

V4L2 1.2 驱动体系因硬件环境的变化而展现出越来越复杂的特性,在 /dev 目录中不仅需要创建 V4L2 设备节点还需要建立包括 DVB、ALSA、FB、I2C 和 input 等多种类型设备节点。事实上 V4L2 驱动体系所需支持的功能涵盖了音频信号与视频信号的混合、编码以及解码等关键环节因此其复杂程度远超其他通用驱动体系。这些 IC 芯片通常通过 i2c 总线连接至主板并被统称为子设备实例。长期以来 V4L2 驱动始终局限于在 video_device 结构体内进行配置并且以 video_buf 作为视频缓存管理机制这导致所有驱动实例必须独立管理各自所属的子设备实例这样的管理架构往往会导致工作流程繁琐且容易引发系统故障许多标准代码因缺乏统一化的基础架构难以进行重构基于此 V4L2 框架进行了相应的优化:引入了 v4l2_device 结构体作为独立设备实例以及 v4l2_subdev 结构体作为子设备管理单元 video_device 结构体内嵌入了 v4l2_device 节点未来还将增加 v4l2_fh 结构体用于文件句柄管理每个设备都会采用 v4l2_device 格式化数据来进行表示相对简单的设备可以直接申请这一格式化的数据结构但通常会将其嵌入到一个更大的数据架构中以实现更加复杂的功能配置

1、 video_device

在 v4l2 中用 struc

全部评论 (0)

还没有任何评论哟~