このトピックでは、コーデックの MFT を構成するプロセスについて説明します。 各コーデックには特定の手順がありますが、ここではすべての共通の情報について説明します。
MFT 入力と出力の構成
すべての MFT では、特定の入力と出力の種類がサポートされます。 IMFTransform::GetInputAvailableType繰り返し呼び出し、呼び出しごとに型インデックスをインクリメントすることで、サポートされている入力型を取得できます。 適切な型が見つかると、IMFTransform::SetInputTypeを呼び出して入力の種類を設定します。 その後、IMFTransform::GetOutputAvailableType呼び出しと IMFTransform::SetOutputTypeを使用して、出力の種類のプロセスを繰り返すことができます。 入力の種類を設定した後でのみ、使用可能な出力の種類を照会または設定する必要があります。
エンコード用のコーデック MFT の構成
すべての Windows Media Audio および Video コーデックは、さまざまなエンコード機能をサポートしています。 これらの機能は、通常、IPropertyStore インターフェイスのメソッドを使用して MFT のプロパティを設定することによって構成されます。 一部のプロパティは、特殊なコーデック インターフェイスを使用して構成されます。 これらのインターフェイスは、セクションのコーデックオブジェクトで各コーデックごとに一覧表示されています。
エンコード MFT を構成する操作の一般的な順序は次のとおりです。
- IPropertyStore のメソッドを使用して、コーデック機能を必要に応じて設定します。
- 必要に応じて、コーデック MFT インターフェイスを使用して追加機能を構成します。
- 入力と出力の種類を構成します。 種類を構成する順序は、個々のコーデックによって異なります。 詳細については、「オーディオ の操作」および「ビデオ の操作」を参照してください。
デコード用のコーデック MFT の構成
サポートされるデコーダー機能が少ないほど、デコードはエンコードよりも簡単です。
デコード MFT を構成する操作の一般的な順序は次のとおりです。
- IPropertyStore のメソッドを使用して、デコーダー機能を必要に応じて構成します。
- 入力の種類をエンコーダー出力に使用する型に設定します。
- 出力の種類を構成します。 サポートされている出力の種類は、入力ごとに異なります。
手記
デコーダー入力には、エンコーダー出力に使用されたものと同じメディアの種類を使用することが重要です。 これは、Windows Media Audio コーデックと Video コーデックが追加のデータと共にメディア形式を使用するためです。 拡張形式のデータがないと、圧縮されたコンテンツをデコードすることはできません。
関連トピック