Test 1
- Initialize & Terminate
- vaGetDisplay, vaInitialize, vaTerminate

Test 2
- Query profiles
- vaQueryConfigProfiles, vaMaxNumProfiles

Test 3
- Query Entrypoints for all profiles
- vaQueryConfigEntryPoints, vaMaxNumEntryPoints

Test 4
- Get Config attributes for all profiles / entrypoints
- vaGetConfigAttributes

Test 5
- Create & destroy config for each profile / entrypoint
- vaCreateConfig, vaDestroyConfig

Test 6
- Get config attributes of various possible configs
- vaQueryConfigAttributes, vaMaxNumConfigAttributes
- Check if results for vaGetConfigAttributes match with vaQueryConfigAttributes for
a given profile / entrypoint

Test 7
- Create and destroy surfaces
- vaCreateSurfaces, vaDestroySurface
- Create surfaces of 352 x 288 pixels
- Create 1, 4 and 16 surfaces, destroy 4, create 6 surfaces, destroy 16, 1
and 6 surfaces.

Test 8
- Create and destroy surfaces of different sizes
- Create surfaces of 10 x 10 pixels, 128 x 128 pixels, 176 x 144 pixels, 144 x 176
pixels, 352 x 288 pixels, 399 x 299 pixels, 640 x 480 pixels, 1280 x 720
pixels

Test 9
- Create and destroy a context for each profile / entrypoint
- Pass 4 surfaces of 352 x 288 pixels
- vaCreateContext, vaDestroyContext
- See also Test 5

Test 10
- Create and destroy buffers
- vaCreateBuffer, vaDestroyBuffer
- For each different buffertype, create a buffer, then destroy them one by
one.

Test 11
- Map & unmap buffers
- vaBufferData, vaMapBuffer, vaUnmapBuffer
- For each different buffertype, copy data to the buffer with vaBufferData.
Then map the buffer and verify the contents of the buffer.

Test 12
- Render single MPEG2 I-frame
- vaBeginPicture, vaRenderPicture (num_buffers == 1), vaEndPicture

Test 13
- Render single MPEG2 I-frame, multiple buffer submission
- vaRenderPicture (num_buffers > 1)

Test 14
- Render single MPEG2 I-frame, split buffers
- Slice split over 2 buffers

Test 15
- Render single MPEG2 I-frame, split buffers
- Slice split over 3 buffers

Test 16
- Sync Surface
- Render single MPEG2 I-frame, then check vaQuerySurfaceStatus, vaSyncSurface and vaQuerySurfaceStatus

Test 17
- Query image formats
- vaMaxNumImageFormats, vaQueryImageFormats

Test 18
- Create and destroy vaImage
- vaCreateImage, vaDestroyImage

Test 19
- Get image data
- Render single MPEG2 I-frame, copy surface data to image, check resulting
image
- vaGetImage

Test 20
- Put image data
- Render single MPEG2 I-frame, copy half of a VAImage to surface, copy
surface back to VAImage, check resulting image
- vaPutImage

Test 21
- Query subpicture formats
- vaMaxNumSubpictureFormats, vaQuerySubpictureFromats

Test 22
- Create and destory subpictures
- vaCreateSubpicture, vaDestroySubpicture