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. |