V4L2视频驱动框架---meida_device管理模块简述
admin
2024-02-26 21:31:20
0

​ v4l2框架由4个主要的部分(数据结构)组成:
v4l2_devices(包括v4l2_subdev) :v4l2_device管理所有的设备
media_device : meida_device框架管理运行时的pipeline
videobuf2:videobuf存储缓冲的数据
controls :controls包含主要控制接口


理解:
media framework 的引入是为了 将各个 subdev 抽象为单独的模块,并将各个模块以管道的概念连接起来,从而组装成一个完整的数据流。 media framework 就是为了可以方便的抽象并连接自己想要的模块,组成自己想要的数据流。

作用
提供实时的 pipeline 管理,pipeline 就理解为管道,想象一下水管,里面的水就是数据流,输入设备中的 csi->isp->video 就组成一个 pipeline 线路。media framework 提供 pipeline 的开启、关停、效果控制、节点控制等功能。

说明
内核当中主要利用四个结构体把众多的节点组织起来: media_device ,media_entity, media_link ,media_pad 。整个 media framework 都围绕这四个结构体来进行使用的,下文会对这些进行详细介绍。

1、media_entity:硬件设备模块抽象(类比电路板上面的各个元器件、芯片)

2、media_pad :硬件设备端口抽象(类比元器件、芯片上面的管脚)

3、media_link :硬件设备的连接抽象,link 的两端是 pad(类比元器件管脚之间的连线)

media_entity、media_pad、media_link等结构体会添加到media_device的链表中,同时它们结构体的开始字段都需是struct media_gobj,该结构中的mdev将会指向它所属的media_device。这种设计方便结构之间的查找;

media_entity中包含多个media_pad,同时media_pad又会指向它所属的media_entity;

#------------#                #------------#
|          __|__            __|__          |
|         |  |  |   link   |  |  |         |
|         | pad |<-------->| pad |         |
|         |__|__|          |__|__|         |
|            |                |            |
|   entity   |                |   entity   |
#------------#                #------------# 

可以想象一下,如果各个 entity 之间需要建立连接的话,就需要在 pad 中存储 link 以及 entity 信息,link 中需要存储 pad 与 entity 信息,entity 里面需要存储 link 与 pad 信息,属于你中有我,我中有你的情况。

4、media_device: 与v4l2_device类似,也是负责将各个子模块集中进行管理,同时在注 册的时候,会向系统注册设备节点,方便用户层进行操作

media_device 主要有下面几个部件构成:

media_entity :media_device基本构件块
media_pad:pad是一个连接端点,通过它可以保证entity之间通信,pad分source pad和sink pad
media_link:link在两个pad之间定向连接,数据由source pad 流向 sink pad|---------------------------------------------------------------|		
|			         media_device(多媒体设备)                   |
|																|
|		#------------#                #------------#            |
|		|          __|__            __|__          |            |
|		|         |  |  |   link   |  |  |         |            |
|		|         | pad |<-------->| pad |         |            |
|		|         |__|__|          |__|__|         |            |
|		|            |                |            |            |
|		|   entity   |                |   entity   |            |
|		#------------#                #------------#            |
|		                                                        |
|		                                                        |
|---------------------------------------------------------------|

相关内容

热门资讯

银行板块震荡上扬 中国银行等股... 观点网讯:7月8日,银行板块震荡上扬,中国银行、农业银行、建设银行、成都银行、工商银行等股纷纷上扬。...
AI Agent进入深水区:企... AI Agent从技术概念走向商业落地,企业付费意愿成为检验产品价值的唯一标准。过去两年大量AI创业...
一通智投APP内幕交易欺骗投资...   一通智投APP虚假现货订购交易为非法期货,投资者被宣传广告给诱导,下载了一通智投APP,结果在这...
港股科技股全线大涨!跌多了是基... 港股市场近日整体有明显反弹的科技股今日再度集体走强,恒生科技指数拉升涨超3%。个股中,联想涨超8%,...
一场博览会,看透低空经济风口全... 文丨许佳慧 低空经济风起,谁是真正的弄潮儿? 【观赛道:题材风口开启,全链布局成型】 低空经济有多火...
黄金单边牛市没那么快回来?预测... 黄金这波反弹刚冒头,没人敢直接砸重仓赌方向。Polymarket上的交易显示,黄金7月触及4300美...
超颖电子布局“A+H”:一季度... 瑞财经 吴文婷7月6日,超颖电子发布公告称,为满足公司业务发展需要,深入推进国际化战略,打造国际化资...
偏袒?阿根廷球员扇耳光+飞铲无... 北京时间7月8日,2026年世界杯1/8决赛,阿根廷3-2逆转埃及晋级八强。不过,本场比赛的判罚在赛...
原创 高... 在国际关系的复杂棋局中,盟友与对手从来都不是一成不变的。最近,俄罗斯通过中间渠道从日本进口航空燃油的...
优质药食同源食材选购指南:甘草... 在现代保健理念中,药食同源的概念越来越受到重视。许多人开始关注如何选购优质的药食同源食材,以便更好地...
AI产业进展提振信心,科创创业... 截至7月8日11点15分,上证指数涨0.28%,深证成指跌0.28%,创业板指涨0.51%。油气开采...
将多色3D打印提速5倍,消费级... 消费级3D打印企业快造科技(Snapmaker)近日完成10亿元C轮融资。本轮由凯辉基金领投,好未来...
“物理AI第一股”来了!Mom... 2026年7月8日,全球领先的物理AI公司Momenta正式在港交所挂牌上市,股票代码为6880.H...
投资需求增长的核心动力是什么? 在金融市场中,投资需求的增长受到多种因素的综合推动,这些因素构成了投资需求增长的核心动力。 首先,经...
苏州得鹿食品有限公司成立 注册... 天眼查App显示,近日,苏州得鹿食品有限公司成立,法定代表人为周锋,注册资本50万人民币,经营范围为...
刚刚,又一家厦门企业在港股上市... 最新消息! 厦门又迎来一家上市公司! 7月8日 厦门瑞为信息技术股份有限公司 (以下简称“瑞为技术”...
韩国综合指数转涨,盘初一度跌近... 8日,韩国综合指数转涨,一度涨超1.6%,现涨0.7%,盘初一度跌近4%。个股方面,SK海力士涨近4...
原创 7... 四千多欧洲人因为高温没了命,大半是装不起买不起空调的独居老人。现在老百姓抢着买能解决问题的中国空调,...
【明辉说油】美国撤销对伊朗石油... 市场讯息:7月7日(周二),美国取消对伊朗的售油豁免期,且伊方表示美国违反停火协议加剧紧张氛围,国际...