Freigeben über


MFSampleExtensionPsnrYuv-Struktur (mfapi.h)

Speichert Peak Signal-to-Noise Ratio (PSNR)-Werte für die Y-, U- und V-Ebenen eines codierten Videoframes. PSNR wird berechnet, indem der rekonstruierte Frame mit dem ursprünglichen Eingabeframe verglichen wird.

Syntax

typedef struct _MFSampleExtensionPsnrYuv {
  FLOAT psnrY;
  FLOAT psnrU;
  FLOAT psnrV;
} MFSampleExtensionPsnrYuv;

Elemente

psnrY

Der PSNR für die Y-Ebene.

psnrU

Die PSNR für die U-Ebene.

psnrV

Der PSNR für die V-Ebene.

Bemerkungen

Verwenden Sie IMFAttributes::SetUnknown , um einen IMFMediaBuffer mit den PSNR-Werten an ein Ausgabebeispiel anzufügen. Verwenden Sie IMFAttributes::GetUnknown , um den IMFMediaBuffer abzurufen, der die PSNR-Werte aus einem Ausgabebeispiel enthält. Der IMFMediaBuffer enthält Arbeitsspeicher, der der Größe der MFSampleExtensionPsnrYuv-Struktur entspricht.

PSNR sollte nur gemeldet werden, wenn der gesamte Frame die Codierung abgeschlossen hat. Wenn der Encoder mehrere Segmente verwendet, sollte der PSNR-Puffer an das IMFSample des letzten Slices angefügt werden.

Wenn der Encoder nur PSNR für die Y-Ebene unterstützt, müssen die PsnrU - und psnrV-Felder null sein.

MFCreateDXGISurfaceBuffer kann verwendet werden, um eine GPU-Ressource in einen IMFMediaBuffer zu konvertieren.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 11, Build 26100
Mindestanforderungen für unterstützte Server Windows Server 2025
Überschrift mfapi.h