• Home
Name Date Size #Lines LOC

..--

doc/07-Sep-2024-76,21475,445

MakefileD07-Sep-20242.7 KiB8644

READMED07-Sep-20245.5 KiB127111

dev_video.cD07-Sep-20242.2 KiB12294

dev_video.hD07-Sep-2024246 133

test_VIDIOC_AUDIO.cD07-Sep-202414.3 KiB527348

test_VIDIOC_AUDIO.hD07-Sep-2024553 208

test_VIDIOC_AUDOUT.cD07-Sep-202413.9 KiB511334

test_VIDIOC_AUDOUT.hD07-Sep-2024562 208

test_VIDIOC_CROP.cD07-Sep-202426.4 KiB800575

test_VIDIOC_CROP.hD07-Sep-2024501 186

test_VIDIOC_CROPCAP.cD07-Sep-20248.9 KiB288196

test_VIDIOC_CROPCAP.hD07-Sep-2024289 133

test_VIDIOC_CTRL.cD07-Sep-202425.8 KiB925675

test_VIDIOC_CTRL.hD07-Sep-2024529 209

test_VIDIOC_ENUMAUDIO.cD07-Sep-20245.1 KiB199138

test_VIDIOC_ENUMAUDIO.hD07-Sep-2024499 175

test_VIDIOC_ENUMAUDOUT.cD07-Sep-20245.6 KiB208141

test_VIDIOC_ENUMAUDOUT.hD07-Sep-2024383 155

test_VIDIOC_ENUMINPUT.cD07-Sep-20245.6 KiB211144

test_VIDIOC_ENUMINPUT.hD07-Sep-2024526 186

test_VIDIOC_ENUMOUTPUT.cD07-Sep-20245.3 KiB209150

test_VIDIOC_ENUMOUTPUT.hD07-Sep-2024383 155

test_VIDIOC_ENUMSTD.cD07-Sep-20245.6 KiB215149

test_VIDIOC_ENUMSTD.hD07-Sep-2024514 186

test_VIDIOC_ENUM_FMT.cD07-Sep-202415.1 KiB484356

test_VIDIOC_ENUM_FMT.hD07-Sep-2024591 196

test_VIDIOC_ENUM_FRAMESIZES.cD07-Sep-202419.2 KiB676539

test_VIDIOC_ENUM_FRAMESIZES.hD07-Sep-2024377 144

test_VIDIOC_EXT_CTRLS.cD07-Sep-202418.5 KiB717519

test_VIDIOC_EXT_CTRLS.hD07-Sep-2024636 2210

test_VIDIOC_FMT.cD07-Sep-202451.1 KiB1,5911,132

test_VIDIOC_FMT.hD07-Sep-2024412 185

test_VIDIOC_FREQUENCY.cD07-Sep-202421 KiB792587

test_VIDIOC_FREQUENCY.hD07-Sep-2024695 229

test_VIDIOC_G_SLICED_VBI_CAP.cD07-Sep-20244.1 KiB153111

test_VIDIOC_G_SLICED_VBI_CAP.hD07-Sep-2024313 133

test_VIDIOC_INPUT.cD07-Sep-20247 KiB303219

test_VIDIOC_INPUT.hD07-Sep-2024373 165

test_VIDIOC_JPEGCOMP.cD07-Sep-20242.8 KiB12487

test_VIDIOC_JPEGCOMP.hD07-Sep-2024252 122

test_VIDIOC_LOG_STATUS.cD07-Sep-20241.1 KiB5229

test_VIDIOC_LOG_STATUS.hD07-Sep-2024212 111

test_VIDIOC_MODULATOR.cD07-Sep-20246.6 KiB258188

test_VIDIOC_MODULATOR.hD07-Sep-2024388 155

test_VIDIOC_OUTPUT.cD07-Sep-20246.8 KiB298218

test_VIDIOC_OUTPUT.hD07-Sep-2024436 175

test_VIDIOC_PARM.cD07-Sep-20249.1 KiB329247

test_VIDIOC_PARM.hD07-Sep-2024283 133

test_VIDIOC_PRIORITY.cD07-Sep-20247.2 KiB281202

test_VIDIOC_PRIORITY.hD07-Sep-2024370 155

test_VIDIOC_QUERYBUF.cD07-Sep-202415.3 KiB507404

test_VIDIOC_QUERYBUF.hD07-Sep-2024678 2010

test_VIDIOC_QUERYCAP.cD07-Sep-20243.8 KiB14695

test_VIDIOC_QUERYCAP.hD07-Sep-2024305 132

test_VIDIOC_QUERYCTRL.cD07-Sep-202419.9 KiB713525

test_VIDIOC_QUERYCTRL.hD07-Sep-2024564 199

test_VIDIOC_QUERYMENU.cD07-Sep-20249.6 KiB401302

test_VIDIOC_QUERYMENU.hD07-Sep-2024383 155

test_VIDIOC_QUERYSTD.cD07-Sep-20242.3 KiB9660

test_VIDIOC_QUERYSTD.hD07-Sep-2024248 122

test_VIDIOC_REQBUFS.cD07-Sep-202412.9 KiB449348

test_VIDIOC_REQBUFS.hD07-Sep-2024578 218

test_VIDIOC_STD.cD07-Sep-202414.5 KiB532401

test_VIDIOC_STD.hD07-Sep-2024451 176

test_VIDIOC_TUNER.cD07-Sep-202415.1 KiB568427

test_VIDIOC_TUNER.hD07-Sep-2024478 198

test_invalid_ioctl.cD07-Sep-20241.2 KiB6440

test_invalid_ioctl.hD07-Sep-2024310 154

v4l2_foreach.cD07-Sep-20242.3 KiB9064

v4l2_foreach.hD07-Sep-2024356 153

v4l2_show.cD07-Sep-20243.7 KiB166139

v4l2_show.hD07-Sep-2024535 185

v4l2_test.cD07-Sep-202418.9 KiB488354

v4l2_test.hD07-Sep-2024460 228

v4l2_validator.cD07-Sep-20242 KiB11085

v4l2_validator.hD07-Sep-2024454 175

video_limits.hD07-Sep-2024631 2911

README

1
2           v4l-test: Test environment for Video For Linux Two API
3
4Release History
5---------------
623 Jul 2009  0.17 Test cases added for VIDIOC_ENUM_FRAMESIZES and
7                  VIDIOC_G_JPEGCOMP. New V4L2_PIX_FMT_* formats also
8                  used in test cases.
9 6 Jul 2009  0.16 Iterate through all available inputs in VIDIOC_G_STD and
10                  VIDIOC_S_STD test cases
1125 May 2009  0.15 Test cases added for VIDIOC_G_EXT_CTRLS, VIDIOC_S_EXT_CTRLS
12                  and VIDIOC_TRY_EXT_CTRLS
13 7 May 2009  0.14 Test cases added for VIDIOC_QUERYBUF;
14                  Debug functions separated
1529 Apr 2009  0.13 Added string content validation;
16                  Test cases added for VIDIOC_REQBUFS
1719 Apr 2009  0.12 Test cases added for VIDIOC_S_FMT;
18                  NULL parameter test suite split to read only, write only
19                  and write/read ioctl suite;
20                  More verbose debug output in VIDIOC_S_FREQUENCY and in some
21                  other test cases;
22                  More strict check added for strings in different test cases
23 9 Apr 2009  0.11 Test cases added for VIDIOC_G_OUTPUT, VIDIOC_S_OUTPUT,
24                  VIDIOC_G_FMT, VIDIOC_G_SLICED_VBI_CAP, VIDIOC_QUERYMENU;
25                  Cleaned up ret and errno variable names;
26                  Separated the NULL parameter test cases to a spearated testsuite
27                  and reworked most of the NULL parameter test cases;
28                  Added camera enabling through /sys/devices/platform/eeepc/camera;
29                  Added results page to documentation;
30                  Follow kernel API changes in video_dummy.ko
3118 Mar 2009  0.10 Test cases added for VIDIOC_G_PARM;
32                  Duplicated test for V4L2_BUF_TYPE_VIDEO_CAPTURE removed in
33                  VIDIOC_ENUM_FMT test
3414 Mar 2009  0.9  Test cases added for VIDIOC_S_CROP;
35                  Test steps added for VIDIOC_S_CTRL
3622 Feb 2009  0.8  Test cases added for VIDIOC_G_CROP, VIDIOC_G_CTRL and VIDIOC_S_CTRL
37 9 Feb 2009  0.7  Test cases added for VIDIOC_G_AUDIO, VIDIOC_G_AUDOUT,
38                  VIDIOC_S_AUDIO and VIDIOC_G_CROP;
39                  Added video_dummy kernel driver to verify the test
40                  environment;
41                  Some cleanup
42 4 Feb 2009  0.6  Test cases added for VIDIOC_G_AUDIO, VIDIOC_G_AUDOUT,
43                  VIDIOC_G_MODULATOR, VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY
44                  and VIDIOC_S_FREQUENCY
4531 Jan 2009  0.5  Test cases added for VIDIOC_QUERYSTD, VIDIOC_G_FREQUENCY
46                  and VIDIOC_G_TUNER
4724 Jan 2009  0.4  Test cases for MAX_EM28XX_INPUT, MAX_EM28XX_TVNORMS removed;
48                  some typos fixed
49 4 Jan 2008  0.3  Test cases for VIDIOC_ENUMOUTPUT, VIDIOC_ENUMAUDOUT,
50                  VIDIOC_QUERYCTRL added;
51                  New test cases for VIDIOC_ENUMAUDIO, VIDIOC_ENUM_FMT,
52                  VIDIOC_ENUM_STD
5322 Dec 2008  0.2  Test cases with NULL parameter added;
54                  Test cases for VIDIOC_CROPCAP added
5518 Dec 2008  0.1  First release
56
57Written by M�rton N�meth <nm127@freemail.hu>
58Released under GPL
59
60What is this?
61-------------
62v4l-test is a test environment for V4L2 drivers. The V4L2 drivers
63are running under Linux in kernel space. This test environment is running
64in userspace and tries what normal video application would do. It also
65tries some things which are supposed to test the error handling mechanisms
66of a V4L2 driver. These are the "invalid test cases".
67
68The V4L2 API only covers webcams and analog tuner cards, the digital broadcast
69is out of the scope of V4L2 API so it is also out of the scope of this test
70environment. See Linux DVB API at http://linuxtv.org/docs/dvbapi/dvbapi.html
71for digital broadcast and Chapter 6.3 "Relation of V4L2 to other Linux multimedia APIs"
72in V4L2 specification.
73
74How to build?
75-------------
76To build the test environment you will need a C compiler, "make" and the
77CUnit development files installed. Just type "make" and the test environment
78is ready.
79
80How to run?
81-----------
82You need to have a video device (i.e. webcam, tuner card, etc.) connected
83to your system and available under /dev/video0. If you don't have any
84hardware device available, you can still test the "Virtual Video Driver".
85To compile this you need to compile your kernel with CONFIG_VIDEO_VIVI=m
86under:
87
88  -> Device Drivers
89    -> Multimedia devices
90      -> Video For Linux
91        -> Video capture adapters
92         -> Virtual Video Driver
93
94At this point you can execute v4l-test.
95
96Video for Linux Two Specification
97---------------------------------
98The V4L2 API specification can be found at http://v4l2spec.bytesex.org/spec/ .
99Revision 0.42 of V4L2 is the base for this test environment.
100
101Code Coverage
102-------------
103The code coverage shows which lines of the code were executed and how many
104times. The measurement results gives you a feedback about the quality of
105the test cases.
106You can measure the code coverage of a kernel module with the gocv and lcov
107softwares. See http://ltp.sourceforge.net/coverage/gcov.php and
108http://ltp.sourceforge.net/coverage/lcov.php for details.
109
110Current status
111--------------
112Currently all test are running and evaluated automatically. This might
113change in future if we want to test for example plugging and unplugging
114a USB video device or ask the user if a received picture make sense or not.
115
116See doc/index.html about how much of the specification is covered by the
117different test cases.
118
119See also
120--------
121See also doc/index.html for further references and recommended readings.
122
123Feedbacks
124---------
125Any feedbacks, comments, ideas, etc. are welcome at the author's
126email address: M�rton N�meth <nm127@freemail.hu>.
127