【问题标题】:Using OpenMAX (IL?) for audio/video decoding on Android在 Android 上使用 OpenMAX (IL?) 进行音频/视频解码
【发布时间】: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


    【解决方案1】:

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

    我找到了有关使用 OpenMAX 访问较新的 Qualcomm 处理器上的硬件解码器的文档 - 它很混乱,需要将 android 源代码树与 NDK 结合使用,但这是迄今为止我能看到的最好的.

    它引用的示例代码是在他们的开发者网站上找到的 - 只需搜索文档的标题就会出现。

    【讨论】:

    【解决方案2】:

    我不知道与 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

    如果爱可视为第 9 代发布 Angstroem Linux 映像,就像他们为第 8 代所做的那样,那么可能有空间直接在平板电脑上使用它。 爱可视G9的相关资料: http://www.archos.com/products/gen9/archos_80g9/specs.html?country=us&lang=en

    Anth.

    【讨论】:

      猜你喜欢
      • 2013-07-13
      • 2020-10-13
      • 2013-04-25
      • 2016-03-12
      • 2023-03-14
      • 2014-02-06
      • 1970-01-01
      • 2020-03-28
      相关资源
      最近更新 更多