-d, --device<dev>
Use device <dev> as the video device. If <dev> is a number, then /dev/video<dev> is used.
Otherwise if -z was specified earlier, then <dev> is the entity name or interface ID (if prefixed
with 0x) as found in the topology of the media device with the bus info string as specified by the
-z option.
-V, --vbi-device<dev>
Use device <dev> as the vbi device. If <dev> is a number, then /dev/vbi<dev> is used. Otherwise
if -z was specified earlier, then <dev> is the entity name or interface ID (if prefixed with 0x)
as found in the topology of the media device with the bus info string as specified by the -z
option.
-r, --radio-device<dev>
Use device <dev> as the radio device. If <dev> is a number, then /dev/radio<dev> is used.
Otherwise if -z was specified earlier, then <dev> is the entity name or interface ID (if prefixed
with 0x) as found in the topology of the media device with the bus info string as specified by the
-z option.
-S, --sdr-device<dev>
Use device <dev> as the SDR device. If <dev> is a number, then /dev/swradio<dev> is used.
Otherwise if -z was specified earlier, then <dev> is the entity name or interface ID (if prefixed
with 0x) as found in the topology of the media device with the bus info string as specified by the
-z option.
-t, --touch-device<dev>
Use device <dev> as the touch device. If <dev> is a number, then /dev/v4l-touch<dev> is used.
Otherwise if -z was specified earlier, then <dev> is the entity name or interface ID (if prefixed
with 0x) as found in the topology of the media device with the bus info string as specified by the
-z option.
-u, --subdev-device<dev>
Use device <dev> as the v4l-subdevX device. If <dev> is a number, then /dev/v4l-subdev<dev> is
used. Otherwise if -z was specified earlier, then <dev> is the entity name -e, --exp-buf-device<dev> Use device <dev> as the video device used to export DMABUFfers for doing DMABUF streaming
tests. If <dev> is a number, then /dev/video<dev> is used. Otherwise if -z was specified earlier,
then <dev> is the entity name or interface ID (if prefixed with 0x) as found in the topology of
the media device with the bus info string as specified by the -z option. If this option is not
specified, then the DMABUF streaming tests will be skipped.
-z, --media-bus-info<bus-info>
Find the media device with the given bus info string. If set, then the options above can use the
entity name or interface ID to refer to the device nodes. Example: v4l2-compliance -z
platform:vivid-000 -d vivid-000-vid-cap
-m, --media-device<dev>
Use device <dev> as the media controller device. Besides this device it also tests all interfaces
it finds. If <dev> starts with a digit, then /dev/media<dev> is used. If <dev> doesn't exist,
then attempt to find a media device with a bus info string equal to <dev>. Example:
v4l2-compliance -m platform:vivid-000
-M, --media-device-only<dev>
Use device <dev> as the media controller device. Only test this device, don't walk over all the
interfaces. If <dev> starts with a digit, then /dev/media<dev> is used. If <dev> doesn't exist,
then attempt to find a media device with a bus info string equal to <dev>. Example:
v4l2-compliance -M platform:vivid-000
--stream-from[<pixelformat>=]<file>, --stream-from-hdr[<pixelformat>=]<file>
Use the contents of the file to fill in output buffers. If the fourcc of the pixelformat is
given, then use the file for output buffers using that pixelformat only. The --stream-from-hdr
variant uses the format written by v4l2-ctl --stream-to-hdr where the payload sizes for each
buffer are stored in a header. Useful for compressed formats.
-s, --streaming<count>
Enable the streaming tests. Set <count> to the number of frames to stream (default 60). This
requires that before v4l2-compliance is called the device has been configured with a valid input
(or output) and frequency (when the device has a tuner). For DMABUF testing --expbuf-device needs
to be set as well.
The configuration of the driver at the time v4l2-compliance was called will be used for the
streaming tests.
-f, --stream-all-formats[<count>]
Test whether all available formats can be streamed. This attempts to stream using MMAP mode or
read/write (if V4L2_MEMORY_MMAP is not available) for one second for all formats, at all sizes, at
all intervals and with all field values. In addition, if the driver supports scaling, cropping or
composing it will test that as well in various combinations. If the driver supports a lot of
combinations then this test can take a long time. If <count> is given, then stream for that many
frames instead of for one second.
The configuration of the driver at the time v4l2-compliance was called will be used for the
streaming tests.
-c, --stream-all-colorcolor=red|green|blue,skip=<skip>,perc=<perc>
For all supported, non-compressed formats stream <skip + 1> frames. For the last frame go over all
pixels and calculate which of the R, G and B color components of a pixel has the highest value and
count that as a red, green or blue pixel. The test succeeds if at least perc percent of the frame
has the given color. This requires that a valid and predominantly red, green or blue video signal
is present on the input(s). If skip is not specified, then just capture the first frame. A non-
zero skip value is useful if it takes a few frames for the device to calibrate. If perc is not
specified, then this defaults to 90%.
Most signal generators are able to generate pure red, blue or green video. For cameras you can
print a completely red, green or blue picture and hold it before the camera.
The goal of this test is to determine if all pixel formats will interpret the red, green and blue
colors correctly and that no color components are swapped.
The configuration of the driver at the time v4l2-compliance was called will be used for the
streaming tests.
-a, --stream-all-io
Do the -s, -c and -f streaming tests for all inputs or outputs instead of just the current input
or output. This requires that a valid video signal is present on all inputs or that all outputs
are hooked up.
-E, --exit-on-fail
Exit this application when the first failure occurs instead of continuing with a possible
inconsistent state.
-C, --color<when>
Highlight OK/warn/fail/FAIL strings with colors. OK is marked green, warn is marked bold, and
fail/FAIL are marked bright red if enabled. <when> can be always, never, or auto (the default).
-n, --no-warnings
Turn off warning messages. They are still counted in the summary, but you won't see them.
-P, --no-progress
Turn off progress messages. Useful when redirecting the output to a file.
-T, --trace
Trace all called ioctls.
-v, --verbose
Turn on verbose reporting.
--version
Show version information.
-w, --wrapper
Use the libv4l2 wrapper library for all V4L2 device accesses. Note that doing this will cause some
tests to fail because the libv4l2 library isn't fully V4L2 compliant. By default v4l2-compliance
will bypass libv4l2 and access the V4L2 devices directly.
-W, --exit-on-warn
Exit this application when the first warning occurs instead of continuing.
-h, --help
Prints the help message.