如何使用 ARM 的 OpenMAX 开发层 (DL) 构建和解码

Posted

技术标签:

【中文标题】如何使用 ARM 的 OpenMAX 开发层 (DL) 构建和解码【英文标题】:How to Build & Decode using OpenMAX Development Layer (DL) By ARM 【发布时间】:2013-04-14 04:29:30 【问题描述】:

我长期尝试研究一些简单的方法来构建和利用 ARM 优化的 OpenMax DL 库,但没有成功,可在此处获取 https://silver.arm.com/browse/OX002,但需要登录才能下载。

找不到易于使用的 api 来解码或易于编译可以利用 OpenMAX DL 的高级库 (FFMpeg) 的指令。

因为Bench marking ARM NEON OpenMAx NumbersBench marking ARM NEON OpenMAx Numbers

我想要实现的是使用 Gnu Compiler 构建 OpenMax DL,并可以在 Cortex A8 上解码一些样本以查看和使用性能差异。

任何关于如何做到这一点的建议或指示都将受到高度赞赏。

感谢和问候

PV

【问题讨论】:

【参考方案1】:

我是发布问题的人。这些库可以被编译,也可以通过包含您要使用的文件的源代码来简单地使用。 Openmax 库有三个版本, 一个版本在 c https://silver.arm.com/browse/OX000 中(可以用任何编译器编译)。

第二个版本是 NEON 特定代码 https://silver.arm.com/browse/OX002 。这可以使用ARM的编译器如armcc直接编译,如果你想使用GCC等其他编译器编译你需要在汇编宏中进行更改,代码保持不变。这些更改是宏和编译器指令的简单更改...

第三个版本是针对 arm11 的。

请说明任何具体问题,以便我提供帮助。

【讨论】:

非常感谢您提供的信息。我们可以用它来构建 DL 库,但我的意思是如何使用该库,我的意思是没有简单的 api 调用来进行解码。我应该在(DL)之上使用一些库来简化该编解码器的使用吗?有没有可用的示例代码,我可以在该 DL 之上构建并解码 AAC? 老兄,我不喜欢编解码器和其他东西。在阅读文档khronos.org/files/openmax_dl_spec_1_0_2.pdf 后,我刚刚使用了过滤器和 FFt

以上是关于如何使用 ARM 的 OpenMAX 开发层 (DL) 构建和解码的主要内容,如果未能解决你的问题,请参考以下文章

OpenMAX IL介绍与其体系

Android多媒体框架

Android Multimedia框架总结(十三)CodeC部分之OpenMAX框架初识及接口与适配层实现

Iphone 的 MMX 指令

OpenMAX编程-组件

OpenMAX (OMX)框架