海思35xx MPP构架和3798M UNF构架分析
2 E币
成为会员,免费下载资料
文件大小:2.23 MB
上传者:isuca
时间:2017-04-27 15:38:50
下载量:530
本帖最后由 isuca 于 2017-12-25 14:30 编辑
UNF是海思机顶盒底层构架,UNF和MPP海思是一个工作组完成的,后来分成两个小组。基本构架,实现原理差不多。但UNF大部分东西开源了,你能够看到底层源码,少数部分没有开源,总体来说比MPP开放得多
很多公司早就使用机顶盒方案如3798M开发NVR
目录
前言: 4
1:Hi35xx系列芯片MPP构架 5
1.1 概述 5
1.2 整体软硬件构架 5
1.3 海思媒体处理平台架构 6
1.4 MMZ与模块绑定 8
1.5 HiMPP 支持的绑定关系 9
1.6 函数约定说明 10
1.7 MPP优缺点 11
1.7.1 MPP优点 11
1.7.2 MPP缺点 11
2: MPP和UNF对比 11
3:3798芯片UNF处理构架 12
3.1 应用架构 12
3.2 3798SDK 概览(功能介绍) 13
3.3 3798内存管理 13
3.3.1 Mmz内存 13
3.3.2 解码vid内存 14
3.4 3798模块 14
DEMUX: 14
VI: 14
VDEC 15
SYNC: 15
DISPLAY:显示设备 15
WINDOW:显示通道 15
SO( Subtitle Output) 16
PDM 17
3.5 3798和NVR模块使用方面区别: 20
4: 3798代码祥看 20
4.1 分析方法 20
4.1.1:查看代码,静态分析应用层,驱动层实现方法 20
4.1.2:图示静态分析函数调用关系 21
4.1.3:图示动态分析函数调用关系:库函数,系统调用,内核调用 21
4.2 基础模块:hi_media hi_mmz hi_common 21
Common 21
4.2.1 基本通用模块应用层接口common/api 22
4.2.2 基本通用模块驱动接口common/dev 22
4.2.3 业务模块应用层通用组件source/component 30
4.3 海思专用组件 30
4.3.1 海思MSP模块应用层接口source/msp/api 30
4.3.2 海思MSP模块驱动层接口source/msp/drv/ 33
VENC 33
avplay 34
avplay初始化分析 34
IOCTL实现分析 基于avplay 35
avplay 多个实例如何找到对应实例 36
VPSS 36
VDEC 38
Avplay解码ES流过程 38
IR 39
4.4 Sample_mosaic分析 42
应用层调用 42
系统调用 43
5:小结: 44
5.1 UNF相对标准内核模块区别 44
5.1.1 Proc读写调试。 44
5.1.2 内核空间往应用空间写文件 44
5.1.3Log管理 45
5.1.4内存映射 45
5.2代码分析方法 45
5.2.1 查看代码,静态分析应用层,驱动层实现方法 45
5.2.2 图示静态分析函数调用关系. 45
5.2.3 图示动态分析函数调用关系:库函数,系统调用,内核调用 45
参考文档: 46
前言:
本文通过分析海思文档和代码,把海思SDK的MPI和UNF构架大概实现思想和构架进行了简略的分析。着重分析了内存管理,底层功能如何实现。
前面章节简要分析了NVR芯片MPI构架及其内存管理机制,后面着重详细分析了3798M底层模块api和drv实现的细节过程及其方法流程。
本文前面简略分析了DVR,MPI构架的大体实现机制。后面就具体分析3798M UNF构架的实现。
本文不光分析了UNF构架,还使用了很多工具,辅助分析代码。这里从三个层面分析了UNF的实现。
1: 应用层,驱动层的实现框架,使用source insight查看代码并着重分析了avplay等几个模块。
2:静态分析函数调用。使用cflow,dot工具生成调用关系图
3:动态追踪运行过程。Ltrace, strace, valgrind分析函数调用,perf动态分析内核调用。
附件回复可见
海思35XX MPP构架和3798 UNF构架分析 - 副本.pdf
[hide][attach]5537[/attach][/hide]
UNF是海思机顶盒底层构架,UNF和MPP海思是一个工作组完成的,后来分成两个小组。基本构架,实现原理差不多。但UNF大部分东西开源了,你能够看到底层源码,少数部分没有开源,总体来说比MPP开放得多
很多公司早就使用机顶盒方案如3798M开发NVR
目录
前言: 4
1:Hi35xx系列芯片MPP构架 5
1.1 概述 5
1.2 整体软硬件构架 5
1.3 海思媒体处理平台架构 6
1.4 MMZ与模块绑定 8
1.5 HiMPP 支持的绑定关系 9
1.6 函数约定说明 10
1.7 MPP优缺点 11
1.7.1 MPP优点 11
1.7.2 MPP缺点 11
2: MPP和UNF对比 11
3:3798芯片UNF处理构架 12
3.1 应用架构 12
3.2 3798SDK 概览(功能介绍) 13
3.3 3798内存管理 13
3.3.1 Mmz内存 13
3.3.2 解码vid内存 14
3.4 3798模块 14
DEMUX: 14
VI: 14
VDEC 15
SYNC: 15
DISPLAY:显示设备 15
WINDOW:显示通道 15
SO( Subtitle Output) 16
PDM 17
3.5 3798和NVR模块使用方面区别: 20
4: 3798代码祥看 20
4.1 分析方法 20
4.1.1:查看代码,静态分析应用层,驱动层实现方法 20
4.1.2:图示静态分析函数调用关系 21
4.1.3:图示动态分析函数调用关系:库函数,系统调用,内核调用 21
4.2 基础模块:hi_media hi_mmz hi_common 21
Common 21
4.2.1 基本通用模块应用层接口common/api 22
4.2.2 基本通用模块驱动接口common/dev 22
4.2.3 业务模块应用层通用组件source/component 30
4.3 海思专用组件 30
4.3.1 海思MSP模块应用层接口source/msp/api 30
4.3.2 海思MSP模块驱动层接口source/msp/drv/ 33
VENC 33
avplay 34
avplay初始化分析 34
IOCTL实现分析 基于avplay 35
avplay 多个实例如何找到对应实例 36
VPSS 36
VDEC 38
Avplay解码ES流过程 38
IR 39
4.4 Sample_mosaic分析 42
应用层调用 42
系统调用 43
5:小结: 44
5.1 UNF相对标准内核模块区别 44
5.1.1 Proc读写调试。 44
5.1.2 内核空间往应用空间写文件 44
5.1.3Log管理 45
5.1.4内存映射 45
5.2代码分析方法 45
5.2.1 查看代码,静态分析应用层,驱动层实现方法 45
5.2.2 图示静态分析函数调用关系. 45
5.2.3 图示动态分析函数调用关系:库函数,系统调用,内核调用 45
参考文档: 46
前言:
本文通过分析海思文档和代码,把海思SDK的MPI和UNF构架大概实现思想和构架进行了简略的分析。着重分析了内存管理,底层功能如何实现。
前面章节简要分析了NVR芯片MPI构架及其内存管理机制,后面着重详细分析了3798M底层模块api和drv实现的细节过程及其方法流程。
本文前面简略分析了DVR,MPI构架的大体实现机制。后面就具体分析3798M UNF构架的实现。
本文不光分析了UNF构架,还使用了很多工具,辅助分析代码。这里从三个层面分析了UNF的实现。
1: 应用层,驱动层的实现框架,使用source insight查看代码并着重分析了avplay等几个模块。
2:静态分析函数调用。使用cflow,dot工具生成调用关系图
3:动态追踪运行过程。Ltrace, strace, valgrind分析函数调用,perf动态分析内核调用。
附件回复可见
海思35XX MPP构架和3798 UNF构架分析 - 副本.pdf
[hide][attach]5537[/attach][/hide]
展开》
折叠》