VMR レンダリングレス再生モード (カスタム アロケーター 発表者)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

レンダリングレス再生モードでは、VMR はレンダリングを実行しません。 代わりに、アプリケーションによって提供されるカスタム アロケーター 発表者を使用します。 このモードは、高度なビデオ効果を持つゲームやその他の種類のアプリケーションに役立ちます。 レンダリングレス再生モードを使用すると、アプリケーションは独自の DirectDraw サーフェス (VMR-7) または Direct3D Surface (VMR-9) を作成して制御し、プレゼンテーション時にビデオ ビットにアクセスできます。

レンダリングレス モードでは、VMR-9 はミキサー コンポーネントを自動的に読み込むことはありません。

レンダリングレス再生モードでは、アプリケーションは次のタスクを実行します。

  • 再生ウィンドウを管理します。
  • DirectDraw オブジェクトまたは Direct3D オブジェクトと最終的なフレーム バッファーを割り当てます。
  • 使用されているオブジェクトの残りの再生システムに通知します。
  • フレーム バッファーを正しい時刻に表示します。
  • すべての解像度モードの変更、変更の監視、およびサーフェス損失を処理します。 これらのイベントの残りの再生システムにアドバイスする必要があります。

VMR は次の処理を行います。

  • ビデオ フレームの表示に関連するすべてのタイミングを処理します。
  • アプリケーションと再生システムの残りの部分に品質管理情報を提供します。
  • 再生システムのアップストリーム コンポーネントに一貫性のあるインターフェイスを提供します。これは、アプリケーションがフレーム バッファーの割り当てを提供し、レンダリングを実行していることを認識しません。
  • レンダリングの前に必要になる可能性があるビデオ ストリームの混合を提供します。

インターレース解除はミキサーによって実行されるため、アロケーター 発表者は常にインターレース解除フレームを受け取ります。 詳細については、「 Deinterlace Preferences の設定」を参照してください。

カスタム アロケーター 発表者の提供の詳細については、次のトピックを参照してください。