エンコーダーとデコーダーの開発

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

このセクションには、DirectShow のエンコーダーとデコーダーの開発に関する記事が含まれています。 これらのトピックは、アプリケーション開発者には関係ありません。

DirectX ビデオ アクセラレーション (VA) をサポートするソフトウェア デコーダーは、DirectShow コピー変換フィルターとして実装する必要があります。 デコーダーが DirectX VA をサポートしていない場合は、DirectX メディア オブジェクト (DMO) として実装することもできます。 ビデオ レンダラーに接続するデコーダーは、インプレース トランスイン フィルターとして実装しないでください。これは、パフォーマンスが大幅に低下するためです。 コピー変換フィルターを記述する方法については、「変換フィルターの 書き込み」を参照してください。

ソフトウェア エンコーダーは、変換フィルターまたは DMU として実装できます。 DirectX VA は現在、圧縮解除にのみ使用されているため、エンコーダーでは DirectX VA は使用されません。 このセクションで説明する Encoder API 仕様は、ハードウェア エンコーダーとソフトウェア エンコーダーの両方に関連しています。

このセクションのトピックは次のとおりです。

DirectShow フィルター開発者向けの VMR の使用