64bit版AMVビデオデコーダーを使って再生した場合のDirect Showグラフ
まず、ビデオレンダラーフィルターが複数ありどれが使われるかにより挙動が異なってくることがわかりました。
私のところでは下記の「(上側の)Video Renderer」のメリット値が一番高く、特に指定がない場合このレンダラーが使われます。ここでは便宜上、上側のビデオレンダラーを「レンダラー1」、下側を「レンダラー2」として記述します。
このほか、EVRがありますがメリット値が低いため明示的に使わない限り出番はありません(一応EVRでも正常に表示されます)。

レンダラー1の場合

「AVI Decompressor」が二つ入り、2つ目のデコンプレッサーによりカラーフォーマットが「YUY2 320x240」から「RGB 320x-240」へ変更されています。
レンダラー1の場合はRGBの座標軸をマイナスにすることで正常に表示されるようです。(スクリーンショットではプレビューがまっ黒ですが正常に表示されています)
自動的に2つ目のデコンプレッサーが入り調整されるため同様の環境であれば問題ないと思います。
レンダラー2の場合

レンダラー2でもデコンプレッサーが2つ入りカラーフォーマットが変更されますが、レンダラー2の場合RGBの座標軸は反転しません。(「RGB 320x240」となっています)
レンダラー2は座標軸を反転せずに正常に表示されます。
このようにレンダラーにより高さ方向の座標軸が反転するレンダラーと、反転しないレンダラーがあることがわかりました。ただし、基本的にはDirect Showの方で自動的に「反転する」、「反転しない」の調整を行ってくれるようなので利用者は意識しなくていいようになっているみたいです。
問題となるのはレンダラーが違ったり、異なるAVIデコンプレッサーが使われる場合、およびDirect Showを使わないメディアプレイヤーです。
Direct Showを使わないメディアプレイヤーでは上記フィルターによる自動調整が行われないためAMVビデオデコーダー側で座標軸を反転しないとどうにもならないケースがあるのかなと思います。
レンダラー1とレンダラー2について
レンダラー1は上記のスクリーンショットをみてわかる通り、プレビューの様子が真っ黒になり、オーバーレイレンダラーのように動画の画像をデスクトップ画像の一部に合成してディスプレイに表示されます(デスクトップコンポジションによる合成ではなく、ビデオカードによる合成と思われます)。と言うことは、デスクトップコンポジションが有効な状態でも遅延の少ないプレビュー表示が可能なのかもしれません。
現状アマレコTVはデスクトップコンポジションが有効な場合EVRを使うようになっていて、その性質上遅延が大きめですが、今回のレンダラー1を使うことで改善できるかもしれません(要調査)。
またレンダラー2はDirect Drawを使ったレンダラーのようで、こちらもいろいろなオプションが用意されていて興味深いです。設定次第ではレンダラー2でもオーバーレイ表示が可能なのでしょうか。


- 関連記事
-
- ビデオコーデック・ベンチマーク2009と2012夏の比較
- AMVビデオコーデックのこと
- 64bit版 AMVビデオデコーダー 公開
- 64bit版 AMVビデオデコーダーの仕様について
- 64bit版 AMVビデオデコーダー ベンチマーク
- 新拡張命令AVX2でコーデックの性能は上がるか?
- 3倍高速 AVX2対応 AMVデコーダー デモ版
- 64bit版AMVビデオデコーダーを使って再生した場合のDirect Showグラフ
- AVX2対応 AMVデコーダー デモ版の追試
- AVX2って何? そしてAMV4ビデオコーデック
- AMV4ビデオコーデック 概要
- AMV4ビデオコーデック 内部仕様でみるAMV4とAMV2MTの違い
- AMV4ビデオコーデック ベンチマーク暫定版 SSE編
- AMV4ビデオコーデック ベンチマーク暫定版 もはや反則AVX2編
- ビデオコーデック・ベンチマーク2014夏
trackback
コメントの投稿