在安卓上使用OpenMAX(IL?)进行音视频解码

9
许多运行Android的新硬件平台,特别是NVIDIA的Tegra 2,支持OpenMAX进行媒体加速。在今天的设备上,如果没有这种支持,解码720p视频就几乎不可能,但Android支持的分离器数量相当有限。我能找到的唯一公共API是通过Android SDK中的MediaPlayer类实现的。然而,在Android源代码树中有多个与OpenMAX相关的片段。
在我的设备上(三星Galaxy Tab 10.1),我可以通过/system/lib中的多个OpenMAX库访问硬件解码器,很希望能够将我的视频应用与其接口。有没有人能指点我如何实现由OpenMAX驱动的解码器?我已经找到了Khronos的文档,但没有示例代码或教程。我已经处理了分离和软件解码(通过libavcodec/libavformat),我只是想添加钩子以启用硬件编码。我还假设需要直接链接到设备上可用的库,这使得它在可移植性方面相当缺乏,但它可以工作。
另外,如果有关于访问Tegra 2设备上可用的视频解码的私有API的任何信息,我也很感兴趣。特别是如果有像NVIDIA为桌面Linux发行版实现的vdpau接口一样的东西,因为对于那方面有很多可用的资源 - 但我找不到表明支持的共享库。
2个回答

4

5
链接失效,已移至https://www.uplinq.com/2011/sites/default/files/images/Snapdragon-Lab-Accessing-Hardware-Accelerated-Video-Codecs-Android-Steve-Lukas.pdf。 - Pedro
找不到“示例代码”。有链接吗?QuIC网站没有搜索功能。 - Marcus Wolschon

1

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

然而,在TI OMAP4等其他处理器上可能是可能的。

OPENMAX正在TI OMAP4处理器(例如Archos Gen9和可能的RIM Playbook)中使用。

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

如果Archos像为Gen 8那样发布Angstroem Linux镜像,则可能直接在平板电脑上尝试此功能。 关于Archos G9的信息: http://www.archos.com/products/gen9/archos_80g9/specs.html?country=us&lang=en

Anth.


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接