Share via


影片防震 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 上呼叫 IMFAttributes::SetUINT32MF_VIDEODSP_TYPE, 其整數對應至下列其中一個有效值: MFVideoDSPMode_Stabilization = 4, MFVideoDSPMode_Passthrough = 1。 MF_VIDEODSP_MODE可以在播放期間隨時變更。 這會導致動態模式變更。 輸出會根據屬性變更後) 延遲模式,切換至穩定或通過 16 或 2 個畫面格之後 (。
  • 屬性 MF_LOW_LATENCY 會將影片防震 MFT 放入低延遲模式或高品質模式。 應用程式應該在 GUID 上呼叫 IMFAttributes::SetUINT32MF_LOW_LATENCY, 其整數對應至下列其中一個有效值:低延遲 = 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_StabilizationMFVideoDSPMode_Passthrough) 相同。 若要取得此屬性應用程式的值,應該在 GUID MFSampleExtension_VideoDSPMode上呼叫IMFAttributes::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