DirectShow: Microsoft DTV-DVD Video Decoder とスケーリング(拡大縮小)について

こちらは DirectShow アプリケーション開発者様からご指摘を頂いた件です。

Windows7 においてMicrosoft DTV-DVD Video Decoder を用いて コンテンツをデコードしている場合に、レンダリング結果が真っ黒のビデオとなることがあります。これは以下の条件がすべて当てはまるシナリオで発生します。

  1. DXVA によるハードウェアデコード支援が有効になっている。
  2. Microsoft DTV-DVD Video Decoder とレンダラとの間にカスタムの変換フィルタが入っている。
  3. その変換フィルタはコンテンツのフレームサイズとは異なるサイズでレンダラとメディアタイプを合意しており、そのサイズのフレームを Microsoft DTV-DVD Video Decoderに要求している。すなわち、スケーリング(拡大縮小)を Microsoft DTV-DVD Video Decoderに要求している。

この現象は下記の方法で回避できます。

  • 変換フィルタにスケーリングを実装する。Microsoft DTV-DVD Video Decoder との間ではコンテンツと同じフレームサイズでメディアタイプを合意する。

ご迷惑をお掛けして申し訳ありませんが、よろしくお願いいたします。

Comments