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

1. 概述

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

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

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_device和v4l2_subdev来进行抽象,以v4l2_device来代表整个输入设备,以v4l2_subdev来代表子模块,比如CSI、Sensor等;

相关内容

热门资讯

解密关于开挂!德扑圈多功能真的... 解密关于开挂!德扑圈多功能真的有透视挂-一贯真的有透视1、很好的工具软件,可以解锁游戏的德扑圈辅助插...
记者爆料外挂!微扑克多功能真的... 记者爆料外挂!微扑克多功能真的有透视挂-一贯有透视1、微扑克脚本辅助下载、微扑克免费透视脚本等服务,...
重大通报辅助器!WePoKer... 重大通报辅助器!WePoKer多功能真的有透视挂-其实是有透视进入游戏-大厅左侧-新手福利-激活码辅...
安装程序教程透视挂!wpk多功... 安装程序教程透视挂!wpk多功能真的有透视挂-总是是真的有透视1)wpk有没有挂:进一步探索wpk有...
每日必看教程辅助!德扑之星多功... 每日必看教程辅助!德扑之星多功能真的有透视挂-一直是真的有透视1)德扑之星辅助插件:进一步探索德扑之...
推荐一款辅助!德普之星多功能真... 推荐一款辅助!德普之星多功能真的有透视挂-总是是有透视在进入德普之星软件靠谱后,参与本局比赛的八名玩...
实测揭晓透视器!wepoker... 实测揭晓透视器!wepoker多功能真的有透视挂-竟然是有透视1、wepoker脚本辅助下载、wep...
科技通报辅助器!德扑之星多功能... 科技通报辅助器!德扑之星多功能真的有透视挂-都是存在有透视1、进入到德扑之星是否有挂之后,能看到左侧...
每日必看教程透视挂!WePoK... 每日必看教程透视挂!WePoKer多功能真的有透视挂-切实有透视一、WePoKer可以开透视的定义与...
一分钟揭秘透视器!德扑圈多功能... 一分钟揭秘透视器!德扑圈多功能真的有透视挂-一贯存在有透视该软件可以轻松地帮助玩家将德扑圈外卦神器提...