Share via


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

See the device hardware requirements.

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\

 

 

 

Send comments about this topic to Microsoft