H.264-Videodecoder

Der Media Foundation H.264-Videodecoder ist eine Media Foundation-Transformation, die die Decodierung von Baseline-, Main- und High-Profilen bis zu Ebene 5.1 unterstützt.

Der H.264-Videodecoder macht die folgenden Schnittstellen verfügbar.

Führen Sie eine der folgenden Schritte aus, um eine Instanz des Decoders zu erstellen:

Eingabetypen

Der Eingabetyp muss mindestens die folgenden beiden Attribute enthalten:

Attribut BESCHREIBUNG
MF _ _ MT-HAUPTTYP _ MFMediaType-Video _
MF _ _ MT-UNTERTYP MFVideoFormat _ H264 oder MFVideoFormat _ H264 _ ES

Wenn der Eingabetyp nur diese beiden Attribute enthält, bietet der Decoder einen Standardausgabetyp, der als Platzhalter fungiert. Wenn der Decoder genügend Eingabebeispiele empfängt, um einen Ausgaberahmen zu erzeugen, signalisiert er eine Formatänderung, indem er MF _ E TRANSFORM STREAM _ _ _ CHANGE aus DEM FORMATTRANSFORM::P rocessOutput zurücksendet. Weitere Informationen zur Behandlung von Formatänderungen finden Sie in der ProcessOutput-Dokumentation.

Um eine anfängliche Formatänderung zu vermeiden, geben Sie so viele Informationen wie möglich im Eingabetyp an, einschließlich:

attribute BESCHREIBUNG
MF_MT_FRAME_RATE Bildrate.
MF_MT_FRAME_SIZE Rahmendimensionen.
MF_MT_INTERLACE_MODE Interlace-Modus.
[!Note]
Im H.264-Video kann sich die Interlace-Struktur dynamisch ändern, sodass der empfohlene Wert dieses Attributs MFVideoInterlace_MixedInterlaceOrProgressive. Interlace-Informationen im elementaren Videostream haben Vorrang vor dem Medientyp. Weitere Informationen finden Sie unter Video Interlacing.


MF_MT_PIXEL_ASPECT_RATIO Pixel-Seitenverhältnis.

Der Eingabetyp muss vor dem Ausgabetyp festgelegt werden. Bis der Eingabetyp festgelegt ist, gibt die METHODE DER ENCODERTRANSFORM::SetOutputType MF E TRANSFORM TYPE _ NOT SET _ _ _ _ zurück.

Ausgabetypen

Der Decoder unterstützt die folgenden Ausgabeuntertypen:

  • MFVideoFormat _ I420
  • MFVideoFormat _ IYUV
  • MFVideoFormat _ NV12
  • MFVideoFormat _ YUY2
  • MFVideoFormat _ YV12

Weitere Informationen zu diesen Untertypen finden Sie unter Video Subtype GUIDs.

Transformieren von Attributen

Der H.264-Decoder implementiert die METHODE VERFORMTransform::GetAttributes. Anwendungen können diese Methode verwenden, um die folgenden Attribute zu erhalten oder zu festlegen.

Attribut BESCHREIBUNG
CODECAPI _ AVDecVideoAcceleration _ H264 Aktiviert oder deaktiviert die Hardwarebeschleunigung.
CODECAPI _ AVDecVideoThumbnailGenerationMode Aktiviert oder deaktiviert den Miniaturansichtsgenerierungsmodus.
MF _ SA _ D3D _ AWARE Gibt an, dass der Decoder die DirectX-Videobeschleunigung (DXVA) unterstützt. Als schreibgeschützt behandeln.

In Windows 8 unterstützt der H.264-Decoder auch die folgenden Attribute.

Attribut BESCHREIBUNG
CODECAPI _ AVLowLatencyMode Aktiviert oder deaktiviert den Decodierungsmodus mit geringer Latenz.
CODECAPI _ AVDecNumWorkerThreads Legt die Anzahl der arbeitsthreads fest, die vom Decoder verwendet werden.
CODECAPI _ AVDecVideoMaxCodedWidth Legt die maximale Bildbreite fest, die der Decoder als Eingabetyp akzeptiert.
CODECAPI _ AVDecVideoMaxCodedHeight Legt die maximale Bildhöhe fest, die der Decoder als Eingabetyp akzeptiert.
MINIMALE _ _ MF-SA-AUSGABEBEISPIELANZAHL _ _ _ Gibt die maximale Anzahl von Ausgabebeispielen an.
_MFT-DECODER _ MACHT _ _ AUSGABETYPEN _ IN _ NATIVER REIHENFOLGE _ VERFÜGBAR Gibt an, ob ein Decoder IYUV/I420-Ausgabetypen (geeignet für die Transcodierung) vor anderen Formaten verfügbar macht.

In Windows 8 unterstützt der H.264-Decoder die ICodecAPI-Schnittstelle. Diese Schnittstelle stellt eine Alternativ-API zum Festlegen der folgenden Codeceigenschaften bereit.

Formateinschränkungen

Der Decoder unterstützt die folgenden Formate:

| | | Profile/Ebenen | Baseline-, Main- und High-Profile bis Ebene 5.1. (Weitere Informationen finden Sie unter ITU-T H.264-Spezifikation.) | | Format-| 4:2:0- oder monotone | | Mindestauflösungs| 48 × 48 Pixel | | Maximale Auflösung | 4096 × 2304 Pixel
Die maximale garantierte Auflösung für die DXVA-Beschleunigung beträgt 1920 × 1088 Pixel. bei höheren Auflösungen erfolgt die Decodierung mit DXVA, wenn sie von der zugrunde liegenden Hardware unterstützt wird. Andernfalls erfolgt die Decodierung mit Software.

[!Note]
In Windows 7 beträgt die maximal unterstützte Auflösung 1920 × 1088 Pixel für die Software- und DXVA-Decodierung.


| | DXVA-| Der Decoder unterstützt DXVA Version 2, aber nicht DXVA Version 1. DXVA-Decodierung wird nur für Main-kompatible Baseline-, Main- und High Profile-Bitstreams unterstützt. (Hauptkompatible Baselinebitstreams werden als profile_idc=66 und constrained_set1_flag=1 definiert.) |

Eingabedaten müssen Anhang B von ISO/IEC 14496-10 entsprechen. Die Daten müssen die Startcodes enthalten. Der Decoder überspringt Bytes, bis er einen gültigen Sequenzparametersatz (SEQUENCE Parameter Set, SPS) und einen Bildparametersatz (PICTURE Parameter Set, PPS) im Bytestream findet.

Der Decoder unterstützt keine Film grain-Technologie.

Hinweis

In einer früheren Version der Dokumentation wurde fälschlicherweise angegeben, dass der Decoder auf Windows Server 2008 R2 unterstützt wird.

Wenn die Plattformupdateergänzung für Windows Vista installiert ist, ist der H.264-Videodecoder auf Windows Vista verfügbar, aber auf Windows Vista kann nur über den Quellleserzugegriffen werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
nur Windows 7 [ Desktop-Apps]
Unterstützte Mindestversion (Server)
Nicht unterstützt
DLL
Msmpeg2vdec.dll

Weitere Informationen

Codec-Objekte

MPEG-4-Unterstützung in Media Foundation

Unterstützte Medienformate in Media Foundation

Videomedientypen