目录
- 简介
- 基本架构
简介
海思官方提供的sampe位于
\Hi3518E_SDK_V1.0.3.0\mpp\sample
中
sample其实是很多个例程,所以有很多个Main,每一个例程面向一个典型应用。
-
为音频相关功能audio
-
为功能函数,是一些经常用到的函数,供其他模块调用common
-
hifb
——haisi framebuffer
为视频的实时显示,实际上用于像手机拍照的实时显示
-
ive
—— Intelligent Video Engine
是海思媒体处理芯片智能分析系统中的硬件加速模块。
用户基于 IVE 开发智能分析方案可以加速智能分析,降低 CPU 占用。用来做开闭操作、边缘提取、图像滤波等。使用IVE可以使处理速度从几百毫秒降到几毫秒
-
区域管理,用于OSD显示region
-
自动切换场景scene_auto
-
tde
——TDE( Two Dimensional Engine)
利用硬件为 OSD( On Screen Display)和 GUI
( Graphics User Interface)提供快速的图形绘制功能,主要有快速位图搬移、快速色彩
填充、快速抗闪搬移、快速位图缩放、画点、画水平/垂直线、位图格式转换、位图alpha 叠加、位图按位布尔运算、 ColorKey 操作。
-
——video encodevenc
-
vio
region和tde都能够实现OSD,选用其中一个就好。如果叠加需求量大,那么两个就能够一起使用
基本架构
sample的重点是venc,视频编码是音视频中最重要的一点。
以venc为例,venc中的main调用venc中的功能函数,再调用common中的功能函数,common中的功能函数再调用mpp中的API,mpp的API在哪里?mpp中的API实现的函数体在ko里面
他们是以库的形式来提供的,是看不见海思的源码的,只能去查海思的手册,
HiMPP IPC V2.0 媒体处理软件开发参考.pdf
,在
\Hi3518E V200R001C01SPC030\01.software\board\document_cn
,这份文档就是mpp的API手册,里面包括了所有mpp的的API,
API最终会去调用hi3518E内部的硬件单元(内部有ARM DSP)。
除了common(被其他目录的函数调用),其他目录下面的都是一个独立的程序(例程,面向一个典型应用),有自己的Main函数。
海思这一套到了很多关键的地方就是调用了一个库函数,很多情况很多核心的东西是看不到的,只知道调用这个库函数就能完成操作,研究的重点是怎么去调这个库函数,怎么去传参,参数是什么意思,参数如果不对会返回怎么样一个错误