存储编码视频帧的 Y、U 和 V 平面的峰值信号与噪声比(PSNR)值。 PSNR 是通过将重新构造的帧与原始输入帧进行比较来计算的。
语法
typedef struct _MFSampleExtensionPsnrYuv {
FLOAT psnrY;
FLOAT psnrU;
FLOAT psnrV;
} MFSampleExtensionPsnrYuv;
成员
psnrY
Y 平面的 PSNR。
psnrU
U 平面的 PSNR。
psnrV
V 平面的 PSNR。
注解
使用 IMFAttributes::SetUnknown 将包含 PSNR 值的 IMFMediaBuffer 附加到输出示例。 使用 IMFAttributes::GetUnknown 从输出示例中检索包含 PSNR 值的 IMFMediaBuffer 。 IMFMediaBuffer 包含与 MFSampleExtensionPsnrYuv 结构的大小匹配的内存。
仅当整个帧已完成编码时,才应报告 PSNR。 如果编码器使用多个切片,则 PSNR 缓冲区应附加到最后一个切片的 IMFSample 。
如果编码器仅支持 Y 平面的 PSNR, 则 psnrU 和 psnrV 字段应为零。
MFCreateDXGISurfaceBuffer 可用于将 GPU 资源转换为 IMFMediaBuffer。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 11 内部版本 26100 |
支持的最低服务器 | Windows Server 2025 |
标头 | mfapi.h |