OpenMax(OMX) 简析

2020-10-21  本文已影响0人  波雅_Z

1. 概述

开放多媒体加速层(Open Media Acceleration,缩写为OpenMAX).一个免费的跨平台抽象软件层,用于加速在嵌入式和移动设备上的多媒体应用程序中捕获和呈现音频、视频和图像。基于其强大的可移植性,在手持式设备和嵌入式设备的开发上,OpenMax 被广泛地采用。
它是由Khronos Group提出的标准,也由他们来维持,目标在于创造一个统一的接口,加速大量多媒体资料的处理。

1.1 作用

1.2 分层

目前普遍使用的是 IL 层。IL 层作为在嵌入式和移动设备中使用的 audio、video、image codecs 的底层接口,使得应用和多媒体框架可以用统一的方式访问多媒体 codec 等相关组间。每一个 component 可以是软件和硬件加速的任意组合,对用户透明。用户只需要按照 OpenMax 规定的 API 来调用即可。

2. 结构

OpenMAX IL API致力于为媒体编解码器提供跨平台阵列的可移植性。该接口抽象了系统的硬件和软件体系结构。每个编解码器和相关转换都封装在组件接口中。OpenMAX IL API允许用户加载、控制、连接和卸载各个组件。这种灵活的核心架构允许集成层轻松实现几乎任何媒体用例,并与现有的基于图形的媒体框架相结合。
IL包含了一个专门的功能库,这些功能经过磨练,可以解决许多迥然不同的媒体系统之间的可移植性问题。这些特征包括:

2.1 框架

OpenMax IL API 的软件结构:


SoftwareLandscape.png

OpenMAX IL-API是一种基于组件的媒体API,由两个主要部分组成:核心API和组件API。

2.2 核心API

OpenMax IL Core 用来动态加载和卸载组件,并促进组件通信。

2.2 组件API

OpenMax IL Component 做为一个单元,一个组件实现一个功能,可以作为以下角色:

具体取决于其实现。但是在我们的多媒体处理当中,一个组件,很可能是某个硬件,软件编解码器,处理器或者以上组合。 系统组件概述。 参数描述包括 Buffer状态,错误,一系列的回调函数等。组件之间的通信接口,称之为Port,代表组件和数据流之间的链接,以及保持链接所需要维护的buffers。

组件的结构如下:


Component.png Payload1.png

例如一个需要实现四个多媒体处理功能的系统,这些功能表示为F1、F2、F3和F4。这些功能可能来自不同的供应商,也可能由内部开发,但由组织内的不同团队开发。

对于安装和拆卸,每种可能有不同的要求。每种方法都有不同的方法来促进配置和数据传输。OpenMAX IL-API提供了一种将这些函数单独或以逻辑组封装到组件中的方法。

该API包括一个标准协议,该协议允许可能来自不同供应商/组的兼容组件彼此交换数据并可交换使用。

在包含四个多媒体处理函数F1、F2、F3和F4的系统中,系统实现者可以为每个函数提供标准的OpenMAX接口。实现者可以很容易地选择函数的任何组合。此功能的划分基于端口。

这些功能的可能组合如下:

Partitions.png

2.3 端口

与组件之间的数据通信接口。

2.4 隧道

通信隧道通过将一个组件的输出端口连接到另一个组件的类似格式的输入端口,可以建立两个组件之间的关系。

如下图,可以看到OpenMax所支持的各种类型的通信:

Communication.png

OpenMAL IL的客户端,通过调用四个OpenMAL IL组件,实现了一个功能。四个组件分别是Source组件、Host组件、Accelerator组件和Sink组件。Source组件只有一个输出端口;而Host组件有一个输入端口和一个输出端口;Accelerator组件具有一个输入端口,调用了硬件的编解码器,加速主要体现在这个环节上。Accelerator组件和Sink组件通过私有通讯方式在内部进行连接,没有经过明确的组件端口。

3. 工作流

3.1 状态机

State.png

3.2 数据流

3.2.1 交互
Operation.png
3.2.2 Buffer Allocation and share
3.2.3 端口重新连接
3.2.4 队列
Flushing.png
3.2.5 Events and Callbacks
3.2.6 Buffer Payload

3.3 数据结构

3.3.1 header files
3.3.2 Types
3.3.3 Methods

更多详细内容可以在头文件中进一步确认

3.4 调用队列

4. 应用

4.1 Video编码(AVC)

5. 参考

上一篇 下一篇

猜你喜欢

热点阅读