海思MPP与UNF架构详解:Hi35xx与3798应用层对比

需积分: 50 82 下载量 135 浏览量 更新于2024-08-09 收藏 2.23MB PDF 举报
本文档主要探讨了海思媒体处理平台(MSP)在Hi35xx系列芯片中的应用架构,特别是针对Hi3798芯片的UNF(Unified Native Functionality)处理架构。MSP是一个重要的软件层次结构,它包括四个核心层:UNF层作为对外统一的应用开发接口,提供API供开发者使用;MPI层是处理器模块硬件能力的用户态实现;DRV层负责内核态的硬件操作;而HAL层则提供了硬件抽象,使得软件开发人员可以简化直接与硬件交互。 Hi35xx系列芯片的MPP架构(Media Processing Platform)设计旨在屏蔽硬件细节,使开发者能够专注于应用程序的开发。MPP的优点包括提供标准化的接口、易于集成和维护,以及通过模块化设计支持快速的功能扩展。然而,缺点可能包括性能开销,由于多层抽象可能导致一定的性能损失,以及对硬件依赖性较高的情况可能增加复杂性。 在Hi3798芯片中,UNF层在MPI的基础上增加了封装,为应用软件提供了更直观和一致的接口。文档详细介绍了3798 SDK的功能概览,包括内存管理,如MMZ内存和用于解码视频的内存分配。此外,还涵盖了关键模块如DEMUX、VI(Video Input)、VDEC(Video Decoder)、SYNC、DISPLAY、WINDOW、SO(Subtitle Output)和PDM等,这些模块在多媒体处理中扮演着核心角色。 文章还对比了MPP和UNF,强调了UNF在3798芯片中的应用架构,尤其是在NVR(Network Video Recorder)模块方面的使用差异。深入剖析了如何通过静态和动态分析方法来理解3798芯片的代码,例如通过查看源代码、分析函数调用关系,以及研究基础模块如hi_mediahi_mmzhi_common和海思专用组件,如MSP模块的接口和驱动实现。 具体到avplay组件,文章讨论了其初始化过程、ioctl功能实现,以及如何根据不同的实例执行avplay功能。另外,文中还涉及VPSS(Video Processing Subsystem)和VDEC的详细操作,如Avplay解码ES流的过程,以及IR(Input/Output Request)的相关内容。 最后,Sample_mosaic可能是文档中一个具体的示例或案例研究,展示了如何在实际项目中利用这些架构和组件进行开发。本文为海思3798芯片的应用架构开发提供了一套全面且深入的指南,有助于开发者理解和优化在该平台上构建高性能、模块化的应用程序。