Linux v4l2框架分析-my write
创始人
2024-09-26 01:21:03
0

1. 概述

  • V4L2(Video for Linux 2):Linux内核中关于视频设备驱动的框架,对上向应用层提供统一的接口,对下支持各类复杂硬件的灵活扩展;

  • V4L2框架,主要包括v4l2-coremeida frameworkvideobuf2等模块,这也是本文将要展开的内容,仅提纲挈领;

2.v4l2-core

2.1 应用视角

先从应用的角度来看如何使用v4l2吧:

假如要进行视频数据采集,大体的步骤如上图左侧所示:

  1. 打开设备文件/dev/videoX

  2. 根据打开的设备,查询设备能力集;

  3. 设置视频数据的格式、参数等;

  4. 分配buffer,这个buffer可以是用户态分配的,也可以是从内核中获取的;

  5. 开始视频流采集工作;

  6. 将buffer enqueue到v4l2框架,底层负责将视频数据填充后,应用层再将buffer dequeue以便获取数据,然后再将buffer enqueue,如此循环往复;

上图右侧是v4l2-core的大体框架,右侧是对硬件的抽象,要想理解好它,可以先看一下较常见的硬件拓扑结构:

  • 通常一个camera的模组如图所示,通常包括Lens、Sensor、CSI接口等,其中CSI接口用于视频数据的传输;

  • SoC的Mipi接口对接Camera,并通过I2C/SPI控制camera模组;

  • Camera模组中也可以包含ISP模块,用于对图像进行处理,有的SoC中也集成了ISP的IP,接收camera的raw数据后,进行图像处理;

2.2 数据结构

如果以上图的硬件为例,对摄像头的硬件该怎么来抽象呢?没错,就是以v4l2_devicev4l2_subdev来进行抽象,以v4l2_device来代表整个输入设备,以v4l2_subdev来代表子模块,比如CSISensor等;

相关内容

热门资讯

原来有开挂!微信微乐辅助(透视... 原来有开挂!微信微乐辅助(透视)哈糖大菠萝有没有挂(科技教程开挂辅助平台);无需打开直接搜索薇:13...
透视线上!途游四川麻将辅助器软... 透视线上!途游四川麻将辅助器软件,天酷大厅辅助(透视)开挂辅助平台必备教程;亲,途游四川麻将辅助器软...
起初有开挂"欢聚水鱼... 起初有开挂"欢聚水鱼智能辅助脚本怎么用"详细开挂辅助工具真的有挂(wpk教程) 了解更多开挂安装加(...
详细开挂!吉祥填大坑脚本,we... 详细开挂!吉祥填大坑脚本,wepoker亲友圈有用吗,2026教程(有挂实锤)-哔哩哔哩;亲,吉祥填...
推荐开挂!九天大厅辅助器(透视... 推荐开挂!九天大厅辅助器(透视)德扑之心免费透视(2026教程开挂辅助工具)1、下载安装好德扑之心免...
从前有开挂"都莱大菠... 都莱大菠萝怎么包赢是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我...
透视透视!休闲九九破解版,新天... 您好:休闲九九破解版这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特...
必看开挂!科乐游戏辅助脚本,w... 必看开挂!科乐游戏辅助脚本,wepoker有辅助功能吗,德州论坛(有挂解密)-哔哩哔哩;打开点击测试...
正版开挂!蜀山四川辅助(透视)... 正版开挂!蜀山四川辅助(透视)hhpoker辅助器视频(必胜教程开挂辅助平台)您好:hhpoker辅...
从来有开挂"威信茶馆... 从来有开挂"威信茶馆app破解版"详细开挂辅助安装有挂技巧(安装教程)您好:威信茶馆app破解版这款...