Videostabilisierung MFT
Das Videostabilisator-MFT ist eine Microsoft Media Foundation-Transformation (MFT), die bildstabile Daten in einem Videostream durchführt.
CLSID
CLSID _ CMSVideoDSPMFT
Schnittstellen
Eingabeformate
Die Eingabemedientyp- und Untertypkombinationen, die von der Video-Stabilisierungs-MFT für unkomprimierte Videos akzeptiert werden, sind:
- _MEDIATYPE-VIDEO
- MEDIASUBTYPE _ NV12
- MEDIASUBTYPE _ YUY2
Ausgabeformate
Die Ausgabemedientyp- und Untertypkombinationen, die von der VideostabilisierungS-MFT akzeptiert werden, 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 automatisch die erforderlichen Farbkonvertierungen einfügt.
Die MFT-Komponente zur Videostabilisierung kann dynamische Formatänderungen vornehmen, wenn sich die Eingabe ändert. Wenn sich die Größe des Eingabebilds oder der Untertyp ändert, wird eine dynamische Formatänderung im Ausgabestream ausgelöst.
Die Videounterstärkung MFT führt die Farbkonvertierung in den folgenden Fällen durch:
- Wenn das Eingabeformat MEDIASUBTYPE _ YUY2 ist.
- Wenn der Microsoft DirectX 9.0-Kompatibilitätsmodus verwendet wird.
Attributes
Die folgenden Attribute werden von der Videostabilisator-MFT über die INTERFACESAttributes-Schnittstelle unterstützt.
- Das Attribut MF _ VIDEODSP _ MODE versetzt das Videostabilisator-MFT entweder in den Stabilisierungsmodus oder den Pass-Through-Modus. Die Anwendung sollte DIE ATTRIBUTEAttributes::SetUINT32 für den GUID MF _ VIDEODSP _ TYPE mit einer ganzen Zahl aufrufen, die einem der folgenden gültigen Werte entspricht: MFVideoDSPMode-Stabilisierung _ = 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 stabil oder nach 16 oder 2 Frames (je nach Latenzmodus), nachdem das Attribut geändert wurde.
- Das Attribut MF _ LOW _ LATENCY versetzt das Videostabilisator-MFT entweder in den Modus mit niedriger Latenz oder in den Qualitätsmodus. Die Anwendung sollte DIE ATTRIBUTEAttributes::SetUINT32 für die 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 Stichproben anzugeben, die diese Komponente bei der Ausgabe unterstützen muss.
- Das Attribut MFSampleExtension _ VideoDSPMode wird für jede Durch Stabilisierung erzeugte Stichprobe festgelegt, um den effektiven MF _ VIDEODSP _ MODE anzugeben, der auf diese Stichprobe angewendet wird (unabhängig davon, ob die Stichprobe stabil war). Unter bestimmten Umständen können Stichproben nicht stabil sein (aufgrund einer hohen Systemlast oder aufgrund von Anforderungen des Benutzers). Dieses Attribut hat die gleichen Werte wie das MF _ VIDEODSP _ MODE-Attribut (MFVideoDSPMode-Stabilisierung _ und MFVideoDSPMode-Passthrough _). Um den Wert dieses Attributs abzurufen, sollten Anwendungen DIE ATTRIBUTEAttributes::SetUINT32 für GUID MFSampleExtension _ VideoDSPMode aufrufen.
Bemerkungen
Eine Instanz des DSP für die Videostabilität kann auf eine der folgenden Arten erstellt werden:
- Durch Aufrufen von MFTEnumEx. Der Videostabilisator-DSP ist unter der Kategorie MFT _ CATEGORY VIDEO _ _ EFFECT registriert.
- Durch Aufrufen der COM-Funktion CoCreateInstance wird die CLSID CLSID _ CMSVideoDSPMFT übergeben. Um diese Methode verwenden zu können, müssen Sie wmcodecdsp.h einschließen und eine Verknüpfung mit wmcodecdspuuid.lib erstellen.
Darüber hinaus unterstützt der DSP für die Videounterdehnung die Instanziierung mithilfe von Windows Runtime als Windows Medienerweiterung. Sie wird auf der Windows definiert. Media.VideoEffectsund der vollständige Name lautet "Windows. Media.VideoEffects.VideoStabilization".
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Header |
|