次の方法で共有


ビデオ安定化 MFT

ビデオ安定化 MFT は、ビデオ ストリームで手ブレ補正を実行する Microsoft Media Foundation 変換 (MFT) です。

CLSID

CLSID_CMSVideoDSPMFT

インターフェイス

入力形式

圧縮されていないビデオのビデオ安定化 MFT で受け入れられる入力メディアの種類とサブタイプの組み合わせは次のとおりです。

  • MEDIATYPE_VIDEO
  • MEDIASUBTYPE_NV12
  • MEDIASUBTYPE_YUY2

出力形式

ビデオ安定化 MFT で受け入れられる出力メディアの種類とサブタイプの組み合わせは次のとおりです。

  • MEDIATYPE_VIDEO
  • MEDIASUBTYPE_NV12

入力メディア・タイプは、出力メディア・タイプの前に設定する必要があります。 ほとんどの場合、パイプラインによって必要な色変換が自動的に挿入されるため、限られた形式のサポートは問題になりません。

ビデオ安定化 MFT コンポーネントは、入力が変更されたときに動的な形式変更が可能です。 入力画像のサイズが変更されるか、サブタイプが変更されると、出力ストリームで動的な形式の変更がトリガーされます。

ビデオ安定化 MFT では、次の場合に色変換が行われます。

  • 入力形式が MEDIASUBTYPE_YUY2されたとき。
  • Microsoft DirectX 9.0 互換モードが使用されている場合。

属性

次の属性は、 IMFAttributes インターフェイスを介したビデオ安定化 MFT でサポートされています。

  • 属性 MF_VIDEODSP_MODEは、ビデオ安定化 MFT を安定化モードまたはパススルー モードに設定します。 アプリケーションは、GUID MF_VIDEODSP_TYPEIMFAttributes::SetUINT32 を呼び出し、次のいずれかの有効な値に対応する整数を指定する必要があります: MFVideoDSPMode_Stabilization = 4、MFVideoDSPMode_Passthrough = 1。 MF_VIDEODSP_MODEは再生中いつでも変更できます。 これにより、動的モードが変更されます。 属性が変更された後、出力は 16 フレームまたは 2 フレーム (待機時間モードに応じて) の後に安定化またはパススルーのいずれかに切り替わります。
  • 属性MF_LOW_LATENCY、ビデオ安定化 MFT を低待機時間モードまたは高品質モードに設定します。 アプリケーションは、GUID MF_LOW_LATENCYIMFAttributes::SetUINT32 を呼び出し、有効な値のいずれかに対応する整数を指定する必要があります。低待機時間 = 1 高品質 = 0
  • MF_SA_D3D11_BINDFLAGS属性は、出力サンプルを作成する D3D11 バインド フラグを指定するためにパイプラインによって使用されます。 D3D11_BIND_FLAG列挙の値の任意の組み合わせが有効です。
  • 属性MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNTは、パイプラインによって使用され、このコンポーネントが出力でサポートする必要があるサンプルの最小数を指定します。
  • 属性MFSampleExtension_VideoDSPModeは、安定化によって生成されるすべてのサンプルに対して設定され、そのサンプルに適用された有効なMF_VIDEODSP_MODE (サンプルが安定化されたかどうか) を示します。 特定の条件下では、サンプルが安定しない可能性があります (システム負荷が高い、またはユーザーによる要求が原因)。 この属性の値は、MF_VIDEODSP_MODE属性 (MFVideoDSPMode_Stabilization および MFVideoDSPMode_Passthrough) と同じです。 この属性アプリケーションの値を取得するには、GUID MFSampleExtension_VideoDSPModeIMFAttributes::SetUINT32 を呼び出す必要があります。

解説

ビデオ安定化 DSP のインスタンスは、次のいずれかの方法で作成できます。

  • MFTEnumEx を呼び出します。 ビデオ安定化 DSP は 、MFT_CATEGORY_VIDEO_EFFECT カテゴリに登録されます。
  • COM 関数 CoCreateInstance を呼び出して CLSID CLSID_CMSVideoDSPMFT渡します。 このメソッドを使用するには、wmcodecdsp.h と wmcodecdspuuid.lib に対するリンクを含める必要があります。

さらに、ビデオ安定化 DSP では、windows メディア拡張機能としてWindows ランタイムを使用したインスタンス化がサポートされています。 これは Windows.Media.VideoEffects で定義され、その完全な名前は "Windows.Media.VideoEffects.VideoStabilization" です。

要件

要件
ヘッダー
Camerauicontrol.h

関連項目

デジタル信号プロセッサ

Windows.Media.VideoEffects