YUV-Videountertypen

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

YUV-Formate werden nach den folgenden Informationen kategorisiert:

Gepackte Formate im Vergleich zu planaren Formaten. In einem gepackten Format werden die Y-, U- und V-Komponenten in einem einzelnen Array gespeichert. Pixel sind in Gruppen von Makropixeln organisiert, deren Layout vom Format abhängt. In einem planaren Format werden die Komponenten Y, U und V separat als drei Ebenen gespeichert.

Chroma-Sampling. Eine Notation namens A:B:C-Notation wird verwendet, um zu beschreiben, wie oft Sie und V relativ zu Y abgetastet werden:

  • 4:4:4 bedeutet keine Downsampling der Chromakanäle.
  • 4:2:2 bedeutet 2:1 horizontales Downsampling ohne vertikales Downsampling. Jede Scanzeile enthält vier Y-Stichproben für zwei U- oder V-Stichproben.
  • 4:2:0 bedeutet 2:1 horizontales Downsampling mit 2:1 vertikaler Downsampling.
  • 4:1:1 bedeutet 4:1 horizontales Downsampling, ohne vertikales Downsampling. Jede Scanzeile enthält vier Y-Stichproben für jedes U- oder V-Beispiel. Das 4:1:1-Sampling ist weniger üblich als andere Formate und wird in diesem Artikel nicht ausführlich behandelt.

Bits pro Kanal. Die gängigsten Stichprobengrößen sind 8, 10 oder 16 Bit pro Stichprobe. Einige YUV-Formate sind palettisiert.

Speicherlayout. Zwei YUV-Formattypen können ansonsten identisch sein, verwenden jedoch unterschiedliche Reihenfolgen für die Beispiele Y, V und U im Arbeitsspeicher.

Empfohlene YUV-Formate

GUID Format Stichproben Verpackt oder planar Bits pro Kanal
MEDIASUBTYPE_AYUV AYUV 4:4:4 Verpackt 8
MEDIASUBTYPE_YUY2 YUY2 4:2:2 Verpackt 8
MEDIASUBTYPE_UYVY UYVY 4:2:2 Verpackt 8
MEDIASUBTYPE_IMC1 IMC1 4:2:0 Planar 8
MEDIASUBTYPE_IMC3 IMC2 4:2:0 Planar 8
MEDIASUBTYPE_IMC2 IMC3 4:2:0 Planar 8
MEDIASUBTYPE_IMC4 IMC4 4:2:0 Planar 8
MEDIASUBTYPE_YV12 YV12 4:2:0 Planar 8
MEDIASUBTYPE_NV12 NV12 4:2:0 Planar 8

 

Eine Beschreibung dieser YUV-Formate für das Videorendering unter Windows finden Sie unter Empfohlene 8-Bit-YUV-Formate für video Rendering .

Andere YUV-Formattypen

GUID Format Stichproben Verpackt oder planar Bits pro Kanal
MEDIASUBTYPE_I420 I420 4:2:0 Planar 8
MEDIASUBTYPE_IF09 Wird nicht mehr unterstützt.
Indeo YVU9
Wird nicht mehr unterstützt.
Siehe Bemerkungen.
Wird nicht mehr unterstützt.
Planar
Wird nicht mehr unterstützt.
8
MEDIASUBTYPE_IYUV IYUV 4:2:0 Planar 8
MEDIASUBTYPE_Y211 Y211 Siehe Bemerkungen. Verpackt 8
MEDIASUBTYPE_Y411 Y411 4:1:1 Verpackt 8
MEDIASUBTYPE_Y41P Y41P 4:1:1 Verpackt 8
MEDIASUBTYPE_YVU9 YVU9 Siehe Bemerkungen. Planar 8
MEDIASUBTYPE_YVYU YVYU 4:2:2 Verpackt 8

 

  • I420 besteht aus einem Y-Flugzeug, gefolgt von einem U-Flugzeug, gefolgt von einem V-Flugzeug.

  • IYUV ist identisch mit I420.

  • Y211 ist ein gepacktes Format, in dem Y alle 2 Pixel horizontal und Sie und V alle 4 Pixel horizontal abgetastet werden. Jedes Makropixel ist 4 Bytes und enthält 4 Pixel. Es verwendet die folgende Bytereihenfolge:

    Y0 U0 Y2 V0    Y4 U4 Y6 V4    Y8 U8 Y10 V8

  • Y41P ist ein gepacktes 4:1:1-Format. Es verwendet die folgende Bytereihenfolge:

    U0 Y0 V0 Y1    U4 Y2 V4 Y3    Y4 Y5 Y6 Y7

  • YVU9 ist ein planares Format, in dem Sie und V alle 4 Pixel horizontal und vertikal (manchmal als 16:1:1: 1 bezeichnet) stichprobeniert werden. Die V-Ebene wird vor der U-Ebene angezeigt.

  • Das Indeo YVU9-Format (MEDIASUBTYPE_IF09) ist eine Variante von YVU9 mit zusätzlichen Delta-Frame-Informationen nach der U-Ebene. Der Indeo-Codec wird in Windows nicht mehr unterstützt.

  • YVYU ähnelt UYVY mit einer anderen Bytereihenfolge: Y0 V0 Y1 U0

  • Der Indeo-Codec wird in Windows nicht mehr unterstützt.

Anforderungen

Anforderung Wert
Header
Dshow.h

Siehe auch

Empfohlene 8-Bit-YUV-Formate für das Videorendering

Videountertypen

Arbeiten mit Videoframes