海思MPP&UNF构架详解-函数约定与模块解析

需积分: 50 82 下载量 44 浏览量 更新于2024-08-09 收藏 2.23MB PDF 举报
"函数约定说明-java表达式引擎-海思 3536 3520d 3798 3796" 本文档主要介绍了海思MPP(Media Processing Platform)架构及其相关概念,包括MPP的函数约定说明,以及与UNF(Unified Native Framework)的对比。此外,还深入探讨了3798芯片的UNF处理构架,各个模块的功能,以及代码分析方法。 1. 海思MPP构架:MPP是一个高度集成的媒体处理平台,用于处理各种多媒体任务,如视频编码、解码、图像处理等。整体构架包括软件和硬件两部分,旨在提供高效能和低延迟的媒体处理能力。MMZ(Media Memory Zone)是MPP中用于管理内存的部分,它可以将不同模块绑定到特定内存区域。 2. 函数约定说明: - Open/Close: 这些操作用于打开和关闭可枚举的设备,如摄像头或存储设备。 - Create/Destroy: 用于创建和销毁不可枚举的设备,如内存池或处理器核心。 - Handle: 是一种32位标识符,用于唯一标识一个不可枚举设备。低8位表示设备ID,高16位表示模块ID。 - Attach/Detach: 绑定和解绑设备,改变设备的状态,如启动/启用或停止/禁用。多级绑定遵循从最后一个设备向前绑定,解绑定则反向进行。 - Get/Put: 用于向模块输入数据,通常用于数据传输。 - Acquire/Release: 用于从模块获取数据,推荐成对使用以确保数据完整性和同步。 3. MPP优缺点: - 优点:高度集成,优化的性能,良好的可扩展性。 - 缺点:可能涉及复杂的绑定关系管理,对开发者的要求较高。 4. MPP与UNF对比:UNF提供了更统一的框架,简化了模块间的交互,而MPP可能需要更多的底层操作。 5. 3798芯片UNF处理构架: - 应用架构:涵盖了从应用程序到硬件的整个处理流程。 - SDK概览:介绍了3798的功能模块,如DEMUX、VI、VDEC、SYNC、DISPLAY、WINDOW和SO等。 - 内存管理:包括Mmz内存和解码vid内存的管理策略。 - 模块介绍:详细讲解了每个模块的功能,如DEMUX用于数据分流转发,VI负责视频输入,VDEC进行视频解码,SYNC处理同步问题,DISPLAY和WINDOW处理显示,SO处理字幕输出,PDM则与音频相关。 6. 代码分析:提供了分析3798代码的方法,包括查看代码、静态分析函数调用关系和动态分析系统调用链路。同时,介绍了海思专用组件,如MSP模块(Media Service Platform)的应用层和驱动层接口。 总结,本文档详尽阐述了海思MPP平台的特性,函数约定,以及3798芯片的UNF架构,为理解和开发基于这些平台的多媒体应用提供了基础指导。