platform/upstream/v4l-utils.git
10 years agov4l2-ctl: add support for generating limited range RGB
Hans Verkuil [Tue, 8 Jul 2014 07:39:11 +0000 (09:39 +0200)]
v4l2-ctl: add support for generating limited range RGB

The test pattern generator also supports limited range RGB. Add
an option to select this.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agov4l2-ctl: the alpha flags are mutually exclusive.
Hans Verkuil [Tue, 8 Jul 2014 07:41:23 +0000 (09:41 +0200)]
v4l2-ctl: the alpha flags are mutually exclusive.

The alpha flags for a framebuffer are mutually exclusive. Implement
this in v4l2-ctl-overlay.cpp.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agov4l2-ctl: add missing source chromakey support.
Hans Verkuil [Tue, 8 Jul 2014 06:56:30 +0000 (08:56 +0200)]
v4l2-ctl: add missing source chromakey support.

Standard chromakey handling was implemented, but the source-chromakey
implementation was missing.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agov4l2-ctl: vastly improve the test pattern generator.
Hans Verkuil [Mon, 7 Jul 2014 19:04:27 +0000 (21:04 +0200)]
v4l2-ctl: vastly improve the test pattern generator.

Replace the simplistic test pattern generator by a much improved
version that supports many more test patterns, support colorspace
conversions and a host of other features.

This code is based on the test pattern generator of the upcoming
vivi rewrite and excepts for some small changes in vivi-tpg.h the
code is identical to that driver. In the future the sync-with-kernel
make target of v4l-utils will just copy the code from the kernel,
making the kernel vivi driver the master copy.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: improve pixel aspect detection
Hans Verkuil [Mon, 7 Jul 2014 18:59:27 +0000 (20:59 +0200)]
qv4l2: improve pixel aspect detection

If CROPCAP is not supported, then try g_std. If that's not supported,
then try g_dv_timings. If all else failed, then just return a square
pixel aspect ratio.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: improve video output support, esp. multiplanar.
Hans Verkuil [Mon, 7 Jul 2014 18:30:46 +0000 (20:30 +0200)]
qv4l2: improve video output support, esp. multiplanar.

There was rudimentary video output support in qv4l2, at least sufficient
to use it to change things like the format.

But this didn't work if the video output driver used the multiplanar API.
Improved qv4l2 to support this.

Note that qv4l2 assumes that you either have video capture or video output.
Memory-to-memory devices are not currently supported.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: get rid of unused v4l2 class methods.
Hans Verkuil [Mon, 7 Jul 2014 18:25:21 +0000 (20:25 +0200)]
qv4l2: get rid of unused v4l2 class methods.

Clean up in preparation of improving video output support in qv4l2.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: fix enabling/disable frame width/height/size
Hans Verkuil [Mon, 7 Jul 2014 12:22:10 +0000 (14:22 +0200)]
qv4l2: fix enabling/disable frame width/height/size

The logic that dealt with when the frame width, height and size
fields had to be enabled and disabled was flawed. Starting and
stopping streaming would just enable all those field unconditionally,
and updating the format state could enable them while streaming.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: zero initial buffers
Hans Verkuil [Mon, 7 Jul 2014 11:51:53 +0000 (13:51 +0200)]
qv4l2: zero initial buffers

If the initial compose rectangle doesn't cover the full buffer,
then there will be a lot of garbage in the buffer if it isn't
zeroed.

Changing the compose rectangle while streaming will correctly
clear buffers as well, it was just this initial setup that caused
problems.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: fix incorrect disabling of the blending mode
Hans Verkuil [Mon, 7 Jul 2014 09:51:14 +0000 (11:51 +0200)]
qv4l2: fix incorrect disabling of the blending mode

When the blending mode was disabled, the blending function
wasn't turned off. Reworked the code to fix this and to make
the glBlendFunc call sequence easier to follow.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agolibv4l-mplane: fix compile warning
Hans Verkuil [Mon, 7 Jul 2014 08:17:04 +0000 (10:17 +0200)]
libv4l-mplane: fix compile warning

libv4l-mplane.c:356:24: warning: unused variable 'plugin' [-Wunused-variable]

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agolibv4l-mplane: v4l2-compliance fixes
Hans Verkuil [Sun, 6 Jul 2014 21:59:52 +0000 (23:59 +0200)]
libv4l-mplane: v4l2-compliance fixes

Fixed a variety of issues with this plugin. Found by running
v4l2-compliance -w with my multiplanar-enabled vivi driver.

- v4l2_pix_format's priv field wasn't zeroed.
- attempts to use the multiplanar buf types should return an error
  since they are disabled in the querycap capabilities.
- implement read() and write(): let the driver decide what to do with
  them.
- don't convert the buf type for the cropping ioctls. Just like the
  selection ioctls these shouldn't be converted.
- the memory field of v4l2_buffer should be copied back.
- errno was set to a negative value in at least one place.
- the create_bufs_ioctl() implementation was completely wrong.
- the querycap code didn't convert the device_caps field.

There are still a few issues left, but those come from the libv4l2
library, not from this plugin.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agolibv4l-mplane: copy back v4l2_buffer.m, fix type problems
Hans Verkuil [Sun, 6 Jul 2014 21:01:06 +0000 (23:01 +0200)]
libv4l-mplane: copy back v4l2_buffer.m, fix type problems

The ioctls operating on v4l2_buffer structs should copy back the
v4l2_plane.m to v4l2_buffer.m. Applications (like qv4l2) rely on
VIDIOC_QUERYBUF to return the correct m.offset, etc.

The format ioctls and create_bufs would call the ioctl directly
if the buffer type wasn't one of VIDEO_CAPTURE or VIDEO_OUTPUT.
However, it used the local zeroed format/v4l2_create_buffers
struct instead of the real struct. This is now fixed.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: make the destination sizeimage large enough
Hans Verkuil [Sun, 6 Jul 2014 20:57:04 +0000 (22:57 +0200)]
qv4l2: make the destination sizeimage large enough

Normally v4lconvert_try_format() will make sure that sizeimage is
large enough by calling try_fmt(). But if the multiplanar plugin is
in use, then v4lconvert_try_format() bypasses that plugin and try_fmt()
will fail since the driver expects the _MPLANE buffer types.

Normal programs won't use this function, so it won't be a problem there.
But in our case the solution is fairly simple: just calculate sizeimage
ourselves.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: remove two forgotten debug printfs
Hans Verkuil [Sun, 6 Jul 2014 20:09:33 +0000 (22:09 +0200)]
qv4l2: remove two forgotten debug printfs

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: implement SEQ_TB/BT support for the openGL renderer
Hans Verkuil [Sun, 6 Jul 2014 19:48:56 +0000 (21:48 +0200)]
qv4l2: implement SEQ_TB/BT support for the openGL renderer

Add openGL support for frames captured using the V4L2_FIELD_SEQ_TB/BT
field setting. This was the only field type that wasn't yet supported.

The software renderer still doesn't support it, only openGL does.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: add support for crop and compose
Hans Verkuil [Sun, 6 Jul 2014 13:36:05 +0000 (15:36 +0200)]
qv4l2: add support for crop and compose

Implement GUI support to set the crop and compose rectangles if that
is supported by the driver.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: fix pixel aspect handling and set compose rectangle
Hans Verkuil [Sat, 5 Jul 2014 21:21:07 +0000 (23:21 +0200)]
qv4l2: fix pixel aspect handling and set compose rectangle

The pixel aspect ratio handling did not take scaling into account.

When changing the format the compose rectangle should be set to the
same size as well.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: fix control range handling and broken slider disabling.
Hans Verkuil [Fri, 4 Jul 2014 08:08:52 +0000 (10:08 +0200)]
qv4l2: fix control range handling and broken slider disabling.

The introduction of slider + spinbox widgets for simple integer controls
missed that when such a control is disabled both widgets have to be
disabled, instead only the spinbox was disabled.

Changing the control range on the fly was never properly implemented, this
is now fixed.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: fix compilation error if HAVE_QTGL is undefined
Hans Verkuil [Thu, 3 Jul 2014 21:18:53 +0000 (23:18 +0200)]
qv4l2: fix compilation error if HAVE_QTGL is undefined

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: revert most of the previous patch
Hans Verkuil [Thu, 3 Jul 2014 15:55:50 +0000 (17:55 +0200)]
qv4l2: revert most of the previous patch

The driver I was testing this swapped the numerator and denominator,
causing me to think that the qv4l2 code was wrong. However, it is
correct except for a status message that swapped it as well.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agodvb-file: better store channels without SDT
Mauro Carvalho Chehab [Thu, 3 Jul 2014 15:34:21 +0000 (12:34 -0300)]
dvb-file: better store channels without SDT

There's  a risk of two channels with different frequencies to have
the same name, as they could have the same service ID.

So, add the frequency to the channel name, to avoid such risk.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoqv4l2: fix pixel aspect ratio calculation
Hans Verkuil [Thu, 3 Jul 2014 15:35:16 +0000 (17:35 +0200)]
qv4l2: fix pixel aspect ratio calculation

The autodetect of the aspect ratio failed (swapped numerator and
denominator) due to the confusing calculation.

Ensure that the numerator always applies to the height of the pixel
and denominator to the width of the pixel (as returned by cropcap).

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agodvb-file: store services even when SDT is not found
Mauro Carvalho Chehab [Thu, 3 Jul 2014 14:19:18 +0000 (11:19 -0300)]
dvb-file: store services even when SDT is not found

Sometimes, both PAT and PMT tables are properly parsed, but SDT
table is missing. Without SDT, we don't know the program names,
but it is still possible to store the services. So, do it.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agolibdvbv5: Improve debug logs while scanning PMT
Mauro Carvalho Chehab [Thu, 3 Jul 2014 13:48:53 +0000 (10:48 -0300)]
libdvbv5: Improve debug logs while scanning PMT

Better display what's happening during PMT program scan.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoqv4l2: added user controls
Anton Arbring [Thu, 3 Jul 2014 12:06:54 +0000 (14:06 +0200)]
qv4l2: added user controls

Autogenerated integer controls where the range is less than or equal to
0xFFFF now have both a Slider and a SpinBox to change the value.
Using unsigned to get relevant result in range comparison.

Signed-off-by: Anton Arbring <aarbring@cisco.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: correctly disable two menu items
Anton Arbring [Thu, 3 Jul 2014 12:00:04 +0000 (14:00 +0200)]
qv4l2: correctly disable two menu items

The "Save Raw Frames" menu item should be disabled if no video device is open,
the "Use OpenGL Rendering" menu item should be disabled if streaming is in
progress.

Signed-off-by: Anton Arbring <aarbring@cisco.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: changed and removed icons
Anton Arbring [Thu, 3 Jul 2014 08:17:03 +0000 (10:17 +0200)]
qv4l2: changed and removed icons

The new start icon is more intuitive than the old record button.
Some color added to the snapshot icon to make it more visible when enabled.
The close window and show frames icons are removed from the toolbar as they
are not used very frequently.

Signed-off-by: Anton Arbring <aarbring@cisco.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: clarified two strings
Anton Arbring [Thu, 3 Jul 2014 07:30:44 +0000 (09:30 +0200)]
qv4l2: clarified two strings

Signed-off-by: Anton Arbring <aarbring@cisco.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: add a 'blending' mode to test images with an alpha channel.
Hans Verkuil [Thu, 3 Jul 2014 07:12:04 +0000 (09:12 +0200)]
qv4l2: add a 'blending' mode to test images with an alpha channel.

When enabled the tool will draw a black square on a white background
and use the alpha channel to make the image transparent so the square
becomes visible.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: GL_RED is not supported everywhere, use GL_LUMINANCE.
Hans Verkuil [Thu, 3 Jul 2014 05:52:54 +0000 (07:52 +0200)]
qv4l2: GL_RED is not supported everywhere, use GL_LUMINANCE.

While GL_RED works fine on my nvidia card, it fails when used under
vmware. Replace by GL_LUMINANCE which is accepted by both.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: colorspace & opengl improvements
Hans Verkuil [Wed, 2 Jul 2014 20:30:18 +0000 (22:30 +0200)]
qv4l2: colorspace & opengl improvements

Handle unknown colorspaces gracefully and refactor the default
pixelformat handling in the opengl renderer.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agov4l2-compliance: improve colorspace checks.
Hans Verkuil [Wed, 2 Jul 2014 16:52:02 +0000 (18:52 +0200)]
v4l2-compliance: improve colorspace checks.

Check that V4L2_COLORSPACE_BT878 is never used and that V4L2_COLORSPACE_JPEG
is only used in combination with V4L2_PIX_FMT_JPEG.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: add extensive colorspace support
Hans Verkuil [Wed, 2 Jul 2014 14:40:43 +0000 (16:40 +0200)]
qv4l2: add extensive colorspace support

Support for colorspace handling has been added to the qv4l2 tool.
Two new comboboxes have been added: one to select the colorspace
of the captured video (by default it will use the colorspace as
returned by the driver), and one to select the colorspace of the
display which is sRGB by default.

Special care has been taken to do the correct Y'CbCr to R'G'B'
conversion, the R'G'B' to RGB conversion, the actual colorspace
conversion and the conversion to the display colorspace.

Note that colorspace handling is only supported with the openGL
acceleration. Doing this in the software implementation would be
much too slow.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agodvbv5-zap: Fix LNBf selection
Mauro Carvalho Chehab [Tue, 1 Jul 2014 00:55:26 +0000 (21:55 -0300)]
dvbv5-zap: Fix LNBf selection

There were a number of issues with LNBf selection:

1) the test if lnb parameter was specified was wrong;
2) if LNB is provided on both channel file and command line, use
the latest.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoFix kFreeBSD build
Gregor Jasny [Sun, 29 Jun 2014 10:30:41 +0000 (12:30 +0200)]
Fix kFreeBSD build
* fixed BSDfication of V4L related headers
* Disabled libdvbv5 and v4l-utils build

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
10 years agoqv4l2: Fix typo
Gregor Jasny [Sat, 28 Jun 2014 17:39:14 +0000 (19:39 +0200)]
qv4l2: Fix typo

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
10 years agoRevert "libdvbv5: Do not install libdvbv5 by default"
Gregor Jasny [Sat, 28 Jun 2014 16:48:56 +0000 (18:48 +0200)]
Revert "libdvbv5: Do not install libdvbv5 by default"

This reverts commit 4fe1165ab5239bb2fadeed60f9cc8f0f1d6253f5.

10 years agoStart v4l-utils 1.3.x development
Gregor Jasny [Sat, 28 Jun 2014 16:48:47 +0000 (18:48 +0200)]
Start v4l-utils 1.3.x development

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
10 years agoPrepare for 1.2.0 release v4l-utils-1.2.0
Gregor Jasny [Sat, 28 Jun 2014 15:59:10 +0000 (17:59 +0200)]
Prepare for 1.2.0 release

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
10 years agolibdvbv5: Do not install libdvbv5 by default
Gregor Jasny [Sat, 28 Jun 2014 16:24:22 +0000 (18:24 +0200)]
libdvbv5: Do not install libdvbv5 by default

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
10 years agoqv4l2: Distribute manpage
Gregor Jasny [Sat, 28 Jun 2014 16:21:14 +0000 (18:21 +0200)]
qv4l2: Distribute manpage

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
10 years agov4l2-compliance: Distribute internal header, too
Gregor Jasny [Sat, 28 Jun 2014 16:16:58 +0000 (18:16 +0200)]
v4l2-compliance: Distribute internal header, too

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
10 years agobuildsystem: Distribute Android.mk files
Gregor Jasny [Sat, 28 Jun 2014 16:16:30 +0000 (18:16 +0200)]
buildsystem: Distribute Android.mk files

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
10 years agomediactl: Distribute internal header, too
Gregor Jasny [Sat, 28 Jun 2014 16:12:44 +0000 (18:12 +0200)]
mediactl: Distribute internal header, too

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
10 years agolibdvbv5: Distribute internal header, too
Gregor Jasny [Sat, 28 Jun 2014 16:08:04 +0000 (18:08 +0200)]
libdvbv5: Distribute internal header, too

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
10 years agoparse_dib0700.pl: parse REQUEST_GET_VERSION
Mauro Carvalho Chehab [Sat, 28 Jun 2014 12:45:06 +0000 (09:45 -0300)]
parse_dib0700.pl: parse REQUEST_GET_VERSION

Identify the firmware version on the parsed logs.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoparse_dib0700.pl: Parse REQUEST_SET_I2C_PARAM
Mauro Carvalho Chehab [Sat, 28 Jun 2014 12:25:22 +0000 (09:25 -0300)]
parse_dib0700.pl: Parse REQUEST_SET_I2C_PARAM

Parses I2C speed changes.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agov4l2-compliance: M2M cap + input or output caps should be an error.
Hans Verkuil [Fri, 27 Jun 2014 09:03:51 +0000 (11:03 +0200)]
v4l2-compliance: M2M cap + input or output caps should be an error.

Currently this is a warning, but this is now an obsolete combination
and should never be used.

In the very beginning when m2m devices were introduced they were marked
as capture+output devices, but some applications scan video devices for
those that have the CAPTURE cap set (quite reasonable), and they would
also match such m2m devices. Quite soon we realized that this was a
problem and we introduced the m2m cap.

Because of this the combination of M2M + CAPTURE or OUTPUT caps is
illegal and should not be used anymore.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoRevert "wip"
Laurent Pinchart [Wed, 25 Jun 2014 09:37:24 +0000 (11:37 +0200)]
Revert "wip"

The commit was pushed by mistake, revert it.

This reverts commit 83d0df45745873f856c8a63bf4a86fec70559fca.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agoparse_dib0700.pl: autoflush writes
Mauro Carvalho Chehab [Tue, 24 Jun 2014 21:47:07 +0000 (18:47 -0300)]
parse_dib0700.pl: autoflush writes

Autoflushing avoids loosing message when CTRL-C is pressed.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoparse_dib0700.pl: Make the delays multiple of 10ms
Mauro Carvalho Chehab [Tue, 24 Jun 2014 21:42:59 +0000 (18:42 -0300)]
parse_dib0700.pl: Make the delays multiple of 10ms

That makes it more real to what the Kernel would provide.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoparse_dib0700.pl: add support to identify delays
Mauro Carvalho Chehab [Tue, 24 Jun 2014 20:31:21 +0000 (17:31 -0300)]
parse_dib0700.pl: add support to identify delays

This could be relevant for GPIO settings and similar stuff.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoparse_dib0700.pl: improve parser
Mauro Carvalho Chehab [Tue, 24 Jun 2014 19:34:26 +0000 (16:34 -0300)]
parse_dib0700.pl: improve parser

When using ./parse_tcpdump_log.pl|parse_dib0700.pl, it were not
parsing properly.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoparse_dib0700.pl: parse the remaining messages on dib0700
Mauro Carvalho Chehab [Tue, 24 Jun 2014 17:28:10 +0000 (14:28 -0300)]
parse_dib0700.pl: parse the remaining messages on dib0700

Parse the remaining messages on dib0700, except for the newer
I2C read/write formats.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agocontrib: add a parser for dib0700
Mauro Carvalho Chehab [Tue, 24 Jun 2014 16:29:20 +0000 (13:29 -0300)]
contrib: add a parser for dib0700

Add an initial parser for dib0700. While here, change the file
permisions of contrib scripts to be executable.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoqv4l2: fix opengl support for RGB32/BGR32.
Hans Verkuil [Mon, 23 Jun 2014 14:14:54 +0000 (16:14 +0200)]
qv4l2: fix opengl support for RGB32/BGR32.

For whatever reason the GL_RGBA4 internal format was used instead of
GL_RGB8, so each color component was just 4 bits instead of 8.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2-qt3: remove utility
Hans Verkuil [Mon, 23 Jun 2014 07:33:53 +0000 (09:33 +0200)]
qv4l2-qt3: remove utility

qv4l2-qt3 has been superseded by qv4l2. Nobody uses Qt3 anymore and this
qt3 version of qv4l2 hasn't been maintained for a long time. Time to
retire it.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agov4lgrab/vbi-test: remove these utilities
Hans Verkuil [Mon, 23 Jun 2014 07:32:06 +0000 (09:32 +0200)]
v4lgrab/vbi-test: remove these utilities

v4lgrab doesn't work anymore since the v4l1 compat layer has been
removed a long time ago.

vbi-test has been replaced by v4l2-ctl --get-fmt-vbi and serves no good
purpose anymore.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agomedia-ctl: Pass a positive error value to strerror()
Laurent Pinchart [Sat, 21 Jun 2014 08:26:47 +0000 (10:26 +0200)]
media-ctl: Pass a positive error value to strerror()

Negative error values are passed to the strerror() function which takes
positive error value arguments. Fix it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agowip
Laurent Pinchart [Wed, 31 Jul 2013 22:58:52 +0000 (00:58 +0200)]
wip

10 years agoUpdate sync-with-kernel to use installed kernel headers
Laurent Pinchart [Tue, 3 Jun 2014 10:10:52 +0000 (12:10 +0200)]
Update sync-with-kernel to use installed kernel headers

Kernel headers exported to userspace can contain kernel-specific
statements (such as __user annotations) that are removed when installing
the headers with 'make headers_install' in the kernel sources. Only
those headers must be used by userspace, raw headers are private to the
kernel.

Update the sync-with-kernel make target to use the installed headers.
The user must install the kernel headers by running

make headers_install

in KERNEL_DIR prior to run sync-with-kernel.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agomedia-ctl: Add DV timings support
Laurent Pinchart [Fri, 31 Jan 2014 13:21:57 +0000 (14:21 +0100)]
media-ctl: Add DV timings support

Support printing (with -p) and setting (with --set-dv) DV timings at the
pad level.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agomedia-ctl: Move flags printing code to a new print_flags function
Laurent Pinchart [Tue, 4 Feb 2014 10:22:15 +0000 (11:22 +0100)]
media-ctl: Move flags printing code to a new print_flags function

This will allow reusing the flag printing code for the DV timings flags.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agomedia-ctl: libv4l2subdev: Add DV timings support
Laurent Pinchart [Mon, 2 Jun 2014 14:49:15 +0000 (16:49 +0200)]
media-ctl: libv4l2subdev: Add DV timings support

Expose the pad-level get caps, query, get and set DV timings ioctls.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agolibv4lconvert: Fix a regression when converting from Y10B
Antonio Ospite [Mon, 16 Jun 2014 15:00:41 +0000 (17:00 +0200)]
libv4lconvert: Fix a regression when converting from Y10B

Fix a regression introduced in commit
efc29f1764a30808ebf7b3e1d9bfa27b909bf641 (libv4lconvert: Reject too
short source buffer before accessing it).

The old code:

case V4L2_PIX_FMT_Y10BPACK:
...
if (result == 0 && src_size < (width * height * 10 / 8)) {
V4LCONVERT_ERR("short y10b data frame\n");
errno = EPIPE;
result = -1;
}
...

meant to say "If the conversion was *successful* _but_ the frame size
was invalid, then take the error path", but in
efc29f1764a30808ebf7b3e1d9bfa27b909bf641 this (maybe weird) logic was
misunderstood and v4lconvert_convert_pixfmt() was made to return an
error even in the case of a successful conversion from Y10B.

Drop the no longer needed second check to fix this.

Signed-off-by: Antonio Ospite <ao2@ao2.it>
Cc: Gregor Jasny <gjasny@googlemail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 years agov4l2-ctl: add support to try/set raw VBI formats
Hans Verkuil [Tue, 17 Jun 2014 11:09:33 +0000 (13:09 +0200)]
v4l2-ctl: add support to try/set raw VBI formats

This was the last bit of missing functionality from v4l2-ctl, now that
this is in the full V4L2 API functionality is available through v4l2-ctl.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agolibv4l2: release the lock before doing a DQBUF
Thiago Santos [Mon, 9 Jun 2014 13:51:56 +0000 (10:51 -0300)]
libv4l2: release the lock before doing a DQBUF

In blocking mode, if there are no buffers available the DQBUF will block
waiting for a QBUF to be called but it will block holding the streaming
lock which will prevent any QBUF from happening, causing a deadlock.

Signed-off-by: Thiago Santos <ts.santos@sisa.samsung.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agov4l2-compliance: don't warn about missing frameintervals
Hans Verkuil [Fri, 13 Jun 2014 14:07:35 +0000 (16:07 +0200)]
v4l2-compliance: don't warn about missing frameintervals

Only warn about missing ENUM_FRAMEINTERVALS support for discrete
framesizes, not for stepwise or continuous. Those framesize types
can be used as well for video receivers where ENUM_FRAMEINTERVALS
may not make sense.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoqv4l2: add support for the V4L2_EVENT_SOURCE_CHANGE event.
Hans Verkuil [Fri, 13 Jun 2014 13:14:51 +0000 (15:14 +0200)]
qv4l2: add support for the V4L2_EVENT_SOURCE_CHANGE event.

Subscribe to the V4L2_EVENT_SOURCE_CHANGE event. When such an event
arrives for the current input the application will call QUERYSTD or
QUERY_DV_TIMINGS to update the standard/timings.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agov4l2-compliance: fix broken querymenu check.
Hans Verkuil [Thu, 12 Jun 2014 13:58:23 +0000 (15:58 +0200)]
v4l2-compliance: fix broken querymenu check.

QUERYMENU can also return -ENOTTY if it isn't implemented at all.
Allow for that.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agorc_keymaps: Add keymap for the remote shipped with the Wobo i5 tv box
Hans de Goede [Thu, 8 May 2014 19:28:27 +0000 (21:28 +0200)]
rc_keymaps: Add keymap for the remote shipped with the Wobo i5 tv box

The Wobo i5 is an allwinner based android tv box, with its own custom remote,
this adds a keymap for this remote (like all allwinner devices, the wobo i5
can run plain Linux).

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 years agorc_keymaps: Add a keymap for the remote shipped with allwinner i12-a20 tv boxes
Hans de Goede [Thu, 8 May 2014 19:22:46 +0000 (21:22 +0200)]
rc_keymaps: Add a keymap for the remote shipped with allwinner i12-a20 tv boxes

This is an unbranded remote found with unbranded allwinner a20 based android
tv boxes, which are referred to as i12 tv boxes since the pcb is marked i12
(the i12 name is also used in u-boot and for the devicetree files).

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 years agorc_keymaps: Add a keymap for the remote shipped with allwinner ba10 tv boxes
Hans de Goede [Thu, 8 May 2014 19:20:35 +0000 (21:20 +0200)]
rc_keymaps: Add a keymap for the remote shipped with allwinner ba10 tv boxes

This is an unbranded remote found with unbranded allwinner a10 based android
tv boxes, which are referred to as ba10 tv boxes since the pcb is marked ba10
(the ba10 name is also used in u-boot and for the devicetree files).

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 years agolibdvbv5: Find other TS in NIT pointer fix
Rob Barker [Thu, 29 May 2014 15:20:53 +0000 (12:20 -0300)]
libdvbv5: Find other TS in NIT pointer fix

dvb_scan_add_entry() is modified to return the pointer to the newly
created entry (the last in the list), so the add_update_nit_ functions
now modify the correct element, instead of the penultimate one.  This
fixes the finding of other TS in NIT scan feature.

Signed-off-by: Rob Barker <robert.barker@redembedded.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agodvb-file: Fix bandwidth handling at online write function
Mauro Carvalho Chehab [Wed, 4 Jun 2014 17:14:55 +0000 (14:14 -0300)]
dvb-file: Fix bandwidth handling at online write function

The conversion from bandwidth in Hz to bandwidth with the legacy
oneline files is wrong. It was always returning bandwidth auto,
instead of writing the proper values on it. Fix it.

Reported-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agomedia-ctl: Add fall through comment to fix Coverity warning
Laurent Pinchart [Tue, 3 Jun 2014 09:55:42 +0000 (11:55 +0200)]
media-ctl: Add fall through comment to fix Coverity warning

The -f case falls through the -V case during option parsing. This is
desired but result in a missing break statement warning from Coverity.
Fix it by adding a fall through comment.

Reported-by: Coverity Scan
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agomedia-ctl: Fix media device version printing
Laurent Pinchart [Tue, 3 Jun 2014 09:54:58 +0000 (11:54 +0200)]
media-ctl: Fix media device version printing

Extract the version major, minor and patch level version components by
shifting right, not left.

Reported-by: Coverity Scan
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agomedia-ctl: Fix off-by-one buffer overflow with readlink
Laurent Pinchart [Tue, 3 Jun 2014 09:53:23 +0000 (11:53 +0200)]
media-ctl: Fix off-by-one buffer overflow with readlink

readlink() returns the number of bytes written to the buffer, which can
be up to the passed buffer size, without including the terminating '\0'.
This causes an off-by-one overflow as we pass the total buffer length to
the function and then try to append a terminating '\0'.

Fix it by passing the buffer size minus one to readlink().

Reported-by: Coverity Scan
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agoqv4l2: fix segmentation fault when compiled without ALSA support.
Hans Verkuil [Tue, 3 Jun 2014 09:04:16 +0000 (11:04 +0200)]
qv4l2: fix segmentation fault when compiled without ALSA support.

If opening the video device fails, then qv4l2 attempts to disable
two alsa widgets. If qv4l2 was compiled without alsa support, then
those widget pointers are NULL and you get a segfault.

Add the proper #ifdef so this is only done if alsa support was
compiled in.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoSynced with latest kernel
Hans Verkuil [Tue, 3 Jun 2014 08:19:56 +0000 (10:19 +0200)]
Synced with latest kernel

This adds the missing v4l2-mediabus.h header.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agoAdd missing v4l2-mediabus.h
Hans Verkuil [Tue, 3 Jun 2014 08:15:44 +0000 (10:15 +0200)]
Add missing v4l2-mediabus.h

This header should also be copied when syncing with the kernel.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agomedia-ctl: Update copyright years
Laurent Pinchart [Mon, 2 Jun 2014 14:28:12 +0000 (16:28 +0200)]
media-ctl: Update copyright years

We're well into 2014 and there no going back.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agomedia-ctl: Don't install libmediactl and libv4l2subdev
Laurent Pinchart [Sat, 31 May 2014 11:12:18 +0000 (13:12 +0200)]
media-ctl: Don't install libmediactl and libv4l2subdev

The libraries APIs are not deemed to be stable yet, don't install the
libraries. We must thus compile the two libraries statically to link
media-ctl accordingly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agomedia-ctl: Always print the full help message
Laurent Pinchart [Sat, 31 May 2014 11:08:14 +0000 (13:08 +0200)]
media-ctl: Always print the full help message

The short help text isn't descriptive enough to be useful.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agomedia-ctl: Document the --links option argument
Laurent Pinchart [Fri, 30 May 2014 23:00:34 +0000 (01:00 +0200)]
media-ctl: Document the --links option argument

The --links option take a mandatory argument. Document it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agomedia-ctl: Remove the obsolete device argument from the help text
Laurent Pinchart [Fri, 30 May 2014 22:59:17 +0000 (00:59 +0200)]
media-ctl: Remove the obsolete device argument from the help text

The standalone device argument isn't supported anymore, remove it from
the documentation.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agomedia-ctl: Rename source files
Laurent Pinchart [Fri, 30 May 2014 22:51:06 +0000 (00:51 +0200)]
media-ctl: Rename source files

Prefix the library files with lib and rename main.c to media-ctl.c.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agoImport the media-ctl utility and libraries
Laurent Pinchart [Fri, 30 May 2014 15:18:36 +0000 (17:18 +0200)]
Import the media-ctl utility and libraries

This corresponds to commit 114c1b274edc40e07e9b99a435d26438f5b99943
("Fix uninitialized pointer dereference in media_device_add_entity") in
the git://git.ideasonboard.org/media-ctl.git repository.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10 years agoSynced with latest kernel.
Hans Verkuil [Mon, 26 May 2014 06:42:24 +0000 (08:42 +0200)]
Synced with latest kernel.

This syncs changes to VIDIOC_DV_TIMINGS_CAP and VIDIOC_DV_ENUM_TIMINGS.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agolibdvbv5: generate the correct include in dvb-v5.c
Hans Verkuil [Mon, 26 May 2014 06:39:35 +0000 (08:39 +0200)]
libdvbv5: generate the correct include in dvb-v5.c

When dvb-v5.c is generated the #include line is incorrect: instead
of including <libdvbv5/dvb-v5.h> it should include "dvb-v5.h".

Fixed.

An earlier patch patches the dvb-v5.c source, but since that is
regenerated by 'make sync-with-kernel' I had to change it in the
code that generates the source instead.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agov4l2-ctl: add support V4L2_EVENT_SOURCE_CHANGE
Hans Verkuil [Sun, 25 May 2014 14:06:31 +0000 (16:06 +0200)]
v4l2-ctl: add support V4L2_EVENT_SOURCE_CHANGE

This new event was added, add support for it to v4l2-ctl.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agolibdvbv5: fix compile error
Hans Verkuil [Sun, 25 May 2014 14:04:55 +0000 (16:04 +0200)]
libdvbv5: fix compile error

Fix the following compile error:

dvb-v5.c:6:29: fatal error: libdvbv5/dvb-v5.h: No such file or directory

by using #include "dvb-v5.h", just like the other sources that include
this header.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agosync-with-kernel: update to latest kernel headers.
Hans Verkuil [Sun, 25 May 2014 13:42:27 +0000 (15:42 +0200)]
sync-with-kernel: update to latest kernel headers.

This syncs with the latest kernel code. In particular it adds support
for V4L2_EVENT_SOURCE_CHANGE.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
10 years agolibdvbv5: Fix the speedup scan condition
Mauro Carvalho Chehab [Fri, 2 May 2014 13:52:29 +0000 (06:52 -0700)]
libdvbv5: Fix the speedup scan condition

The DVB table read routine has 3 operational modes: it can seek for an
specific table section, it can expect sequential table sections, or it
can wait non-sequencial sections, stopping when a section is duplicated.

The second mode (sequencial table sections) finishes the reading after
receiving all table sections from 0 to the max table section, speeding
up its reception, while being more reliant to section errors.

However, the tests for the stop condition for this mode were wrong.

Fix it.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agolibdvbv5: don't override a parameter when setting lna
Mauro Carvalho Chehab [Wed, 23 Apr 2014 19:00:58 +0000 (16:00 -0300)]
libdvbv5: don't override a parameter when setting lna

We should not fill the parameters before setting LNA, as, otherwise,
the first property (typically frequency) would be overriden.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agolibv4lconvert: Gracefully handle unknown SE401 destination formats
Gregor Jasny [Wed, 23 Apr 2014 08:12:33 +0000 (10:12 +0200)]
libv4lconvert: Gracefully handle unknown SE401 destination formats

Detected by Coverity.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
CC: Hans de Goede <hdegoede@redhat.com>
10 years agolibv4lconvert: Error out if source or destination pointers are null
Gregor Jasny [Wed, 23 Apr 2014 08:07:17 +0000 (10:07 +0200)]
libv4lconvert: Error out if source or destination pointers are null

Detected by Coverity.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
10 years agodvbv5-zap: Always initialize status variable
Gregor Jasny [Wed, 23 Apr 2014 07:52:19 +0000 (09:52 +0200)]
dvbv5-zap: Always initialize status variable

In case of an early timeout it would be used uninitialized.

Detected by Coverity.

CC: Mauro Carvalho Chehab <m.chehab@samsung.com>
Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
10 years agodvbv5-zap: Close open file descriptor in error path
Gregor Jasny [Wed, 23 Apr 2014 07:48:20 +0000 (09:48 +0200)]
dvbv5-zap: Close open file descriptor in error path

Dectected by Coverity.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
CC: Mauro Carvalho Chehab <m.chehab@samsung.com>