zl程序教程

您现在的位置是:首页 >  后端

当前栏目

V4L2架构分析(一)

架构 分析 V4l2
2023-09-11 14:15:47 时间

V4L2架构图:


 用到的IOCTL如下:

VIDIOC_QUERYCAP 查询设备的属性
VIDIOC_ENUM_FMT 帧格式
VIDIOC_S_FMT 设置视频帧格式,对应struct v4l2_format
VIDIOC_G_FMT 获取视频帧格式等
VIDIOC_REQBUFS 请求/申请若干个帧缓冲区,一般为不少于3个
VIDIOC_QUERYBUF 查询帧缓冲区在内核空间的长度和偏移量
VIDIOC_QBUF 将申请到的帧缓冲区全部放入视频采集输出队列
VIDIOC_STREAMON 开始视频流数据的采集
VIDIOC_DQBUF 应用程序从视频采集输出队列中取出已含有采集数据的帧缓冲区
VIDIOC_STREAMOFF 应用程序将该帧缓冲区重新挂入输入队列

2.struct v4l2_device在v4l2_framework中具有超然的地位,实际上,它应该叫做v4l2_root更能体现它的位置.在一个实现中仅此一个,没有副本,一般是代表设备的的对象,比如 struct platform_device, uvc device 或者PCI device. 中嵌入定义,如下图所示:

平台设备注册: