dxva.h) (DXVA_ProcAmpControlCaps 结构
DXVA_ProcAmpControlCaps结构标识硬件支持的 ProcAmp 操作。
语法
typedef struct _DXVA_ProcAmpControlCaps {
DWORD Size;
DWORD InputPool;
D3DFORMAT d3dOutputFormat;
DWORD ProcAmpControlProps;
DWORD VideoProcessingCaps;
} DXVA_ProcAmpControlCaps, *LPDXVA_ProcAmpControlCaps;
成员
Size
指定此结构的大小(以字节为单位)。
InputPool
指示应从中分配 ProcAmp 控制源图面的内存池。 有关详细信息,请参阅 Microsoft Window SDK 文档中的 D3DPOOL 枚举。
d3dOutputFormat
指示输出帧的 Direct3D 图面格式。 通常,ProcAmp 设备以与输入图面格式匹配的图面格式输出帧。 此成员可确保 VMR 或其他视频呈现器能够向 ProcAmp 控制硬件提供输出帧图面的正确格式。 如果在 DXVA_VideoProcessCaps 结构中返回 DXVA_VideoProcess_YUV2RGB 标志,则 VMR 假定此成员以及 RGB32 格式指定了有效的输出格式。
ProcAmpControlProps
标识硬件支持的 ProcAmp 操作。 驱动程序应返回以下 ProcAmp 操作的逻辑组合。
值 | 说明 |
---|---|
DXVA_ProcAmp_None | 不允许执行任何操作。 |
DXVA_ProcAmp_Brightness | 允许对视频图像进行亮度调整。 |
DXVA_ProcAmp_Contrast | 允许对视频图像进行对比度调整。 |
DXVA_ProcAmp_Hue | 允许对视频图像进行色调调整。 |
DXVA_ProcAmp_Saturation | 允许对视频图像进行饱和度调整。 |
VideoProcessingCaps
标识可以由 ProcAmp 控制硬件与请求的 ProcAmp 调整同时执行的操作。 驱动程序应返回以下 ProcAmp 操作之一的逻辑组合。
值 | 说明 |
---|---|
DXVA_VideoProcess_None | 不允许执行任何操作。 |
DXVA_VideoProcess_YUV2RGB | 允许从 YUV 颜色空间到 RGB 颜色空间的视频转换。 对于每个颜色分量,使用的 RGB 格式至少具有 8 位精度。 如果可能,可以避免 VMR 中的缓冲区复制。 请注意,不需要从 RGB 颜色空间转换为 YUV 颜色空间。 |
DXVA_VideoProcess_StretchX | 如果硬件能够水平拉伸或收缩,则可以在视频进行 ProcAmp 调整的同时执行纵横比更正。 |
DXVA_VideoProcess_StretchY | 纵横比调整与常规图片大小调整操作相结合,以在应用程序定义的合成空间内缩放视频图像。 这是罕见的,不是一个基本功能。 最好是在调整 ProcAmp 调整所需的缩放的同时,完成调整视频大小以适应应用程序窗口所需的缩放。 这可避免累积项目。 |
DXVA_VideoProcess_AlphaBlend | 指示当 alpha 值发生更改时,VMR 不会执行缓冲区复制。 应用程序很少会更改与视频流关联的常量 alpha 值,因此这是一项低优先级功能。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 仅限 DirectX 9.0 及更高版本。 |
标头 | dxva.h (包括 Dxva.h) |