2011-08-09 110 views
9

许多运行Android的新硬件平台,特别是NVIDIA的Tegra 2,都支持OpenMAX以支持媒体加速。如果没有这种支持,在当今设备上解码720p视频实际上是不可能的,但Android支持的分路器数量相当渺茫。我已经能够找到的唯一公共API通过Android SDK中的MediaPlayer类。然而,Android源代码树中有多个地方与OpenMAX相关的花絮。使用OpenMAX(IL?)进行Android上的音频/视频解码

在我的设备(Samsung Galaxy Tab 10.1)上,我可以通过/ system/lib中的许多OpenMAX库访问硬件解码器,如果能够与我的视频应用程序进行接口会很好。任何人都可以向我提供有关实现由OpenMAX支持的解码器的信息吗?我找到了来自Khronos的文档,但没有以示例代码或教程的方式。我已经解复用,甚至软件解码(通过libavcodec/libavformat),我只是想挂钩以启用硬件编码。我也在这里假设有必要直接链接到设备上可用的,这使得它在可移植性方面非常乏味,但它工作。

另外,我对任何人都知道的有关访问Tegra 2设备上可用视频解码的私有API的知识感兴趣。特别是如果有像NVIDIA为桌面Linux发行版所实现的界面那样,因为有很多可用的界面 - 但我无法找到指示支持的共享库。

回答

4

https://www.uplinq.com/2011/sites/default/files/images/Snapdragon-Lab-Accessing-Hardware-Accelerated-Video-Codecs-Android-Steve-Lukas.pdf

,我发现文件上使用的OpenMAX以访问在较新的高通处理器的硬件解码器 - 这是凌乱,需要用Android的源代码树与NDK结合,但它是这是目前最好的到目前为止,我可以看到。

它参考的示例代码在他们的开发人员网站上找到 - 只需搜索文档的标题即可。

+5

链接已死,移至https://www.uplinq.com/2011/sites/default/files/images/Snapdragon-Lab-Accessing-Hardware-Accelerated-Video-Codecs-Android-Steve-Lukas.pdf – Pedro

+0

找不到“示例代码”。任何链接? QuIC网站没有搜索功能。 –

1

我不知道与Tegra2相关的文档。

但是,在TI OMAP4等其他处理器上可能会有这种可能。

OPENMAX正在TI OMAP4处理器(如爱可视Gen9和可能的RIM手册)中使用。

在Linux和Android上,OPENMAX API都用于访问视频加速器和视频接口。这里提供了一些细节: http://omappedia.com/wiki/OpenMAX_Project http://processors.wiki.ti.com/index.php/OpenMax_Development_Guide

如果爱可视发布的Angstroem Linux映像的创9,因为他们没有对第8代则可能是可以直接在平板电脑上玩这个游戏。 关于爱可视G9的信息: http://www.archos.com/products/gen9/archos_80g9/specs.html?country=us&lang=en

Anth。