DXVA 高清视频处理 - CreateVideoSurface
此自动测试调用 GetVideoProcessorDeviceCaps。 然后,使用这些上限,根据生成的 dxvahd 设备中内容的默认内存池宽度大小生成多个测试用例。
测试用例还会检查每个设备支持的输入和输出格式。 它验证是否可以为每个输入和输出图面创建一个图面,并确认未知格式失败。 测试用例还验证为每种格式创建多个图面的情况。
大多数情况下,此测试只显示一个类似于滚动信息区的窗口,该窗口会递增通过计数和失败计数,并显示正在循环访问的测试用例变量。
如果驱动程序未公开 D3DCAPS3_DXVAHD,则测试可能会返回“跳过”。 在某些情况下,如果不支持某些图面格式,则可能会跳过。
测试详细信息
规范 |
|
平台 |
|
支持的版本 |
|
预计运行时间(以分钟为单位) | 2 |
类别 | 兼容性 |
超时(以分钟为单位) | 120 |
需要重启 | false |
需要特殊配置 | false |
类型 | automatic |
其他文档
此功能区域中的测试可能会有其他文档,包括先决条件、设置和故障排除信息,这些内容可在以下主题中找到:
运行测试
在运行测试之前,请按照如下测试要求中所述完成测试设置:图形适配器或芯片组测试先决条件。
此外,此测试需要以下软件:
支持 D3D9Caps.Caps3 D3DCAPS3_DXVAHD 的显示驱动程序,具体要求是:
D3D9 支持公开 D3DCAPS3_DXVAHD。
所需的输出格式:D3DFMT_X8R8G8B8、D3DFMT_A8R8G8B8。
所需的输入格式:支持 D3DFMT_X8R8G8B8、D3DFMT_A8R8G8B8、D3DFMT_YUY2、D3DFMT_AYUV 和任何解码呈现器目标。
dxvahdsw.dll。
故障排除
有关 HLK 测试失败的常规故障排除,请参阅排查 Windows HLK 测试失败问题。
有关故障排除信息,请参阅排查 Device.Graphics 测试问题。
详细信息
此测试验证以下要求:
验证指向 DXVAHD_VPDEVCAPS 的有效指针是否成功。
验证 OutputFormat 和 InputFormat 计数是否正确,以及是否与关联的 get 例程一起正常工作。
验证 VideoProcessorCount 是否正确映射到视频处理器的数量。
验证 MaxInputStreams 是否大于零。
验证 MaxStreamStates 是否大于零。
验证使用 DXVAHD_VPDEVCAPS.InputFormatCount 时是否成功。
验证使用小于和大于 InputFormatCount 时是否失败。
验证是否支持 D3DFMT_X8R8G8B8。
验证使用 DXVAHD_VPDEVCAPS.InputFormatCount 时是否成功。
验证使用小于和大于 InputFormatCount 时是否失败。
验证 D3DFMT_X8R8G8B8、D3DFMT_A8R8G8B8、D3DFMT_YUY2 和 AYUV (FourCC) 是否被报告为受支持。
验证所有解码呈现器目标格式是否也被报告为受支持。
创建具有与内容说明输入宽度高度相同的宽度高度的图面。
创建具有大于和小于内容说明输入宽度高度的宽度高度的图面。
创建具有来自 DXVAHD_VPDEVCAPS.InputPool 的 D3DPOOL 类型的图面。 然后,使用不同的 InputPool,验证在处理 VPBltHD 时是否返回 E_INVALIDCALL。
验证 0 以外的任何使用值是否会生成返回值 (E_INVALIDARG)。
创建 DXVAHD_SURFACE_TYPE_VIDEO_INPUT 的图面,并尝试使用 D3D9 API 对其执行一些操作。 验证是否成功。 (屏幕外平面。)
- 循环访问通过 IDXVAHD_Device::GetVideoProcessorInputFormats 获得的所有受支持的输入 D3D 格式。 然后检查不受支持的 D3D 格式。
创建 DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE 的图面。 确认通过 D3D 9 API 对其进行操作会失败。 (屏幕外平面。)
- 循环访问通过 IDXVAHD_Device::GetVideoProcessorInputFormats 获得的所有受支持的输入 D3D 格式。 然后检查不受支持的 D3D 格式。
创建 DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT 的图面,并作为呈现器目标进行验证。
- 循环访问通过 IDXVAHD_Device::GetVideoProcessorOutputFormats 获得的所有受支持的输入 D3D 格式。 然后检查不受支持的 D3D 格式。
尝试创建单个图面,然后验证 ppSurfaces 是否只包含一个图面。
创建多个图面,并验证图面数是否等于传递的 NumSurfaces 表示的图面数。
确认失败的 ppSurfaces 为 NULL。
命令语法
命令选项 | 说明 |
---|---|
DXVAHDVideoProcessing CreateVideoSurface |
如果未使用任何选项,测试将枚举除某些极端无效参数测试用例以外的所有测试用例。 |
TestPriority:[0, 1, 2] |
默认情况下以优先级 1 进行测试,但优先级 2 将测试每个排列,包括极端无效参数测试用例。 0 用于 BVT 级别。 |
SoftwareOnly |
仅测试视频处理器的软件实现。 这主要用于驱动程序支持测试用例之前的初始测试。 |
SaveAllFrames |
此测试将无效帧的硬编码保存计数设置为 100。 如果你希望保存所有无效帧,则使用此标志。 适用于较高帧计数会导致测试用例失败的情况。 |
LogLevel:[0, 1, 2] |
此测试能够记录非常详细的日志。 但默认情况下,级别设置为 0;级别 1 将为每个测试用例收集更多日志记录信息,包括许多流状态/blt 状态集。 级别 2 将收集所有调整后的流状态和 blt 状态,以及任何配置信息。 |
文件列表
文件 | 位置 |
---|---|
DXVAHDVideoProcessing.exe |
[testbinroot]\nttest\windowstest\graphics\d3d\func\ |
Dxvahdsw.dll |
[osbinroot]\nttest\windowstest\graphics\dxva\ |
参数
参数名称 | 参数说明 |
---|---|
LLU_NetAccessOnly | 用于网络访问的 LLU |
ConfigDisplayCommandLine | ConfigDisplay 的自定义命令行。 默认值:徽标 |
MODIFIEDCMDLINE | 测试可执行文件的其他命令行参数 |