影片防震 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_Stabilization 和 MFVideoDSPMode_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」。
規格需求
需求 | 值 |
---|---|
標頭 |
|
另請參閱