Meego Wiki
Views

Quality/TestSuite/Video Playback Driver Test Specification

From MeeGo wiki
< Quality | TestSuite
Revision as of 12:23, 29 September 2010 by Mattisalmi (Talk | contribs)
Jump to: navigation, search

Contents

Introduction

The X Window System (commonly X or X11) is a computer software system and network protocol that provides a graphical user interface (GUI). Base X Window System is extended by X Extension libraries (mainly from freedesktop.org and XFree86 projects).

The blts-xvideo test driver includes functional and performance tests specifically for XVideo extension.

Test Coverage

The test driver currently covers X11 XVideo extension:

  • XVideo - Presence check: Simple XVideo extension presence check
  • XVideo - Enumerate adapters: List all information from all XVideo adapters
  • XVideo - XvPutImage benchmark: Tests XvPutImage performance and functionality. Uses various resolutions, pixel formats and port attributes depending on configuration file.
  • XVideo - XvShmPutImage benchmark: Tests XvShmPutImage performance and functionality. Uses various resolutions, pixel formats and port attributes depending on configuration file.
  • XVideo - PutImage with QueryBestSize: Functional test for QueryBestImage. Queries best size with different input and output resolutions and tries to display images with the returned size.
  • XVideo - Notify events: Functional test for XvPortNotify/XvVideoNotify. Requests events and tries to trigger events from a different process

Software Coverage

Current coverage for tests:

Hardware Coverage

Mainly display devices (and GPU).

Running the tests

Executing tests

Run as root:
$ blts_xvideo_test -C /usr/lib/tests/blts-xvideo-tests/blts-xvideo-n900.cnf
The test results are printed to terminal and also to /var/log/tests/blts_xvideo.txt.

Test case arguments

Arguments:

Switch Function
-l Used log file, Used log file, default blts_xvideo_core.txt
-e Execute single or multiple selected tests, for example -e 1,4,5.
-en Execute test by name, for example -en "My test X"
-s Show list of all tests
-C Use parameter configuration file
-? Help message
-nc Do not output log to terminal

Test cases

Test case execution notices:

Case name Notice
XVideo - Presence check
XVideo - Enumerate adapters
XVideo - XvPutImage benchmark
XVideo - XvShmPutImage benchmark
XVideo - PutImage with QueryBestSize
XVideo - Notify events

Configuration file

Configuration file contains used parameters for benchmarks:

######################
# General parameters #
######################

# defines generated video material resolution
[parameter]
   name input_resolution
   const "800x600" "1600x1200"
[end_parameter]

# if output resolution is 0x0, resolution will be root window's size
[parameter]
   name output_resolution
   const "0x0" "1600x1200"
[end_parameter]

# duration of tests
[parameter]
   name duration
   const 5
[end_parameter]

# used X screen(s)
[parameter]
   name screen
   const 0
[end_parameter]

# used XVideo adaptor(s)
[parameter]
   name adaptor
   const 0
[end_parameter]

# Possible choices for test images:
# random: three frames of random pixels
# vh_lines: two frames, horizontal and vertical lines
# checkerboard: two frames, b/w checkerboard
# moving_arrow: white arrow moving from left to right and pointing up
# fps_check: two frames, blocks change between black and white
# colorgradient: red, green and blue gradients
# graygradient: full screen grayscale, from black (left) to right
# colorgradient_scroll: red, green and blue gradients, moves from left to right
# graygradient_scroll: full screen grayscale, moves from left to right
[parameter]
   name test_images
   const "colorgradient_scroll"
[end_parameter]

# used pixel formats (fourcc)
[parameter]
   name format
   const "YUY2" "YV12" "I420" "UYVY"
[end_parameter]

# used port attributes for XVideo adaptor
[parameter]
   name port_attributes
   const "XV_VSYNC 0 XV_BRIGHTNESS 0 XV_CONTRAST 0"
[end_parameter]

# These are for QueryBestSize and Notify events -tests

[parameter]
   name fute_format
   const "YUY2"
[end_parameter]

[parameter]
   name fute_port_attributes
   const "XV_VSYNC 0"
[end_parameter]

Module Design and Architecture

The test module can be compiled to both a self-sufficient command line program and a Min test framework module. Debian packaging is provided.

Architecture diagram

References

X11 X11 home page
freedesktop.org freedesktop.org home page
XFree86 XFree86 home page

Change History

Version Date Handled By Status Comments
0.1 22-sep-2010 Iekku Huttunen Draft Page created
Personal tools