DXVA High Definition Video Processing - CreateDevice
This manual test performs multiple test cases targeting IDXVAHD_CreateDevice. It uses several different IDirect3D9DeviceEx interface devices.
The permutations consist of multiple different content descriptions, including (but not limited to) different sizes of content, different frame rates, and different frame formats.
Test performs a few mode changes, but generally just shows incrementing pass or fail counts. It also displays 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 fail if back buffer format or mode is not supported during D3D device creation.
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
DXVAHD_CONTENT_DESC Tested output rates and input rate permutations additional output rates may be added depending on the output device attached.
Tested output rates | Input rates |
---|---|
120Hz |
60p 60i 30p 24p |
75Hz |
60p 60i 30p 24p |
60Hz |
60p 60i 30p 24p |
59Hz |
60p 60i 30p 24p |
50Hz |
60p 60i 30p 24p |
30Hz |
60p 60i 30p 24p |
29Hz |
60p 60i 30p 24p |
25Hz |
60p 60i 30p 24p |
Verify all permutations of output and input rates. Keep a table of capabilities exposed per rate configuration. Only execute across other test cases on rates that caused the device to expose different capabilities.
Verify correct scaling between input and output frame descriptions. Invalid frame rate rational should default to 0/1, and 0/* should result in 0 rate.
InputFrameRate with valid numerator/denominator values
InputFrameRate with invalid numerator/denominator values
Valid InputFrameRate with matching OutputFrameRate
Valid InputFrameRate with different valid OutputFrameRate
Valid InputFrameRate with different invalid OutputFrameRate
Zeroed out FrameRate values both Input and Output
Use a FrameFormat of Interlaced value, and then use progressive content
Use a FrameFormat of Progressive value, and then use interlaced content
typedef enum _DXVAHD_DEVICE_USAGE{DXVAHD_DEVICE_USAGE_PLAYBACK_NORMAL = 0,DXVAHD_DEVICE_USAGE_OPTIMAL_SPEED = 1,DXVAHD_DEVICE_USAGE_OPTIMAL_QUALITY = 2} DXVAHD_DEVICE_USAGE;DXVAHD_DEVICE_USAGE
Verify output is of higher quality frame DXVAHD_DEVICE_USAGE_OPTIMAL_QUALITY than that of the normal playback usage.
Verify optimal performance processes frames more quickly DXVAHD_DEVICE_USAGE_OPTIMAL_SPEED than that of the normal playback usage.
Top two cases should prove NORMAL playback is more typical than that of the other two instances.
Verify successful handle to SW Plugin when valid pPlugin is passed and SW VP is available.
Validate on failure that ppDevice is NULL.
Attempt to create multiple devices from separate threads, both with the D3DCREATE_MULTITHREADED D3D9Ex Device and without.
Command syntax
Command option | Description |
---|---|
DXVAHDVideoProcessing CreateDevice |
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 a hard-coded save count of invalid frames set to 100. If 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 |