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   |            |
|		#------------#                #------------#            |
|		                                                        |
|		                                                        |
|---------------------------------------------------------------|

相关内容

热门资讯

黄金暴跌,市场总有轮回。 今天不聊别的,还是聊黄金。但今天为了说清楚黄金,我会先分析同样经历了暴跌的比特币、以太坊等crypt...
2025年净利最高预亏2.9亿... 北京商报讯(记者 丁宁)2月2日,双鹭药业(002038)盘中触及跌停,截至北京商报记者发稿,双鹭药...
盘点2025信托业(二)|新监... 中国网财经2月2日讯 2025年,信托行业监管制度体系经历根本性重塑,“1+N”政策框架落地生根,为...
中国国航2026年春运计划执行... 中国国际航空股份有限公司(下称“国航”)2月2日宣布,2026年春运将全面升级运力投入,在册飞机数量...
原创 今... 一家公司,在不到一个月的时间里,股价像坐上了火箭,一口气连拉17个涨停板,价格翻了4倍多。 就在所有...
脑出血后昏迷不醒有什么治疗方法... 脑出血是一种发病急、进展快、致死致残率极高的急性脑血管疾病,其发病率约占全部脑卒中的20%~30%,...
原创 今... 今天A股跌得让人心慌,商业航天、黄金、农业,热点一个接一个熄火。 但在一片惨绿中,有一个板块却像打了...
2026年存款搬家,有望为A股... 根据财通证券测算,2026年企业与居民中长期存款的到期规模在57.3万亿元,而居民中长期存款到期规模...
两部门发文明确增值税进项税额抵... 财政部 税务总局 关于增值税进项税额抵扣等有关事项的公告 财政部 税务总局公告2026年第13号 根...
兴业银行多位经理被禁止从事银行... 据国家金融监督管理总局大连监管局2月2日公开的行政处罚信息显示,兴业银行股份有限公司大连分行因信贷业...
原创 金... 深圳水贝市场里,一位女士快速计算着价格,掏出银行卡支付了近12万元,买下100克金条。 黄金价格正在...
韩国股市大跌触发熔断机制 1日,韩国首尔,中区一家银行交易室的电子屏显示韩国综合股价指数(KOSPI)。视觉中国/图 韩国股市...
尿色加深、皮肤泛黄时,你的肝可... 生活中,不少人发现尿色变深、皮肤泛黄时,会误以为是喝水少、上火或肤色问题,简单调整后便不再关注。可这...
30亿元红包!千问宣布 2月2日,千问APP宣布投入30亿元启动“春节请客计划”,以免单形式请全国人民在春节期间吃喝玩乐,感...
周生生足金挂坠被检测出含铁银钯... 编者按:维护消费者权益,守护消费安全。央广网啄木鸟消费者投诉平台,保障消费者合法权益,为新消费时代保...
中国AI应用春节红包大战 阿里... 中国科技巨头为推广旗下人工智能(AI)产品重演11年前的红包大战,继腾讯和百度后,同样在追赶字节跳动...
最新!多家银行,紧急调整! 近期,国际黄金与白银价格在创下历史新高后剧烈波动。2月2日,金银价格显著回调,黄金期货一度跌破每盎司...
米兰冬奥中国代表团成立丨冰雪热... 聚焦健康中国 冬奥会 (第一健康报道北京 实习记者袁正杰) 米兰冬奥会中国体育代表团正式成立,标志着...
i茅台:月活用户超1531万,... 1499元飞天上架已满月,i茅台披露关键数据。 2月2日,据“小茅i茅台”微信公号,i茅台表示,“这...
多重风险高悬 一批*ST公司拉... 伴随2025年度业绩预告密集发布,一批上市公司拉响退市风险“警报”。 据上海证券报初步统计,近期,已...