ビデオ プロセッサ MFT は、色空間変換、ビデオサイズ変更、インターレース解除、フレーム レート変換、回転、トリミング、空間左右ビューアンパック、ミラーリングを実行する Microsoft Media Foundation 変換 (MFT) です。
CLSID
CLSID_VideoProcessorMFT
インターフェイス
入力形式
- MFVideoFormat_ABGR32
- MFVideoFormat_ARGB32
- MFVideoFormat_AYUV
- MFVideoFormat_I420
- MFVideoFormat_I422
- MFVideoFormat_I444
- MFVideoFormat_IYUV
- MFVideoFormat_NV11
- MFVideoFormat_NV12
- MFVideoFormat_RGB24
- MFVideoFormat_RGB32
- MFVideoFormat_RGB555
- MFVideoFormat_RGB565
- MFVideoFormat_RGB8
- MFVideoFormat_UYVY
- MFVideoFormat_v410
- MFVideoFormat_Y216
- MFVideoFormat_Y41P
- MFVideoFormat_Y41T
- MFVideoFormat_Y42T
- MFVideoFormat_YUY2
- MFVideoFormat_YV12
- MFVideoFormat_YVYU
出力形式
- MFVideoFormat_ARGB32
- MFVideoFormat_AYUV
- MFVideoFormat_I420
- MFVideoFormat_I422
- MFVideoFormat_I444
- MFVideoFormat_IYUV
- MFVideoFormat_NV12
- MFVideoFormat_RGB24
- MFVideoFormat_RGB32
- MFVideoFormat_RGB555
- MFVideoFormat_RGB565
- MFVideoFormat_UYVY
- MFVideoFormat_Y216
- MFVideoFormat_YUY2
- MFVideoFormat_YV12
入力形式と出力形式のすべての組み合わせがサポートされているわけではありません。 変換がサポートされているかどうかをテストするには、入力の種類を設定し、 IMFTransform::GetOutputAvailableType を呼び出します。
これらの形式の詳細については、「 ビデオ サブタイプ GUID」を参照してください。
注釈
ビデオ プロセッサのインスタンスは、次のいずれかの方法で作成できます。
- MFTEnumEx を呼び出すこと。 ビデオ プロセッサは、 MFT_CATEGORY_VIDEO_PROCESSOR カテゴリに登録されます。
- COM 関数 CoCreateInstance を呼び出して CLSID CLSID_VideoProcessorMFT渡します。
次の解説は、 ビデオ プロセッサ MFT でのソース四角形と変換先の四角形の操作に関連します。 ソースとターゲットの四角形は 、IMFVideoProcessorControl::SetDestinationRectangle と SetSourceRectangle で設定され、 場合によっては IMFMediaEngineEx::UpdateVideoStream で設定されます。
- ソースの四角形は、ビデオ プロセッサに入力されたフレームの色形式の要件に合わせて配置および丸める必要があります。 これは重要です。420 や 422 などの形式には、作成およびアクセスできるディメンションとオフセットに関する要件があるためです。 たとえば、入力形式が 420 の場合、ソースの四角形 {1、0、319、240} (左、上、右、下) は {2、0、320、240} に丸められます。
- コピー先とソースの両方の四角形は、それぞれのフレーム (ソース フレームに対するソース四角形)、コピー先の四角形の内側に収まるように常にクランプされます。 つまり、負の値は意味がありません。常に 0 に固定されます。
- ソースの四角形は、コピー先フレームの座標系内にあり、変換先の四角形を引きます。 つまり、回転などの変換は、ソースの四角形で "元に戻す" ことになります。 そのため、ビデオが回転したか、3D アンパックされたかを知る必要はありません。 たとえば、ビデオ タグの上に四角形を描画し、相対座標 (ビデオ タグに対する相対座標) を取得し、それらを正規化して (範囲 0 から 1)、ソースの四角形として渡すことができます。ビデオが回転している場合でも、期待どおりに動作します。
ビデオ プロセッサは、Microsoft Direct3D 11 を使用した GPU アクセラレータによるビデオ処理をサポートします。 詳細については、「MF_SA_D3D11_AWARE」 を参照してください。
立体ビデオ
ビデオ プロセッサは、3D ビデオ フレームでのビューアンパック操作をサポートします。
入力フレームに同じフレームにパックされた 2 つのビューが含まれている場合、ビデオ プロセッサはビューを個別のバッファーに分割したり、ベース ビューを抽出して 2 番目のビューを破棄したりできます。 ビューのアンパックを有効にするには、 MF_ENABLE_3DVIDEO_OUTPUT 属性を MF3DVideoOutputType_Stereo または MF3DVideoOutputType_BaseView に設定します。
要求事項
要件 | 価値 |
---|---|
ヘッダ |
|
こちらも参照ください