21

OpenGL を使用して色変換、スケーリング、変換などのビデオ処理を行うアプリケーションがあります。私は主に BGRA (1xGL_BGRA) または YUVA (4xGL_R) ビデオ、つまりアルファを含むものを扱っています。

次に、高品質のインターレース解除も行いたいと思います。Nvidia は、"PureVideo" 機能を通じて高品質のハードウェア アクセラレーションによるインターレース解除をサポートしていることに気付きました。基本的に私がやりたいことは、x 数のカラー チャネルを持つインターレースされた OpenGL テクスチャを送信し、2 つのプログレッシブ テクスチャを取得することです。

私の質問は、この機能に最も簡単かつ最も効率的にアクセスする方法です (おそらく OpenGL との相互運用で)。

私はDXVAとOpenMaxを見てきましたが、どちらも再生に重点を置いているようです(デインターレース処理ではありません。つまり、フレームレートなどの関連性のないオプションを設定する必要があります...)およびアルファなしフォーマット...

4

3 に答える 3

5

gStreamer ライブラリには、優れたインターレース解除モジュールがあります。 directshow モジュールを使用して結果をウィンドウに表示したり、さまざまなイベントにフックしてフレームを自分で処理したりできます。現在、ビデオ処理のすべてのニーズに対応するために、これを使用しています。

于 2012-03-20T17:08:13.480 に答える
3

明確化された要件に基づくと、 VDPAUはあなたが望むものに最も近いように見えます。複雑さ:これは、WindowsではなくUnixベースのオペレーティングシステム用です。

Windowsにロックされている場合は、DXVAが最適です。クロスプラットフォーム環境で運用している場合は、OpenMAXが最適です。そして、あなたがあなたの質問ですでに与えたものを超えた提案を受け入れるなら、これらの残りは追求する価値があります。

于 2012-03-23T07:41:19.073 に答える
0

ポイント 1: ハードウェア アクセラレーションでインターレース解除を高品質にするには、DirectX を使用する必要があります。

ポイント 2: 他の人が名前を付けたオプション (DXVA および OpenMAX) とは別に、名前が付けられていない Quicksync アクセラレーション デインターレース用の Intel Media SDK が少なくとも存在し、VPP ビデオ前処理フィルターを介してフレームごとのデインターレースを提供します。

ポイント 3: NVidia で DirectX から OpenGL に移行するには: http://developer.download.nvidia.com/opengl/specs/WGL_NV_DX_interop.txt

于 2012-05-11T13:23:52.023 に答える