
V4L2
文章平均质量分 91
Ao_Richard
个人学习理解笔记
展开
-
从零写UVC摄像头驱动(二)数据传输
当USB插上主机,就会产生两个接口(VC和VS),然后获取到USB描述符并解析,从而设置摄像头(比如分辨率、格式);然后分配缓冲区,启动摄像头,便从USB得到摄像头采集数据,保存到缓冲区供应用程序使用。详细过程看这两篇:。我们在设置FORMAT时只是简单的使用video->streaming->format[fmt->index]等数据,这些数据哪来的?b. 启动ubuntu,修改/etc/default/grub。应是设备被枚举时设置的,也就是分析它的描述符时设置的。原创 2024-07-15 16:44:55 · 689 阅读 · 0 评论 -
从零写UVC摄像头驱动(三)设置属性
uvc_ctrl.c里数组: static struct uvc_control_info uvc_ctrls[].entity = UVC_GUID_UVC_PROCESSING, // 属于哪个entity(比如PU).selector = PU_BRIGHTNESS_CONTROL, // 用于亮度。原创 2024-07-15 16:44:42 · 873 阅读 · 0 评论 -
Linux--USB驱动开发(二)插入USB后的内核执行程序
USB设备描述符(usb_device_descriptor)USB配置描述符(usb_config_descriptor)USB接口描述符(usb_interface_descriptor)USB端点描述符(usb_endpoint_descriptor)一个设备描述符可以有多个配置描述符;一个配置描述符可以有多个接口描述符(比如声卡驱动就有两个接口:录音接口和播放接口)一个接口描述符可以有多个端点描述符;原创 2024-07-12 13:05:10 · 1827 阅读 · 0 评论 -
从零写UVC摄像头驱动(一)驱动框架
probe:2.1. 分配video_device:video_device_alloc2.2. 设置.fops.ioctl_ops (里面需要设置11项)如果要用内核提供的缓冲区操作函数,还需要构造一个videobuf_queue_ops2.3. 注册: video_register_deviceid_table: 表示支持哪些USB设备UVC驱动:drivers\media\video\uvc\原创 2024-07-11 13:20:13 · 696 阅读 · 0 评论 -
Linux--V4L2摄像头驱动框架及UVC浅析
对于一个usb摄像头,它的内核驱动源码位于/drivers/media/usb/uvc/核心层:V4L2_dev.c文件硬件相关层: uvc_driver.c文件本篇记录基于对6.8.8.8内核下vivid-core.c文件(虚拟视频驱动程序)的分析,梳理Linux系统中vedio视频设备的驱动框架。原创 2024-07-04 14:50:07 · 2103 阅读 · 0 评论