Freigeben über


H.264-Videodecoder

Der Media Foundation H.264-Videodecoder ist eine Media Foundation Transformation , die die Decodierung von Profilen Baseline, Main und High bis 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 instance des Decoders zu erstellen:

Eingabetypen

Der Eingabetyp muss mindestens die folgenden beiden Attribute enthalten:

attribute BESCHREIBUNG
MF_MT_MAJOR_TYPE MFMediaType_Video
MF_MT_SUBTYPE 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 Ausgabeframe zu erzeugen, signalisiert er eine Formatänderung, indem er MF_E_TRANSFORM_STREAM_CHANGE von IMFTransform::P rocessOutput zurückgibt. Ausführliche Informationen zum Behandeln von Formatänderungen finden Sie in der ProcessOutput-Dokumentation .

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

attribute BESCHREIBUNG
MF_MT_FRAME_RATE Bildrate.
MF_MT_FRAME_SIZE Rahmendimensionen.
MF_MT_INTERLACE_MODE Interlace-Modus. Hinweis: In H.264-Videos kann sich die Interlace-Struktur dynamisch ändern, sodass der empfohlene Wert dieses Attributs MFVideoInterlace_MixedInterlaceOrProgressive ist. Interlace-Informationen im elementaren Videodatenstrom haben Vorrang vor dem Medientyp. Weitere Informationen finden Sie unter Videointerlacing.
MF_MT_PIXEL_ASPECT_RATIO Pixelseitenverhältnis.

 

Der Eingabetyp muss vor dem Ausgabetyp festgelegt werden. Bis der Eingabetyp festgelegt ist, gibt die IMFTransform::SetOutputType-Methode des Encoders 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-Untertyp-GUIDs.

Transformieren von Attributen

Der H.264-Decoder implementiert die IMFTransform::GetAttributes-Methode . Anwendungen können diese Methode verwenden, um die folgenden Attribute abzurufen oder festzulegen.

attribute 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.

attribute BESCHREIBUNG
CODECAPI_AVLowLatencyMode Aktiviert oder deaktiviert den Decodierungsmodus mit niedriger Latenz.
CODECAPI_AVDecNumWorkerThreads Legt die Anzahl der Workerthreads 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.
MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT Gibt die maximale Anzahl von Ausgabebeispielen an.
MFT_DECODER_EXPOSE_OUTPUT_TYPES_IN_NATIVE_ORDER Gibt an, ob ein Decoder IYUV/I420-Ausgabetypen (für die Transcodierung geeignet) vor anderen Formaten verfügbar macht.

 

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

Formateinschränkungen

Der Decoder unterstützt die folgenden Formate:

Einstellung Format
Profile/Ebenen Baseline-, Main- und High-Profile bis Ebene 5.1. (Weitere Informationen finden Sie unter ITU-T H.264-Spezifikation.)
Chroma-Formate 4:2:0 Chroma oder Monochrom
Mindestauflösung 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.
Hinweis: In Windows 7 beträgt die maximale unterstützte Auflösung 1920 × 1088 Pixel für 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 Baseline-Bitstreams werden als profile_idc=66 und constrained_set1_flag=1 definiert.)

 

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

Der Decoder unterstützt keine Film Grain Technology.

Hinweis

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

 

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 7 [nur 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