Videostabilisierung MFT

Die Videostabilisierung MFT ist eine Microsoft Media Foundation-Transformation (MFT), die eine Bildstabilisierung in einem Videostream durchführt.

CLSID

CLSID_CMSVideoDSPMFT

Schnittstellen

Eingabeformate

Die von der Videostabilisierung MFT für unkomprimierte Videos akzeptierten Eingabemedientyp- und Untertypkombinationen sind:

  • MEDIATYPE_VIDEO
  • MEDIASUBTYPE_NV12
  • MEDIASUBTYPE_YUY2

Ausgabeformate

Die von der Videostabilisierung MFT akzeptierten Ausgabemedientyp- und Untertypkombinationen sind:

  • MEDIATYPE_VIDEO
  • MEDIASUBTYPE_NV12

Der Eingabemedientyp muss vor dem Ausgabemedientyp festgelegt werden. In den meisten Fällen ist die eingeschränkte Formatunterstützung kein Problem, da die Pipeline die erforderlichen Farbkonvertierungen automatisch einfügt.

Die MFT-Komponente zur Videostabilisierung kann bei einer Eingabeänderung dynamische Formatänderungen vornehmen. Wenn sich die Größe des Eingabebilds oder der Untertyp ändert, wird eine dynamische Formatänderung für den Ausgabedatenstrom ausgelöst.

Die Videostabilisierung MFT führt in den folgenden Fällen eine Farbkonvertierung durch:

  • Wenn das Eingabeformat MEDIASUBTYPE_YUY2 ist.
  • Wenn der Microsoft DirectX 9.0-Kompatibilitätsmodus verwendet wird.

Attribute

Die folgenden Attribute werden von der Videostabilisierungs-MFT über die IMFAttributes-Schnittstelle unterstützt.

  • Das Attribut MF_VIDEODSP_MODE versetzt die Videostabilisierung MFT entweder in den Stabilisierungsmodus oder in den Passthrough-Modus. Die Anwendung sollte IMFAttributes::SetUINT32 auf der GUID-MF_VIDEODSP_TYPE mit einer ganzen Zahl aufrufen, die einem der folgenden gültigen Werte entspricht: MFVideoDSPMode_Stabilization = 4, MFVideoDSPMode_Passthrough = 1. MF_VIDEODSP_MODE kann während der Wiedergabe jederzeit geändert werden. Dies führt zu einer Änderung des dynamischen Modus. Die Ausgabe wechselt entweder zu stabilisiert oder nach 16 oder 2 Frames (abhängig vom Latenzmodus), nachdem das Attribut geändert wurde.
  • Das -Attribut MF_LOW_LATENCY versetzt die Videostabilisierungs-MFT entweder in den Modus mit niedriger Latenz oder in den Modus mit hoher Qualität. Die Anwendung sollte IMFAttributes::SetUINT32 auf der GUID-MF_LOW_LATENCY mit einer ganzen Zahl aufrufen, die einem der folgenden gültigen Werte entspricht: Niedrige Latenz = 1 Hohe Qualität = 0
  • Das Attribut MF_SA_D3D11_BINDFLAGS wird von der Pipeline verwendet, um die D3D11-Bindungsflags anzugeben, mit denen die Ausgabebeispiele erstellt werden sollen. Jede Kombination von Werten aus der D3D11_BIND_FLAG-Enumeration ist gültig.
  • Das Attribut MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT wird von der Pipeline verwendet, um die Mindestanzahl von Beispielen anzugeben, die diese Komponente bei der Ausgabe unterstützen muss.
  • Das Attribut MFSampleExtension_VideoDSPMode wird für jede durch Stabilisierung erzeugte Probe festgelegt, um die effektive MF_VIDEODSP_MODE anzugeben, die auf diese Probe angewendet wurde (unabhängig davon, ob die Probe stabilisiert wurde oder nicht). Unter bestimmten Bedingungen können Proben nicht stabilisiert werden (aufgrund einer hohen Systemauslastung oder anforderungen des Benutzers). Dieses Attribut verfügt über die gleichen Werte wie das MF_VIDEODSP_MODE-Attribut (MFVideoDSPMode_Stabilization und MFVideoDSPMode_Passthrough). Um den Wert dieses Attributs abzurufen, müssen Anwendungen IMFAttributes::SetUINT32 für GUID MFSampleExtension_VideoDSPMode aufrufen.

Bemerkungen

Ein instance des DSP für die Videostabilisierung kann auf eine der folgenden Arten erstellt werden:

  • Durch Aufrufen von MFTEnumEx. Der DSP für die Videostabilisierung wird unter der Kategorie MFT_CATEGORY_VIDEO_EFFECT registriert.
  • Durch Aufrufen der COM-Funktion CoCreateInstance wird die CLSID CLSID_CMSVideoDSPMFT. Um diese Methode verwenden zu können, müssen Sie wmcodecdsp.h einschließen und mit wmcodecdspuuid.lib verknüpfen.

Darüber hinaus unterstützt der DSP für die Videostabilisierung die Instanziierung mit Windows-Runtime als Windows Media-Erweiterung. Es ist auf windows.Media.VideoEffects definiert, und sein vollständiger Name lautet "Windows.Media.VideoEffects.VideoStabilization".

Anforderungen

Anforderung Wert
Header
Camerauicontrol.h

Siehe auch

Digitale Signalprozessoren

Windows.Media.VideoEffects