海思编码:1、mpp系统详谈以及VI、VPSS、VENC之间的关系

在HiMPP手册中都会有这么一张图
在这里插入图片描述

先讲一下视频缓存池这个概念

视频缓存池主要向媒体业务提供大块物理内存管理功能,负责内存的分配和回收
这部分具体什么作用,首先视频输入回需要大量的内存,打比方1080P的视频输入,VI部分怎么保存或者使用呢?就是用的视频缓存池概念,
比如:VI将视频输入的一张图像数据放在一个缓存池的缓存块,然后处理后将这个缓存块的地址和大小交给VPSS处理,VPSS处理后又将这个缓存块的地址传给venc,venc就会对这个缓存块的画面进行编码,在这个过程中只有缓存块的地址在来回传递,没有内存拷贝,而且编码完后,MPP系统自动将这个缓存块注销了,这样既节省了性能,又防止咱们自己写程序出现内存泄漏的情况

1、VI部分

视频输入设备
视频输入设备支持标准 BT.656、标准 BT.1120、自定义时序等若干种时序输入,负责对时序进行解析。

视频物理通道
视频物理通道负责将输入设备解析后得到的视频数据输出到 DDR。在真正将数据输出到 DDR 之前,它可以实现裁剪、遮挡、水平垂直缩小和水平垂直翻转等功能,具体功能见各芯片的详细描述。

掩码
掩码用于指示 VI 设备的视频数据来源。

有的可以进行级联
级联指芯片的视频输出端通过 BT1120 时序或其他时序将视频数据传送到另一颗芯片的视频输入端。

根据上面那张图,AD这里就代表了一些传感器sensor,比如摄像头等,vi(video input)就是从sensor获取图像数据的一个功能模块,Hi3521DV100 芯片有 2 个 BT.1120 接口,每个 BT.1120 接口依次对应两个 VI 设备,即第一个 BT.1120 口对应 VI 的 Dev0 和 Dev1,第二个 BT.1120 口对应 VI 的 Dev2 和Dev3。所以使用两个接口时,基本用dev0和dev2。

 for(int i = 0; i < 2; i++)  // 由于这里用了两个BT1120的vi设备,所以使用dev0和dev2
 {
   
   
        ViDev = i * 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值