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
Associated requirements |
Device.Graphics.WDDM11.Render.DXVAHD.DXVAHD |
Platforms |
Windows 7 (x64) Windows 7 (x86) Windows RT (ARM-based) Windows 8 (x64) Windows 8 (x86) Windows Server 2012 (x64) Windows Server 2008 R2 (x64) Windows RT 8.1 Windows 8.1 x64 Windows 8.1 x86 Windows Server 2012 R2 |
Expected run time |
~2 minutes |
Categories |
Certification Functional |
Type |
Manual |
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 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\ |