0

カメラドライバーの上にアプリケーションを作成しています。ドライバーからIMFSamplesを抽出するために同期された方法でIMFSourceReaderを使用しています。各ストリームの SourceReader メディア タイプを構成し、カメラ ドライバーがサポートする 2 つのビデオ形式 (NV12 と YUY2) でサンプルを生成できます。欲しいのはRGBのように簡単に表示できる動画フォーマットなので、これらのメディアタイプを変換できるMFTを探していたのですが、メディアファンデーションのドキュメントでわかったように、SourceReaderに接続できるかどうかわかりません。 IMFSourceReader はデコーダーをロードできますが、デコーダーはコンバーターではないことがわかります…</p>

IMFSourceReader を使用しながら、ビデオ ソース出力メディア タイプを RGB などの別のメディア タイプに変換する (自分で変換する以外に) 最善の方法は何でしょうか?

4

1 に答える 1

1

Windows 8 では、MF_SOURCE_READER_ENABLE_ADVANCED_VIDEO_PROCESSING 属性を設定して、GPU アクセラレーションによる YUV から RGB への変換を取得できます。

以前のバージョンの Windows では、D3D9 で DXVA2 を使用でき、IDirect3DDevice9::StretchRect() を使用して YUV サーフェス間で RGB サーフェスにコピーできました。グラフィックドライバがこれをサポートしている場合、これはコピー中に変換を行います。ただし、これに依存する前に、ID3D9::CheckDeviceFormatConversion() を呼び出して、実行している色変換がドライバーでサポートされていることを確認する必要があります。

于 2013-05-29T23:55:39.443 に答える