1.v4l2架构的功能(video for linux 2)
V4l2可以支持多种设备,它可以有以下几种接口:
视频采集接口(video capture interface):这种应用的设备
可以是高频头或者摄像头,V4L2的最初设计就是应用于这种功能的。
视频输出接口(video output interface):可以驱动计算机的外围视
频图像设备--像可以输出电视信号格式的设备。
直接传输视频接口(video overlay interface):它的主要工作是把
从视频采集设备采集过来的信号直接输出到输出设备之上,而不用经过系统的CPU。
视频间隔消隐信号接口(VBI interface):它可以使应用可以访问传输消隐期的视频信号。
收音机接口(radio interface):可用来处理从AM或FM高频头设备接收来的音频流。
2.v4l2驱动框架图
![](https://img-blog.csdnimg.cn/img_convert/10a8ceadb323d6828a967c4a68bc7b40.jpeg)
![](https://img-blog.csdnimg.cn/img_convert/7ddfed484b80dc18ebfc696465b1fe07.png)
3.V4L2驱动编写流程
1.分配对象
struct video_device
{
const struct v4l2_file_operation *fops;//操作方法结构体
struct cdev *cdev;//(file_operation)字符设备驱动
struct v4l2_device *v4l2_dev;//v4l2_device par