UVC 驱动整体调用流程:
/* 打开设备描述符 */
1. open:
uvc_v4l2_open
/* 查询设备属性 */
2. VIDIOC_QUERYCAP
if (video->streaming->type == V4L2_BUF_TYPE_VIDEO_CAPTURE)
cap->capabilities = V4L2_CAP_VIDEO_CAPTURE
| V4L2_CAP_STREAMING;
else
cap->capabilities = V4L2_CAP_VIDEO_OUTPUT
| V4L2_CAP_STREAMING;
/* 枚举设备支持的格式 */
3. VIDIOC_ENUM_FMT
format = &video->streaming->format[fmt->index];
/* 得到设备当前所使用的 format 与 frame */
4. VIDIOC_G_FMT
uvc_v4l2_get_format
struct uvc_format *format = video->streaming->cur_format;

本文详细分析了UVC(USB Video Class)驱动的调用流程,从驱动入口点开始,探讨了如何在C语言环境下进行设备交互与驱动框架的运用。通过对UVC驱动的深入理解,读者将能够更好地掌握USB视频设备的开发与管理。
最低0.47元/天 解锁文章
3184

被折叠的 条评论
为什么被折叠?



