2011-08-09 108 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。