DXVA High Definition Video Processing - CreateVideoProcessor
This manual test runs test cases across the following: IDXVAHD_Device::GetVideoProcessorCaps, IDXVAHD_Device::GetVideoProcessorCustomRates, IDXVAHD_Device::GetVideoProcessorFilterRange, IDXVAHD_Device::CreateVideoProcessor.
This test will, for the most part, show a ticker-like window incrementing pass fail counts and showing which test case variables are being iterated upon. The test might return SKIP if the driver does not expose D3DCAPS3_DXVAHD. In some cases, it might skip if another device is not available to query other VP GUIDs from.
For both valid and invalid calls to the API entry points, verify that the proper return values match up to those exposed by the capabilities. Also confirm the ability to create a video processor successfully. If the VP GUID is invalid, the test should return a FAIL.
Test details
Specifications |
|
Platforms |
|
Supported Releases |
|
Expected run time (in minutes) | 2 |
Category | Compatibility |
Timeout (in minutes) | 120 |
Requires reboot | false |
Requires special configuration | false |
Type | automatic |
Additional documentation
Tests in this feature area might have additional documentation, including prerequisites, setup, and troubleshooting information, that can be found in the following topic(s):
Running the test
Before you run the test, complete the test setup as described in the test requirements: Graphic Adapter or Chipset Testing Prerequisites.
In addition, this test requires the following software:
A display driver that supports D3D9Caps.Caps3 D3DCAPS3_DXVAHD. Specifically:
D3D9 support exposing D3DCAPS3_DXVAHD.
Required output formats: D3DFMT_X8R8G8B8, D3DFMT_A8R8G8B8.
Required input formats: D3DFMT_X8R8G8B8, D3DFMT_A8R8G8B8, D3DFMT_YUY2, D3DFMT_AYUV and any decode render targets supported.
dxvahdsw.dll.
Troubleshooting
For generic troubleshooting of HLK test failures, see Troubleshooting Windows HLK Test Failures.
For troubleshooting information, see Troubleshooting Device.Graphics Testing.
More information
This test verifies the following requirements:
IDXVAHD_Device::GetVideoProcessorCaps
Use a valid number of video processors from DXVAHD_VPDEVCAPS.VideoProcessorCount.
Use both a number less than the video processors count and a number greater than video processors Count verify result is E_INVALIDARG.
Validate pCaps is empty on failure.
Verify VPGUID for given device works successfully with GetVideoProcessorCustomRates.
Verify CustomRateCount corresponds and works properly with GetVideoProcessorCustomRates.
Verify that PastFrames and FutureFrames (Counts) work accordingly with DXVAHD_STREAM_DATA expected counts.
IDXVAHD_Device::GetVideoProcessorCustomRates
With the valid video processor GUID for this device, then a valid GUID from another DXVAHD Device if another device can be found with a different GUID.
With an invalid zeroed out GUID.
Verify pRates is successfully filled when valid pVPGUID and Count are used.
Use both a number less than the DXVAHD_VPCAPS.CustomRateCount and a number greater than DXVAHD_VPCAPS.CustomRateCount. Both should result in E_INVALIDARG.
Validate pRates is empty on failure.
IDXVAHD_Device::GetVideoProcessorFilterRange
Iterate over all filters, validating for any failures that pRange is NULL.
Out of range filter value and validate E_INVALIDARG.
Verify Empty pRange on failure.
Verify maximum value is greater than minimum.
Verify the default value is within minimum and maximum values.
IDXVAHD_Device::CreateVideoProcessor
With the valid video processor GUID for this device, then a valid GUID from another DXVAHD Device if another device can be found with a different GUID.
With an invalid zeroed out GUID.
Verify ppVideoProcessor is NULL upon any failures.
Command syntax
Command option | Description |
---|---|
DXVAHDVideoProcessing CreateVideoProcessor |
Without any options, the test enumerates all but some extreme invalid argument test cases. |
TestPriority:[0, 1, 2] |
By default, tests at a priority 1 level; however, priority 2 will test every permutation, including extreme invalid arg test cases. 0 is for BVT level. |
SoftwareOnly |
Tests only the software implementation of the video processor. This was mainly used for initial testing before drivers supported the test cases. |
SaveAllFrames |
The test has hard coded save count of invalid frames set to 100. I you want all of them saved, then use this flag. Good for high frame count test case failures. |
LogLevel:[0, 1, 2] |
The test has the ability to be very verbose in its logging methods. By default level 0 is set, however; level one will gather increased logging info per test cases, including many stream states/blt states set. Level 2 will gather all adjusted stream states and blt states, as well as any configuration information. |
File list
File | Location |
---|---|
DXVAHDVideoProcessing.exe |
[testbinroot]\nttest\windowstest\graphics\d3d\func\ |
Dxvahdsw.dll |
[osbinroot]\nttest\windowstest\graphics\dxva\ |
Parameters
Parameter name | Parameter description |
---|---|
LLU_NetAccessOnly | LLU for net access |
ConfigDisplayCommandLine | Custom Command Line for ConfigDisplay. Default: logo |
MODIFIEDCMDLINE | Additional command line arguments for test executable |