HiMPP V3.0 媒体处理软件笔记(一)

时间:2024-03-17 08:33:56

要一点点做笔记,小孔冲鸭~~

  概述:为使用HiMPP媒体处理芯片进行开发的程序员而写,目的是在开发过程中查阅媒体处理软件开发包的各种参考信息,包括API 、头文件、错误码等。
  描述HiMPP媒体处理软件的各个API的使用方法,已经相关的数据结构和错误码。

通用格式约定:

格式 说明
宋体 正文用宋体表示
黑体 一二三级标题采用黑体
楷体 警告、提示等内容一律用楷体,并且在内容前后增加线条与正文隔离
“Terminal Display”格式 “Terminal Display”格式 表示屏幕输出信息。此外,屏幕输出信息中夹杂的用户从终端输入的信息采用加粗字体表示。
“” 用双引号表示文件路径

命令行格式约定:

格式 意义
粗体 命令行关键字(命令中保持不变、必须照输的部分)采用加粗字体表示。
斜体 命令行参数(命令中必须由实际值进行替代的部分)采用斜体表示
【】 表示用“【】”括起来的部分在命令配置时是可选的。
{x | y |…} 表示从两个或多个选项中选取一个。
[x | y |…] 表示从两个或多个选项中选取一个或者不选。
{x | y |…} * 表示从两个或多个选项中选取多个,最少选取一个,最多选取所有选项。
[x | y |…] * 表示从两个或多个选项中选取多个或者不选。

1.系统概述

1.1概述

  海思提供的媒体处理软件平台(Media Process Platform,简称MPP),可支持应用软件快速开发。该平台对应用软件屏蔽了芯片相关的复杂的底层处理,并对应用软件直接提供MPI(MPP Programe Interface)接口完成相应功能。该平台支持应用软件快速开发以下功能:输入视频捕获H.264/MJPEG/JPEG/MPEG4编码、H264/h.265/VC1/MPEG4/MPEG2/AVS解码、视频输出显示、视频图像前处理(包括去噪、增强、锐化、Deinterlace)、编码码流叠加OSD、视频侦测分析、智能分析、音频捕获及输出、音频编解码等功能。

1.2系统架构

MPP平台支持的典型的系统层次如图1-1所示,主要分为以下层次:
     · 硬件层
     硬件层由Hi35xx芯片加上必要的外围器件构成。外围器件包括Flash、DDR(Double Data-Rate)、视频Sensor或AD、音频AD等。
     · 操作系统层
     基于Linux3.10.y的OS系统。
     · 媒体处理平台
     基于操作系统层,控制芯片完成相应的媒体处理功能。它对应用层屏蔽了硬件处理细节,并为应用层提供API接口完成相应功能。
     · 其他驱动
     除媒体处理平台外,海思为Hi35xx芯片的其他相关硬件处理单元提供了相应的驱动,包括GMAC、SDIO、I2C、USB、SSP等驱动
     · 应用层
     基于海思媒体处理平台及其他驱动,由用户开发的应用软件系统。

HiMPP V3.0 媒体处理软件笔记(一)

1.3海思媒体处理平台架构

  海思媒体处理平台的主要内部处理流程如图1-2所示,主要分为视频输入(VI)、视频处理(VPSS)、视频编码(VENC)、视频解码(VDEC)、视频输出(VO)、视频侦测分析(VDA)、音频输入(AI)、音频输出(AO)、音频编码(AENC)、音频解码(ADEC)、区域管理(REGION)等模块。主要的处理流程介绍如下:
      图1-2 海思媒体处理平台内部处理流程图
HiMPP V3.0 媒体处理软件笔记(一)
   · VI模块捕获视频图像,可对齐做剪切、缩放、镜像等处理,并输出多路不同分辨率的图像数据。
   · 解码模块对编码后的视频码流进行解码,并将解析后的图像数据送VPSS进行图像处理或直接送VO显示。可对H.264/H.265/VC1/MPEG4/MPEG2/AVS格式的视频码流进行解码。
   · VPSS模块接收VI和解码模块发送过来的图像,可对图像进行去噪、图像增强、锐化等处理,并实现同源输出多路不同分辨率的图像数据用于编码、预览或抓拍
   · 编码模块接收VI捕获并经VPSS处理后输出的图像数据,可叠加用户通过Region模块设置的OSD图像,然后按不同协议进行编码并输出相应码流。
   · VDA模块接收VI的输出图像,并进行移动侦测和遮拦侦测,最后输出侦测分析结果。
   · VO模块接收VPSS处理后的输出图像,可进行播放控制等处理,最后按用户配置的输出协议输出给外围视频设备。
   · AI模块捕获音频数据,然后AENC模块支持按多种音频协议对齐进行编码,最后输出音频码流。
   · 用户从网络或外围存储设备获取的音频码流可直接送给ADEC模块,ADEC支持解码多种不同的音频格式码流,解码后数据送给AO模块即可播放声音。