一、海思MPP内部处理流程图
各模块功能介绍:
(1)VI:捕获视频图像,可对其做剪切、缩放、镜像等处理,并输出多路不同分辨率的图像数据.
(2)AI:捕获⾳频数据,然后AENC 模块⽀持按多种⾳频协议对其进⾏编码,最后输出⾳频码流.
(3)VPSS:接收VI 和解码模块发送过来的图像,可对图像进⾏裁剪、缩放、旋转、镜像、贴图等处理,并实现同源输出多路不同分辨率的图像数据⽤于编码、预览、智能分析或抓拍。
(4)VENC:接收VI 捕获并经VPSS 处理后输出的图像数据,可叠加⽤⼾通过Region模块设置的OSD 图像,然后按不同协议进⾏编码并输出相应码流.
当然,这些最基础的概念也不是本文的重点,相信各位读者也可以很轻松就理解上述概念。本文主要对实际项目中更深入的视频数据流向做详细介绍。
二、项目中PIPE的数据流向
(1)相关模块组件
很多初学者在学习MPP项目源码时,经常会碰到dev、vi、chn、venc、iva、pipe的相关名词,尤其是dev与vi会被绕的云里雾里,我们从软硬件层面来详细解释一下这些名词。
以RV1106的单目摄像头为例。因为只有一个摄像头,因此摄像头作为唯一的dev;对于这个dev设备,瑞芯微官网说明RV1106最大支持3个sensor 输入,即该设备最多支持三个VI硬件组件