9

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 について、誰もが知っていることに興味があります。特に、 NVIDIA がデスクトップ Linux ディストリビューション用に実装しているようなvdpauインターフェイスがある場合は、そのために利用できるものがたくさんありますが、そのサポートを示す共有ライブラリを見つけることができませんでした。

4

2 に答える 2

4

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

OpenMAX を使用して、新しい Qualcomm プロセッサのハードウェア デコーダにアクセスする方法に関するドキュメントを見つけました。これは面倒で、Android ソース ツリーを NDK と組み合わせて使用​​する必要がありますが、これまでのところ、私が見ることができる最高のものです。

それが参照するサンプル コードは、開発者の Web サイトで見つかりました。ドキュメントのタイトルを検索するだけで表示されます。

于 2011-08-10T02:37:00.333 に答える
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 の場合と同様に Gen 9 用の Angstroem Linux イメージをリリースする場合、タブレットで直接これをいじる余地があるかもしれません。Archos G9 に関する情報: http://www.archos.com/products/gen9/archos_80g9/specs.html?country=us&lang=en

アンス。

于 2011-09-15T12:14:48.043 に答える