RemoteFX Hardware Encoder - (Stress Test, Multiple Encoding Test, Scenario Test, Interoperability Test, Color Test, Hardware Detection Test, Encoding Test)

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

Type: Automated test

Overview

The new category for Codec Offload Hardware defines a set of requirements and tests for a new category of devices that allow the encoding of screen data for RemoteFX virtual machines (VMs) to be offloaded from the CPU/GPU to dedicated hardware. This enables higher levels of scalability on a RemoteFX server. These tests ensure fidelity and compatibility.

Details

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

Encoding Test

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

This test verifies core functionality of the RemoteFX codec library interaction with RemoteFX-enabled encoder hardware. These tests are designed to ensure that all supported resolutions can be handled by the device under test, and that the quality of compression is within the functional requirements needed for Remote Desktop Virtualization. All combinations of the following test parameters must be executed against each of the tile usage scenarios:

Test Parameters

Codec Library Flags: ENC_TYPE_CPU_HW, ENC_TYPE_DX10_HW

User Scenarios: Desktop, Internet Explorer – MSN, Internet Explorer – MLB, Excel, Word, PowerPoint, Visual Studio, Virtual Earth, Movie, Combination

Resolutions: 640x480, 800x600, 1024x768, 1152x864, 1280x800, 1280x1024, 1400x1050, 1600x1050, 1600x1200, 1920x1200, 2560x1600, 4096x2048

Quality: ENC_QUALITY_HI, ENC_QUALITY_MED_HI, ENC_QUALITY_MED_LO

Scenario (Tiles Changing (1280x1024 Example))

Full Screen: 80

Single Tile: 1

Random Tiles: 20

Random Rectangles (Non-aligned): ~20

Contiguous: ~20

Run time: 48 hours

Log file: RemoteFX_Qualify_Encoder_Codec_Encoding.wtl

Stress Test

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

This test verifies that the Calista-enabled encoder hardware under stress scenarios designed to ensure the hardware can handle abnormal usages.

Test Encoder Type

12 Hour Stress Test ENC_TYPE_CPU_HW

Run time: 12 hours

Log file: RemoteFX_Qualify_Encoder_Codec_Stress.wtl

Multiple Encoding Test

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

This test verifies the functionality of the Calista-enabled encoder hardware when used in parallel. Each instance is selected from the possible combinations in the Encoder Functionality test category.

Test Encoder Type

32 Tests from Encoder Static Images In Parallel, ENC_TYPE_CPU_HW

32 Tests from Encoder Static Images In Parallel, ENC_TYPE_DX10_HW

Run time: 1 hour

Log file: RemoteFX_Qualify_Encoder_Codec_Encoding_Multiple.wtl

Scenario Test

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

This test verifies the Calista-enabled encoder hardware under end-to-end data scenarios that is seen in Remote Desktop Virtualization deployments. The tests are designed to verify the quality throughout the entire playback of the scenarios.

Scenario Encoder Type

Windows Interaction ENC_TYPE_CPU_HW

PowerPoint ENC_TYPE_CPU_HW

Windows Interaction ENC_TYPE_DX10_HW

PowerPoint ENC_TYPE_ DX10_HW

Run time: 1 hour

Log file: RemoteFX_Qualify_Encoder_Codec_Scenario.wtl

Interoperability Test

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

This test verifies the interoperability between RemoteFX-enabled encoder hardware and the different software decoder implementations. The following uses a subset of the tests from the Encoder Functionality test category:

Test Parameters

User Scenarios: Desktop, Internet Explorer – MSN

Tile Change Scenarios: Full Screen, Single Tile, Random Tiles, Random Rectangles, Contiguous

Encoder Type Decoder Type

ENC_TYPE_DX10_HW DEC_TYPE_DX9

ENC_TYPE_DX10_HW DEC_TYPE_CPU

ENC_TYPE_CPU_HW DEC_TYPE_DX9

ENC_TYPE_CPU_HW DEC_TYPE_CPU

Run time: 1 hour

Log file: RemoteFX_Qualify_Encoder_Codec_Interoperability.wtl

Color Test

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

This test verifies that the color conversion algorithms implemented in the hardware meet the specifications and requirements of Remote Desktop Virtualization usage of the RemoteFX-enabled encoder hardware.

Test Encoder Type

Codec Color Verification ENC_TYPE_CPU_HW

Run time: 1 minute

Log file: RemoteFX_Qualify_Encoder_Codec_Color.wtl

Hardware Detection Test

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

These tests verify the hardware’s compatibility with the Remote Desktop Virtualization software stack.

Test Encoder Type

API Codec Capabilities Hardware Detection ENC_TYPE_DX10_HW

API Codec Capabilities Hardware Detection ENC_TYPE_CPU_HW

Run time: 5 minutes

Log file: RemoteFX_Qualify_Encoder_Codec_Hardware_Detection.wtl

General

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

System restart required: Yes (Driver Verifier enable/disable)

Test category: Codec Offload Hardware\RemoteFX\Encoder

Supported operating systems for logo or signature testing: Windows Server 2008 R2

Program: Codec Offload Hardware\RemoteFX\Encoder

Requirements

Software Requirements

The test tool requires the following software:

  • Supported operating system (see list above).
  • Software components included with the device that is being tested.

Hardware Requirements

The test tool requires the following hardware:

  • Device to be tested
  • Graphics processing unit (GPU) that can handle DirectX 9 and DirectX 10
  • Computer that meets the minimum software requirements
  • Windows keyboard
  • Two-button pointing device
  • Color display monitor capable of at least 1024 by 768 resolution, 32-bits per pixel, 60 Hz
  • Hard disk drive with a minimum of 20 GB available on partition C:

Processor

  • x64

Running the Test

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

Each validation category test launches an instance of the CodecTest executable, which encodes test data by calling the Hardware Encoder Driver. This compressed data is then decoded using Software Decoder implementation, and then verified using PSNR. After completing each validation category test, the test produces a log file. This log file is the same content displayed in the console. It can be used to review the results of the validation category and shows PASS/FAIL and SKIPPED results.

Command Syntax

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

Usage: CodecTest.exe [[option, ...] [test case],..]

Options:

Encoder Settings:

/encoderType <ENC_TYPE_[DX10|DX10_HW|CPU|CPU_HW]> = Specifies which encoder type is used

/encoderUsage <ENC_USAGE_[SYSMEM|VIDMEM]> = Specifies which encoder usage is used

/encoderQuality <ENC_QUALITY_[HI|LO|MED_HI|MED_LO]> = Specifies the encoding quality

Decoder Settings:

/decoderType <DEC_TYPE_[DX9|CPU|HW]> = Specifies which decoder type is used

/decoderUsage <DEC_USAGE_[SYSMEM|VIDMEM]> = Specifies which decoder decode usage is used

Other Settings:

/hwMode = Set encoder/decoder to use hardware wireformat

/screenWidth <width> = Encode/decode images width

/screenHeight <height> = Encode/decode images height

Qualify Tests:

/qualify = Runs all qualification tests required for hardware validation

Encoder Tests:

Qualify_Encoder_Encoding

Qualify_Encoder_Encoding_Multiple

Qualify_Encoder_Hardware_Detection

Qualify_Encoder_Interoperability

Qualify_Encoder_Scenario

Qualify_Encoder_Stress

Qualify_Encoder_Codec_Color

To run the Hardware Encoder Qualification test:

CodecTest.exe /qualify /whql true /logFilename RemoteFX_Qualify_Encoder_[TestToRun] Qualify_Encoder_[TestToRun]

Where [TestToRun] = Stress | Encoding_Multiple | Scenario | Interoperability | Color | Hardware_Detection | Encoding

Code Tour

Note This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

The files in the test package are listed in the table below. CodecTest.exe is the main test executable and contains the test logic. It calls into CommonLib.dll, CommonNativeLib.dll, DecoderWrapper.dll, and EncoderWrapper.dll for various functionality. D3ddx10_42.dll is required for the DirectX functionality used in the tests. Images.zip contains all the reference images against which the images encoded using the target device are compared. Unzip.vbs is used to unzip the reference images from Images.zip.

File Manifest

File Location

CodecTest.exe

[WTT\TestBinRoot]\NTTEST\TERMSRVTEST\Termsrv\Calista\Codec\External\bin

CommonLib.dll

[WTT\TestBinRoot]\NTTEST\TERMSRVTEST\Termsrv\Calista\Codec\External\bin

CommonNativeLib.dll

[WTT\TestBinRoot]\NTTEST\TERMSRVTEST\Termsrv\Calista\Codec\External\bin

DecoderWrapper.dll

[WTT\TestBinRoot]\NTTEST\TERMSRVTEST\Termsrv\Calista\Codec\External\bin

EncoderWrapper.dll

[WTT\TestBinRoot]\NTTEST\TERMSRVTEST\Termsrv\Calista\Codec\External\bin

d3dx10_42.dll

[WTT\OsBinRoot]\d3dsdk\bin

Images.zip

[WTT\TestBinRoot]\nttest\termsrvtest\termsrv\Calista\Codec\External\images

Unzip.vbs

[WTT\TestBinRoot]\NTTEST\TERMSRVTEST\Termsrv\Calista\Codec\Tools

Build date: 9/14/2012