Freigeben über


Videoprozessor MFT

Der Videoprozessor MFT ist eine Microsoft Media Foundation-Transformation (MFT), die Farbraumkonvertierung, Videoänderung, Deinterlacing, Bildfrequenzkonvertierung, Drehung, Zuschneiden, räumliche links- und rechte Ansicht entpackt und Spiegelung durchführt.

CLSID

CLSID_VideoProcessorMFT

Schnittstellen

Eingabeformate

  • MFVideoFormat_ABGR32
  • MFVideoFormat_ARGB32
  • MFVideoFormat_AYUV
  • MFVideoFormat_I420
  • MFVideoFormat_I422
  • MFVideoFormat_I444
  • MFVideoFormat_IYUV
  • MFVideoFormat_NV11
  • MFVideoFormat_NV12
  • MFVideoFormat_RGB24
  • MFVideoFormat_RGB32
  • MFVideoFormat_RGB555
  • MFVideoFormat_RGB565
  • MFVideoFormat_RGB8
  • MFVideoFormat_UYVY
  • MFVideoFormat_v410
  • MFVideoFormat_Y216
  • MFVideoFormat_Y41P
  • MFVideoFormat_Y41T
  • MFVideoFormat_Y42T
  • MFVideoFormat_YUY2
  • MFVideoFormat_YV12
  • MFVideoFormat_YVYU

Ausgabeformate

  • MFVideoFormat_ARGB32
  • MFVideoFormat_AYUV
  • MFVideoFormat_I420
  • MFVideoFormat_I422
  • MFVideoFormat_I444
  • MFVideoFormat_IYUV
  • MFVideoFormat_NV12
  • MFVideoFormat_RGB24
  • MFVideoFormat_RGB32
  • MFVideoFormat_RGB555
  • MFVideoFormat_RGB565
  • MFVideoFormat_UYVY
  • MFVideoFormat_Y216
  • MFVideoFormat_YUY2
  • MFVideoFormat_YV12

Nicht jede Kombination aus Eingabe- und Ausgabeformaten wird unterstützt. Um zu testen, ob eine Konvertierung unterstützt wird, legen Sie den Eingabetyp fest, und rufen Sie dann IMFTransform::GetOutputAvailableType auf.

Weitere Informationen zu diesen Formaten finden Sie unter "VideoUntertyp-GUIDs".

Bemerkungen

Eine Instanz des Videoprozessors kann auf eine der folgenden Arten erstellt werden:

  • Durch Aufrufen von MFTEnumEx. Der Videoprozessor ist unter der Kategorie MFT_CATEGORY_VIDEO_PROCESSOR registriert.
  • Durch Aufrufen der COM-Funktion CoCreateInstance wird die CLSID-CLSID_VideoProcessorMFT übergeben.

Die folgenden Hinweise beziehen sich auf das Arbeiten mit Quellrechtecken und Zielrechtecken im Videoprozessor-MFT. Quell- und Zielrechtecke werden mit IMFVideoProcessorControl::SetDestinationRectangle und SetSourceRectangle und manchmal mit IMFMediaEngineEx::UpdateVideoStream festgelegt.

  • Das Quellrechteck sollte ausgerichtet und gerundet werden, um den Anforderungen des Farbformats des an den Videoprozessor eingegebenen Rahmens zu entsprechen. Dies ist wichtig, da Formate wie 420 und 422 Anforderungen an die Abmessungen und Offsets haben, die erstellt und darauf zugegriffen werden können. Beispielsweise wird ein Quellrechteck von {1, 0, 319, 240} (links, oben, rechts, unten) auf {2, 0, 320, 240} gerundet, wenn das Eingabeformat 420 ist.
  • Sowohl das Ziel- als auch das Quellrechteck werden immer so eingeklemmt, dass es in ihre jeweiligen Frames passt – das Quellrechteck an den Quellframe und das Zielrechteck an den Zielrahmen. Dies bedeutet, dass negative Werte nicht sinnvoll sind – sie werden immer auf 0 geklemmt.
  • Das Quellrechteck befindet sich im Koordinatensystem des Zielframes, abzüglich eines beliebigen Zielrechtecks. Dies bedeutet, dass Transformationen wie Drehungen im Quellrechteck "rückgängig gemacht" werden. Daher müssen Sie nicht wissen, ob das Video gedreht oder 3D entpackt wurde. Sie können beispielsweise ein Rechteck über dem Videotag zeichnen, die relativen Koordinaten (relativ zum Videotag) nehmen, sie normalisieren (Bereich 0 bis 1) und als Quellrechteck übergeben und wie erwartet funktionieren, auch wenn das Video gedreht wird.

Der Videoprozessor unterstützt gpubeschleunigte Videoverarbeitung mit Microsoft Direct3D 11. Weitere Informationen finden Sie unter MF_SA_D3D11_AWARE.

Stereoskopisches Video

Der Videoprozessor unterstützt den Entpackungsvorgang der Ansicht auf 3D-Videoframes:

Wenn der Eingabeframe zwei Ansichten enthält, die in demselben Frame verpackt sind, kann der Videoprozessor die Ansichten in separate Puffer aufteilen oder die Basisansicht extrahieren und die zweite Ansicht verwerfen. Um das Entpacken der Ansicht zu aktivieren, legen Sie das attribut MF_ENABLE_3DVIDEO_OUTPUT auf MF3DVideoOutputType_Stereo oder MF3DVideoOutputType_BaseView fest.

Anforderungen

Anforderung Wert
Kopfzeile
Camerauicontrol.h

Siehe auch

digitale Signalprozessoren