【发布时间】:2011-10-22 19:58:30
【问题描述】:
许多运行 Android 的较新硬件平台,尤其是 NVIDIA 的 Tegra 2,都支持 OpenMAX 以实现媒体加速。如果没有这种支持,在今天的设备上实际上不可能解码 720p 视频,但 Android 上支持的解复用器数量非常少。我能找到的唯一公共 API 是通过 Android SDK 中的 MediaPlayer 类。但是,Android 源代码树中有多个地方有 OpenMAX 相关的花絮。
在我的设备(Samsung Galaxy Tab 10.1)上,我可以通过 /system/lib 中的大量 OpenMAX 库访问硬件解码器,将我的视频应用程序与这些库连接会很棒。谁能告诉我有关实现由 OpenMAX 提供支持的解码器的信息?我从 Khronos 找到了文档,但没有任何示例代码或教程。我已经完成了解复用甚至软件解码(通过 libavcodec/libavformat),我只想插入挂钩以启用硬件编码。我还假设这里有必要直接链接到设备上可用的链接,这使得它在便携性方面相当乏味,但它可以工作。
另外,我对任何人都知道的有关用于访问 Tegra 2 设备上可用的视频解码的私有 API 的任何信息感兴趣。特别是如果有一个 vdpau 接口,就像 NVIDIA 为桌面 Linux 发行版实现的那样,因为有很多可用的 - 但我无法找到表明支持的共享库。
【问题讨论】:
标签: android ffmpeg decoding libavcodec tegra