デシメーションを使用した混合パフォーマンスの最適化
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
重要
このセクションで説明する最適化は、基になるハードウェアに大きく依存します。 アプリケーションで使用されるグラフィックス ハードウェアの種類を保証できない限り、ビデオ イメージの外観が深刻に低下する可能性があります。
HDTVには多くの処理能力が必要であり、新しいシステムでは主にグラフィックスカードによって提供されます。 ただし、グラフィックスカードとデコーダーが 1920x1080 の解像度をサポートできる場合でも、ユーザーは常にモニターをこの解像度に設定しているとは限りません。 この場合、グラフィックス チップは 1920 x 1080 イメージを作成し、解像度を下げてからフレーム バッファーに送信する必要があります。
これは処理能力の無駄であるため、VMR は DirectDraw サーフェスにレンダリングされるときにイメージをデシメート (削減) する方法を提供します。 これにより、イメージのレンダリング後にサイズを変更する必要がある場合に必要な追加のメモリ コピーがなくなります。
VMR-7: デシメーションを有効にするには、MixerPref_DecimateOutput フラグを指定して IVMRMixerControl::SetMixingPrefs を呼び出します。
VMR-9: デシメーションを有効にするには、MixerPref9_DecimateOutput フラグを指定して IVMRMixerControl9::SetMixingPrefs を呼び出します。
VMR が接続される前に 、SetMixingPrefs メソッドを呼び出す必要があります。 グラフを実行した後は、混合優先フラグを変更できません。
関連トピック