次の方法で共有


Test Cases for the Imaging Codec Test (Windows Embedded CE 6.0)

1/6/2010

The following table shows the test cases for the Imaging Codec Test.

Test case Description

1100 – 1304

Image Encoder tests

These test cases cover the functionality of the installed image encoders.

1100

AddRef/Release

Tests the AddRef/Release functionality of the encoders being tested.

1101

QueryInterface

Tests the QueryInterface functionality of the encoders being tested.

1200

Init/TerminateEncoder

Tests that InitEncoder and TerminateEncoder work properly when called in the right order and out of order.

1201

GetEncodeSink

Verifies that GetEncodeSink returns a valid IImageSink reference.

1202

SetFrameDimension

Verifies that SetFrameDimension works properly.

1203

Encoder Parameters

Verifies that the GetEncoderParameterListSize, GetEncoderParameterList, and SetEncoderParameters functions work properly.

1300

BeginSink/EndSink

Verifies that BeginSink and EndSink work properly when called in the right order and out of order.

1301

SetPalette

Verifies that SetPalette works properly.

1302

PushPixelData

Verifies that PushPixelData works properly.

1303

Get/ReleasePixelDataBuffer

Verifies that the GetPixelDataBuffer and ReleasePixelDataBuffer functions work properly.

1304

Get/PushPropertyX

Verifies that the GetPropertyBuffer and PushPropertyItems functions work properly.

2100 – 2206

Image Decoder tests

These test cases cover the functionality of the installed image decoders. They rely on the ImagingDecoder.cfg configuration file to verify that the decoders present correct information about each test image.

2100

AddRef/Release

Tests the AddRef/Release functionality of the decoders being tested.

2101

QueryInterface

Tests the QueryInterface functionality of the decoders being tested.

2200

Init/TerminateDecoder

Tests that InitDecoder and TerminateDecoder work properly when called in the right order and out of order.

2201

Begin/EndDecode

Verifies that BeginDecode and EndDecode work properly when called in the right order and out of order.

2202

Frames

Verifies that the GetFrameDimensionsCount, GetFrameDimensionsList, GetFrameCount, and SelectActiveFrame functions work properly. This test case uses the TESTTAG_FRAMEDIM, TESTTAG_FRAMECOUNT, TESTTAG_FRAMEDELAY, and TESTTAG_LOOPCOUNT entries in the ImagingDepth.cfg configuration file to verify that the decoder is properly working.

2203

GetImageInfo

Verifies that GetImageInfo works properly. This test case uses the TESTTAG_SIMPLE_PARAMS entry in the ImagingDepth.cfg configuration file to verify that the ImageInfo structure returned is correct for each test image.

2204

GetThumbnail

Verifies that GetThumbnail works properly. This test case uses the TESTTAG_THUMBNAIL_PRESENT entry for each image to verify that the decoder is behaving properly.

2205

DecoderParams

Verifies that the QueryDecoderParam and SetDecoderParam functions work properly.

2206

GetProperties

Verifies that the different Property APIs work properly. Each property present in a test image can be specified in the ImagingDepth.cfg configuration file.

3100-3202

Performance tests

These test cases can be used to verify that the performance of a user codec is comparable to that of a built-in codec. The /BuiltinFirst (for decoders) and /NoUser and /NoBuiltin (for encoders) parameters are especially useful for these tests. The /CodecType parameter can also be used to cut down the run time considerably.

3100

CreateBitmapFromImage Without Caching

This test case will load an image into memory and then time decoding it numerous times from memory to memory. This tests the raw speed of the decoder being tested. This test case runs on each image specified in the ImagingDecoders.cfg configuration file.

3101

CreateBitmapFromImage Including Load Time

This test case will time loading an image into memory and decoding it numerous times. The results from this test should be compared to the results from test 3102. This test case runs on each image specified in the ImagingDecoders.cfg configuration file.

3102

CreateBitmapFromImage Directly From File

This test case will time decoding an image directly from the storage location numerous times. If the results from this test case are significantly worse than the results from test case 3101, the file access code for the decoder should be streamlined; for example, check if the decoder is reading from one location in the file numerous times.

3103

CreateBitmapFromImage Caching

This test case will time decoding an image numerous times when the IMGFLAG_CACHING flag is set with IImage::SetImageFlags. This should be significantly faster than the other results.

3104

GetThumbnail

This test case will call GetThumbnail numerous times. If the image doesn’t have an attached thumbnail, the Imaging library will create a thumbnail. The decoder should never create a thumbnail if one isn’t a part of the image being decoded.

3200

Encode Bitmap to Memory Stream

This test case will encode bitmaps of different sizes directly to memory numerous times. This tests the raw speed of the encoder. The bitmaps encoded are generated in memory by the test case before being encoded.

3201

Encode Bitmap to Memory and Save

This test case will encode bitmaps of different sizes to memory and then save the encoded image to the file system numerous times. The results from this test case should be compared to the results from test 3202.

3202

Encode Bitmap to File

This test case will encode bitmaps of different sizes directly to the file system numerous times. If the results from this test case are significantly worse than the results from test case 3201, the file access code for the encoder should be streamlined; for example, check if the encoder is writing to vastly different locations in the file each time.

See Also

Other Resources

Imaging Codec Test