127 lines
5.5 KiB
Plaintext
127 lines
5.5 KiB
Plaintext
|
|
|
|||
|
|
v4l-test: Test environment for Video For Linux Two API
|
|||
|
|
|
|||
|
|
Release History
|
|||
|
|
---------------
|
|||
|
|
23 Jul 2009 0.17 Test cases added for VIDIOC_ENUM_FRAMESIZES and
|
|||
|
|
VIDIOC_G_JPEGCOMP. New V4L2_PIX_FMT_* formats also
|
|||
|
|
used in test cases.
|
|||
|
|
6 Jul 2009 0.16 Iterate through all available inputs in VIDIOC_G_STD and
|
|||
|
|
VIDIOC_S_STD test cases
|
|||
|
|
25 May 2009 0.15 Test cases added for VIDIOC_G_EXT_CTRLS, VIDIOC_S_EXT_CTRLS
|
|||
|
|
and VIDIOC_TRY_EXT_CTRLS
|
|||
|
|
7 May 2009 0.14 Test cases added for VIDIOC_QUERYBUF;
|
|||
|
|
Debug functions separated
|
|||
|
|
29 Apr 2009 0.13 Added string content validation;
|
|||
|
|
Test cases added for VIDIOC_REQBUFS
|
|||
|
|
19 Apr 2009 0.12 Test cases added for VIDIOC_S_FMT;
|
|||
|
|
NULL parameter test suite split to read only, write only
|
|||
|
|
and write/read ioctl suite;
|
|||
|
|
More verbose debug output in VIDIOC_S_FREQUENCY and in some
|
|||
|
|
other test cases;
|
|||
|
|
More strict check added for strings in different test cases
|
|||
|
|
9 Apr 2009 0.11 Test cases added for VIDIOC_G_OUTPUT, VIDIOC_S_OUTPUT,
|
|||
|
|
VIDIOC_G_FMT, VIDIOC_G_SLICED_VBI_CAP, VIDIOC_QUERYMENU;
|
|||
|
|
Cleaned up ret and errno variable names;
|
|||
|
|
Separated the NULL parameter test cases to a spearated testsuite
|
|||
|
|
and reworked most of the NULL parameter test cases;
|
|||
|
|
Added camera enabling through /sys/devices/platform/eeepc/camera;
|
|||
|
|
Added results page to documentation;
|
|||
|
|
Follow kernel API changes in video_dummy.ko
|
|||
|
|
18 Mar 2009 0.10 Test cases added for VIDIOC_G_PARM;
|
|||
|
|
Duplicated test for V4L2_BUF_TYPE_VIDEO_CAPTURE removed in
|
|||
|
|
VIDIOC_ENUM_FMT test
|
|||
|
|
14 Mar 2009 0.9 Test cases added for VIDIOC_S_CROP;
|
|||
|
|
Test steps added for VIDIOC_S_CTRL
|
|||
|
|
22 Feb 2009 0.8 Test cases added for VIDIOC_G_CROP, VIDIOC_G_CTRL and VIDIOC_S_CTRL
|
|||
|
|
9 Feb 2009 0.7 Test cases added for VIDIOC_G_AUDIO, VIDIOC_G_AUDOUT,
|
|||
|
|
VIDIOC_S_AUDIO and VIDIOC_G_CROP;
|
|||
|
|
Added video_dummy kernel driver to verify the test
|
|||
|
|
environment;
|
|||
|
|
Some cleanup
|
|||
|
|
4 Feb 2009 0.6 Test cases added for VIDIOC_G_AUDIO, VIDIOC_G_AUDOUT,
|
|||
|
|
VIDIOC_G_MODULATOR, VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY
|
|||
|
|
and VIDIOC_S_FREQUENCY
|
|||
|
|
31 Jan 2009 0.5 Test cases added for VIDIOC_QUERYSTD, VIDIOC_G_FREQUENCY
|
|||
|
|
and VIDIOC_G_TUNER
|
|||
|
|
24 Jan 2009 0.4 Test cases for MAX_EM28XX_INPUT, MAX_EM28XX_TVNORMS removed;
|
|||
|
|
some typos fixed
|
|||
|
|
4 Jan 2008 0.3 Test cases for VIDIOC_ENUMOUTPUT, VIDIOC_ENUMAUDOUT,
|
|||
|
|
VIDIOC_QUERYCTRL added;
|
|||
|
|
New test cases for VIDIOC_ENUMAUDIO, VIDIOC_ENUM_FMT,
|
|||
|
|
VIDIOC_ENUM_STD
|
|||
|
|
22 Dec 2008 0.2 Test cases with NULL parameter added;
|
|||
|
|
Test cases for VIDIOC_CROPCAP added
|
|||
|
|
18 Dec 2008 0.1 First release
|
|||
|
|
|
|||
|
|
Written by M<>rton N<>meth <nm127@freemail.hu>
|
|||
|
|
Released under GPL
|
|||
|
|
|
|||
|
|
What is this?
|
|||
|
|
-------------
|
|||
|
|
v4l-test is a test environment for V4L2 drivers. The V4L2 drivers
|
|||
|
|
are running under Linux in kernel space. This test environment is running
|
|||
|
|
in userspace and tries what normal video application would do. It also
|
|||
|
|
tries some things which are supposed to test the error handling mechanisms
|
|||
|
|
of a V4L2 driver. These are the "invalid test cases".
|
|||
|
|
|
|||
|
|
The V4L2 API only covers webcams and analog tuner cards, the digital broadcast
|
|||
|
|
is out of the scope of V4L2 API so it is also out of the scope of this test
|
|||
|
|
environment. See Linux DVB API at http://linuxtv.org/docs/dvbapi/dvbapi.html
|
|||
|
|
for digital broadcast and Chapter 6.3 "Relation of V4L2 to other Linux multimedia APIs"
|
|||
|
|
in V4L2 specification.
|
|||
|
|
|
|||
|
|
How to build?
|
|||
|
|
-------------
|
|||
|
|
To build the test environment you will need a C compiler, "make" and the
|
|||
|
|
CUnit development files installed. Just type "make" and the test environment
|
|||
|
|
is ready.
|
|||
|
|
|
|||
|
|
How to run?
|
|||
|
|
-----------
|
|||
|
|
You need to have a video device (i.e. webcam, tuner card, etc.) connected
|
|||
|
|
to your system and available under /dev/video0. If you don't have any
|
|||
|
|
hardware device available, you can still test the "Virtual Video Driver".
|
|||
|
|
To compile this you need to compile your kernel with CONFIG_VIDEO_VIVI=m
|
|||
|
|
under:
|
|||
|
|
|
|||
|
|
-> Device Drivers
|
|||
|
|
-> Multimedia devices
|
|||
|
|
-> Video For Linux
|
|||
|
|
-> Video capture adapters
|
|||
|
|
-> Virtual Video Driver
|
|||
|
|
|
|||
|
|
At this point you can execute v4l-test.
|
|||
|
|
|
|||
|
|
Video for Linux Two Specification
|
|||
|
|
---------------------------------
|
|||
|
|
The V4L2 API specification can be found at http://v4l2spec.bytesex.org/spec/ .
|
|||
|
|
Revision 0.42 of V4L2 is the base for this test environment.
|
|||
|
|
|
|||
|
|
Code Coverage
|
|||
|
|
-------------
|
|||
|
|
The code coverage shows which lines of the code were executed and how many
|
|||
|
|
times. The measurement results gives you a feedback about the quality of
|
|||
|
|
the test cases.
|
|||
|
|
You can measure the code coverage of a kernel module with the gocv and lcov
|
|||
|
|
softwares. See http://ltp.sourceforge.net/coverage/gcov.php and
|
|||
|
|
http://ltp.sourceforge.net/coverage/lcov.php for details.
|
|||
|
|
|
|||
|
|
Current status
|
|||
|
|
--------------
|
|||
|
|
Currently all test are running and evaluated automatically. This might
|
|||
|
|
change in future if we want to test for example plugging and unplugging
|
|||
|
|
a USB video device or ask the user if a received picture make sense or not.
|
|||
|
|
|
|||
|
|
See doc/index.html about how much of the specification is covered by the
|
|||
|
|
different test cases.
|
|||
|
|
|
|||
|
|
See also
|
|||
|
|
--------
|
|||
|
|
See also doc/index.html for further references and recommended readings.
|
|||
|
|
|
|||
|
|
Feedbacks
|
|||
|
|
---------
|
|||
|
|
Any feedbacks, comments, ideas, etc. are welcome at the author's
|
|||
|
|
email address: M<>rton N<>meth <nm127@freemail.hu>.
|