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インターフェイスがある場合は、そのために利用できるものがたくさんありますが、そのサポートを示す共有ライブラリを見つけることができませんでした。