v4l-utils is a collection of libraries which adds a thin abstraction layer on
top of video4linux2 devices. Its purpose is to make writing an application that supports a wide variety of devices easier, without needing a special effort for every device.
All libv4l components are licensed under the GNU Library General Publishing
License version 2 or (at your option) any later version.
libv4l consists of 3 different libraries:
libv4lconvert offers functions to convert from any (known) pixelformat
to V4l2_PIX_FMT_BGR24 or V4l2_PIX_FMT_YUV420.
Currently the following source formats are supported:
jpeg, mjpeg, bayer (all 4 variants: bggr, rggb, gbrg, grbg),
spca501 (chip specific yuv 420 with interlaced components),
spca561 (chip specific compressed gbrg bayer)
For more details on the v4lconvert_ functions see libv4lconvert.h.
This offers functions like v4l1_open, v4l1_ioctl, etc. which can by used to
quickly make v4l1 applications work with v4l2 devices. These functions work
exactly like the normal open/close/etc, except that libv4l1 does full emulation
of the v4l1 api on top of v4l2 drivers, in case of v4l1 drivers it will just
pass calls through. For more details on the v4l1_ functions see libv4l1.h .
This offers functions like v4l2_open, v4l2_ioctl, etc. which can by used to
quickly make v4l2 applications work with v4l2 devices with weird formats.
libv4l2 mostly passes calls directly through to the v4l2 driver. When the
app does a TRY_FMT / S_FMT with a not supported format libv4l2 will get in
the middle and emulate the format (if an app wants to know which formats the
hardware can _really_ do it should use ENUM_FMT, not randomly try a bunch of
S_FMT's). For more details on the v4l2_ functions see libv4l2.h .
What's New in This Release: [ read full changelog ]
· In v4l2-ctl, support was added for the new bitmask control type and for the control event, along with small bugfixes.
· qv4l2 gained support for bitmap controls.
· A new parser for dumps of em28xx with the drxk frontend was added.
· In libv4l, some more laptop models were added to the upside down devices table, support for the SE401 pixel format was implemented, and software autogain tweaks were made.
· Several other minor changes were made.