エンコーダとデコーダの開発
ここでは、DirectShow 用のエンコーダとデコーダの開発について解説する。以下で説明する内容は、アプリケーション開発者には関係がない。
DirectX ビデオ アクセラレーション (VA) をサポートするソフトウェア デコーダは、DirectShow コピー変換フィルタとして実装する必要がある。デコーダが DirectX VA をサポートしていない場合でも、DirectX Media Object(DMO) として実装できる。ビデオ レンダラに接続するデコーダは、変換インプレイス フィルタとして実装しないこと。変換インプレイス フィルタとして実装すると、パフォーマンスが大幅に低下するからである。コピー変換フィルタを作成する方法については、「変換フィルタの作成」を参照すること。
ソフトウェア エンコーダは、変換フィルタとして実装しても、DMO として実装してもかまわない。DirectX VA は現在、圧縮解除用にのみ使われるので、エンコーダは DirectX VA を使わない。ここで解説するエンコーダ API 仕様は、ハードウェアとソフトウェアの両方のエンコーダに関係がある。
ここでは次の内容について説明する。
エンコーダ
デコーダ
- デコーダによる IAMVideoAccelerator の使い方
- DirectX ビデオ アクセラレーションについて
- IAMVideoAccelerator への DirectX ビデオ アクセラレーションのマッピング
- DirectShow による DVD デコーダの開発
- デコーダのボリューム制御
参照