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等;

相关内容

热门资讯

透视黑科技!智星德州可以透视吗... 透视黑科技!智星德州可以透视吗(透视)多乐跑得私人房间作必弊视频(辅助)都是是有教程(哔哩哔哩)1、...
透视策略!竞技联盟辅助插件(德... 透视策略!竞技联盟辅助插件(德普之星破解版)果然是有辅助插件(哔哩哔哩)1、全新机制【竞技联盟辅助插...
分享了解!新道游房间(辅助)乐... 分享了解!新道游房间(辅助)乐禧乾安麻将都是有挂辅助安装(哔哩哔哩)1、新道游房间免费辅助多个强度级...
透视讲解!佛手大菠萝13道挂哪... 透视讲解!佛手大菠萝13道挂哪里(透视)微信小程序微乐房间的挂多少钱(果然真的是有辅助器)-哔哩哔哩...
据了解!约局吧辅助器(透视)欢... 据了解!约局吧辅助器(透视)欢乐茶馆脚本(辅助)果然确实有神器(哔哩哔哩)1、据了解!约局吧辅助器(...
透视机巧!aapoker真的假... 透视机巧!aapoker真的假的(WePoKerplus)真是真的是有辅助插件(哔哩哔哩)1、点击下...
辅助了解!传送屋没激k辅助器下... 辅助了解!传送屋没激k辅助器下载(辅助)游游棋牌果然真的是有辅助软件(哔哩哔哩)1、每一步都需要思考...
透视脚本!aapoker透视脚... 透视脚本!aapoker透视脚本入口(透视)微信微乐自建房脚本免费下载(一直存在有辅助软件)-哔哩哔...
透视黑科技!werplan怎么... 透视黑科技!werplan怎么作必弊(透视)爱玩修改器(辅助)本来真的有插件(哔哩哔哩)1、让任何用...
透视攻略!wpk透视辅助方法(... 透视攻略!wpk透视辅助方法(德扑之心透视)好像真的有辅助技巧(哔哩哔哩);在进入wpk透视辅助方法...