天天看点

海思3518E开发笔记2.1——海思官方mpp sample总体分析简介基本架构

目录

  • 简介
  • 基本架构

简介

海思官方提供的sampe位于

\Hi3518E_SDK_V1.0.3.0\mpp\sample

sample其实是很多个例程,所以有很多个Main,每一个例程面向一个典型应用。

海思3518E开发笔记2.1——海思官方mpp sample总体分析简介基本架构
  • audio

    为音频相关功能
  • common

    为功能函数,是一些经常用到的函数,供其他模块调用
  • hifb

    ——haisi framebuffer

    为视频的实时显示,实际上用于像手机拍照的实时显示

  • ive

    —— Intelligent Video Engine

    是海思媒体处理芯片智能分析系统中的硬件加速模块。

    用户基于 IVE 开发智能分析方案可以加速智能分析,降低 CPU 占用。用来做开闭操作、边缘提取、图像滤波等。使用IVE可以使处理速度从几百毫秒降到几毫秒

  • region

    区域管理,用于OSD显示
  • scene_auto

    自动切换场景
  • tde

    ——TDE( Two Dimensional Engine)

    利用硬件为 OSD( On Screen Display)和 GUI

    ( Graphics User Interface)提供快速的图形绘制功能,主要有快速位图搬移、快速色彩

    填充、快速抗闪搬移、快速位图缩放、画点、画水平/垂直线、位图格式转换、位图alpha 叠加、位图按位布尔运算、 ColorKey 操作。

  • venc

    ——video encode
  • 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函数。

海思这一套到了很多关键的地方就是调用了一个库函数,很多情况很多核心的东西是看不到的,只知道调用这个库函数就能完成操作,研究的重点是怎么去调这个库函数,怎么去传参,参数是什么意思,参数如果不对会返回怎么样一个错误