首页
›
Linux内核与驱动
›
003-Linux V4L2摄像头驱动
›
《V4L2驱动ioctl接口开发与视频设备控制》
VIP10
本课程属于:003-Linux V4L2摄像头驱动
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
V4L2驱动ioctl接口开发与视频设备控制
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
V4L2概述
V4L2框架历史 · 在Linux多媒体子系统中的位置 · 核心设计思想
V4L2
框架历史
02
Video节点基础
/dev/videoX节点的创建 · 主设备号与次设备号 · udev规则与节点权限
Video
节点基础
03
字符设备驱动接口
file_operations结构体 · open/release/ioctl…
字符设备驱动接口
file
04
ioctl系统调用流程
用户态ioctl -> 内核vfs_…
ioctl
系统调用流程
05
V4L2核心ioctl分发机制
video_ioctl2函数 · v4l2_ioctl_ops结构体 · 命令码匹配与路由
V4L2
ioctl
06
VIDIOC_QUERYCAP
查询设备能力 · capability标志位解析 · 驱动填充v4l2_capabilit…
VIDIOC
QUERYCAP
07
VIDIOC_ENUM_FMT
枚举支持的像素格式 · v4l2_fmtdesc结构体 · MJPEG/YUYV/NV12等常见…
VIDIOC
ENUM
08
VIDIOC_S_FMT与VIDIOC_G_FMT
设置与获取当前数据格式 · v4l2_format结构体 · 分辨率与帧间隔
VIDIOC
FMT
09
VIDIOC_REQBUFS
请求分配缓冲区 · v4l2_requestbuffer… · 内存类型(V4L2_MEMORY_M…
VIDIOC
REQBUFS
10
VIDIOC_QUERYBUF
查询缓冲区状态 · v4l2_buffer结构体 · offset与length字段
VIDIOC
QUERYBUF
11
VIDIOC_QBUF与VIDIOC_DQBUF
入队与出队操作 · 缓冲区循环队列管理 · 驱动侧vb2_buffer处理
VIDIOC
QBUF
12
VIDIOC_STREAMON与VIDIOC_STREAMOFF
启动与停止视频流 · 硬件DMA使能/禁用 · 中断处理关联
VIDIOC
STREAMON
13
VIDIOC_S_PARM与VIDIOC_G_PARM
设置与获取帧率参数 · v4l2_streamparm结构体 · timeperframe字段
VIDIOC
PARM
14
VIDIOC_ENUM_INPUT与VIDIOC_S_INPUT
枚举与切换视频输入源 · v4l2_input结构体 · 复合视频与HDMI
VIDIOC
ENUM
15
VIDIOC_ENUM_OUTPUT与VIDIOC_S_OUTPUT
枚举与切换视频输出接口 · v4l2_output结构体 · 显示设备
VIDIOC
ENUM
16
VIDIOC_G_CTRL与VIDIOC_S_CTRL
获取与设置单个控制参数 · v4l2_control结构体 · 亮度/对比度/饱和度
VIDIOC
CTRL
17
VIDIOC_QUERYCTRL与VIDIOC_QUERYMENU
查询控制属性与菜单项 · v4l2_queryctrl与v4l…
VIDIOC
QUERYCTRL
18
VIDIOC_EXT_CTRLS
扩展控制接口 · 批量设置多个控制 · v4l2_ext_controls结…
VIDIOC
EXT
19
VIDIOC_CROPCAP与VIDIOC_S_CROP
裁剪能力查询与裁剪设置 · v4l2_cropcap与v4l2_…
VIDIOC
CROPCAP
20
VIDIOC_S_SELECTION与VIDIOC_G_SELECTION
选择器接口 · v4l2_selection结构体 · 裁剪与缩放组合
VIDIOC
SELECTION
21
VIDIOC_ENUM_FRAMESIZES与VIDIOC_ENUM_FRAME
枚举支持的分辨率与帧间隔 · 步进式枚举
VIDIOC
ENUM
22
VIDIOC_DBG_G_REGISTER与VIDIOC_DBG_S_REGIS
调试寄存器读写 · 驱动调试接口 · 安全限制
VIDIOC
DBG
23
VIDIOC_SUBSCRIBE_EVENT与VIDIOC_DQEVENT
事件订阅与出队 · v4l2_event结构体 · 控制变化/帧同步事件
VIDIOC
SUBSCRIBE
24
VIDIOC_EXPBUF
导出DMA-BUF文件描述符 · v4l2_exportbuffer结… · 跨设备零拷贝共享
VIDIOC
EXPBUF
25
VIDIOC_ENUM_DV_TIMINGS与VIDIOC_S_DV_TIMIN
数字视频时序枚举与设置 · v4l2_dv_timings结构体
VIDIOC
ENUM
26
VIDIOC_G_PRIORITY与VIDIOC_S_PRIORITY
设备访问优先级管理 · v4l2_priority枚举 · 独占访问控制
VIDIOC
PRIORITY
27
VIDIOC_TRY_FMT
尝试格式而不实际设置 · 驱动格式验证逻辑 · 预览模式实现
VIDIOC
TRY
28
VIDIOC_QUERY_DV_TIMINGS与VIDIOC_DV_TIMING
查询当前时序与设备时序能力 · 自动检测
VIDIOC
QUERY
29
VIDIOC_ENUM_FRAME_INTERVAL
枚举帧间隔 · v4l2_frmivalenum结构… · 离散与连续间隔模式
VIDIOC
ENUM
30
综合实战
编写一个虚拟V4L2驱动 · 实现核心ioctl回调 · 使用v4l2-ctl工具验证交互流程
综合实战
V4L2
所属VIP或分类
同VIP:ioctl接口设计在V4L2驱动中的安全校验
同VIP:Linux-V4L2摄像头驱动项目实战
同VIP:Linux-V4L2摄像头驱动:丢帧问题排查与延迟调优