platform/upstream/v4l-utils.git
12 years agoDo not use v4l-utils copy of kernel headers on non Linux architectures
Gregor Jasny [Wed, 8 Feb 2012 20:12:03 +0000 (21:12 +0100)]
Do not use v4l-utils copy of kernel headers on non Linux architectures

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agolibv4l: Apply conditionals for FreeBSD to kFreeBSD, too
Gregor Jasny [Sun, 5 Feb 2012 17:31:36 +0000 (18:31 +0100)]
libv4l: Apply conditionals for FreeBSD to kFreeBSD, too

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agobuildsystem: Build some of the utils only on Linux
Gregor Jasny [Wed, 1 Feb 2012 17:41:33 +0000 (18:41 +0100)]
buildsystem: Build some of the utils only on Linux

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agobuildsystem: Find argp library during configure run
Gregor Jasny [Wed, 1 Feb 2012 17:41:32 +0000 (18:41 +0100)]
buildsystem: Find argp library during configure run

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agobuildsystem: Find library providing dlopen symbols at configure time
Gregor Jasny [Wed, 1 Feb 2012 17:41:29 +0000 (18:41 +0100)]
buildsystem: Find library providing dlopen symbols at configure time

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agoAdd missing includes
Gregor Jasny [Wed, 1 Feb 2012 17:41:30 +0000 (18:41 +0100)]
Add missing includes

They were discovered while compiling on FreeBSD.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agoutils: Rename devname to devicename to avoid FreeBSD stdlib conflict
Gregor Jasny [Wed, 1 Feb 2012 17:41:31 +0000 (18:41 +0100)]
utils: Rename devname to devicename to avoid FreeBSD stdlib conflict

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agolibv4lconvert: add missing const for input pointer
Gregor Jasny [Wed, 1 Feb 2012 17:41:36 +0000 (18:41 +0100)]
libv4lconvert: add missing const for input pointer

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agolibv4l: update upside down device table
Gregor Jasny [Sun, 5 Feb 2012 16:09:55 +0000 (17:09 +0100)]
libv4l: update upside down device table

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agolibv4lconvert: replace strndupa with more portable strndup
Gregor Jasny [Thu, 2 Feb 2012 19:25:07 +0000 (20:25 +0100)]
libv4lconvert: replace strndupa with more portable strndup

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agoPrepare 0.9.0-test1 release v4l-utils-0.9.0-test1
Gregor Jasny [Thu, 2 Feb 2012 19:37:02 +0000 (20:37 +0100)]
Prepare 0.9.0-test1 release

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agolibv4lconvert: Add missing colon in ASUS upside down table
Gregor Jasny [Wed, 1 Feb 2012 21:06:33 +0000 (22:06 +0100)]
libv4lconvert: Add missing colon in ASUS upside down table

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agoUse globs to shorten ASUS upside down table
Gregor Jasny [Tue, 31 Jan 2012 19:59:24 +0000 (20:59 +0100)]
Use globs to shorten ASUS upside down table

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
CC: Hans de Goede <hdegoede@redhat.com>
12 years agolibv4l: update upside down device table
Gregor Jasny [Sun, 29 Jan 2012 22:39:54 +0000 (23:39 +0100)]
libv4l: update upside down device table

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agolibv4lcontrol: Add new matching algorithm for upside down table
Gregor Jasny [Sun, 29 Jan 2012 16:56:04 +0000 (17:56 +0100)]
libv4lcontrol: Add new matching algorithm for upside down table

Implemented after this proposal from Hans de Goede:

   Add another matching algorithm, besides the current match all fields if single row algorithm
   to be specific, I would like a 3 step matching algorithm first of all match the dmi_board_vendor
   against a list of strings known to be used by Manufacturer A, then match dmi_board_name against
   a list of known to have upside down laptop models, then match the usb-id against a list of
   webcams known to be used by Manufacturer A.

   This is mainly targeting Asus, since they tend to have many models and sometimes change the
   model webcam used inside a certain model notebook.

   This way we can hopefully define a set of rules which will catch most Asus laptops, including
   models we have not seen yet, without catching the few models which do have their laptop the right
   way up.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
12 years agolibv4lcontrol: Prefix sysfs root with environment variable value
Gregor Jasny [Sun, 29 Jan 2012 16:47:06 +0000 (17:47 +0100)]
libv4lcontrol: Prefix sysfs root with environment variable value

If the LIBV4LCONTROL_SYSFS_PREFIX value is set it will be added
as a prefix to the sysfs root. This allows to fake USB and DMI
values to test upside down table entries.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
12 years agov4l2-ctl: add support for VIDIOC_S_HW_FREQ_SEEK.
Hans Verkuil [Sat, 28 Jan 2012 12:00:49 +0000 (13:00 +0100)]
v4l2-ctl: add support for VIDIOC_S_HW_FREQ_SEEK.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
12 years agodvbv5-scan: Don't process the same freq from channel file twice
Mauro Carvalho Chehab [Wed, 25 Jan 2012 10:57:33 +0000 (08:57 -0200)]
dvbv5-scan: Don't process the same freq from channel file twice

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvbv5-scan: Allow changing the default output file
Mauro Carvalho Chehab [Tue, 24 Jan 2012 20:03:51 +0000 (18:03 -0200)]
dvbv5-scan: Allow changing the default output file

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb-file: Fix a segfault if network_name is not filled
Mauro Carvalho Chehab [Tue, 24 Jan 2012 20:01:59 +0000 (18:01 -0200)]
dvb-file: Fix a segfault if network_name is not filled

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb-fe-tool: Fix two warnings
Mauro Carvalho Chehab [Tue, 24 Jan 2012 19:54:29 +0000 (17:54 -0200)]
dvb-fe-tool: Fix two warnings

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoAdd the missing license comments to the files
Mauro Carvalho Chehab [Tue, 24 Jan 2012 19:03:14 +0000 (17:03 -0200)]
Add the missing license comments to the files

While everything is GPLv2 only, the license were missed on
some files. Properly fill them.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb: Use the generic read/write file functions
Mauro Carvalho Chehab [Tue, 24 Jan 2012 17:28:51 +0000 (15:28 -0200)]
dvb: Use the generic read/write file functions

This way, on every place, it is possible to read or write using
the legacy or the new formats.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb: Move the generic read/write routines to the library
Mauro Carvalho Chehab [Tue, 24 Jan 2012 17:00:59 +0000 (15:00 -0200)]
dvb: Move the generic read/write routines to the library

Instead of having them only for dvb-format-convert, move them
to the library. This way, they can be used by the other tools.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb-file: Add support for writing at the legacy formats
Mauro Carvalho Chehab [Tue, 24 Jan 2012 15:52:30 +0000 (13:52 -0200)]
dvb-file: Add support for writing at the legacy formats

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb-file: improve parser description structures
Mauro Carvalho Chehab [Tue, 24 Jan 2012 14:00:00 +0000 (12:00 -0200)]
dvb-file: improve parser description structures

Move delimiter to a parser structure. This will allow adding a
generic routine to create one-line formats.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb: Add support for SCR/Unicable
Mauro Carvalho Chehab [Tue, 24 Jan 2012 11:11:53 +0000 (09:11 -0200)]
dvb: Add support for SCR/Unicable

SCR/Unicable is used with Ku-Band satellite configurations, in order
to allow several devices to use the satellites at the same time.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agov4l2-compliance: improve capability compliance tests.
Hans Verkuil [Tue, 24 Jan 2012 09:17:14 +0000 (10:17 +0100)]
v4l2-compliance: improve capability compliance tests.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
12 years agov4l2-ctl: add support for device capabilities.
Hans Verkuil [Tue, 24 Jan 2012 07:51:00 +0000 (08:51 +0100)]
v4l2-ctl: add support for device capabilities.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
12 years agovideodev2.h: update to latest version.
Hans Verkuil [Tue, 24 Jan 2012 07:32:11 +0000 (08:32 +0100)]
videodev2.h: update to latest version.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
12 years agov4l-utils: ir-keytable file parsing errors
Chris Pockele [Sun, 8 Jan 2012 22:31:35 +0000 (22:31 +0000)]
v4l-utils: ir-keytable file parsing errors

While configuring a remote control I noticed that the ir-keytable
utility would throw the message "Invalid parameter on line 1" if the
first line following the "table ... type: ..." line is a comment.
Also, if a configuration line is invalid, the line number indication
of the error message is sometimes incorrect, because the comments
before it are not counted.
This happens because of the "continue" statement when processing
comments (or the table/type line), thus skipping the line counter
increase at the end of the loop.  The included patch fixes both
problems by making sure the counter is always increased.
The parse_cfgfile() function had a similar problem.

Signed-off-by: Chris Pockelé <chris.pockele.f1@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoconfigure.ac: don't be verbose by default
Mauro Carvalho Chehab [Mon, 23 Jan 2012 11:30:48 +0000 (09:30 -0200)]
configure.ac: don't be verbose by default

libtool builds are too verbose for it to be useful. Be less verbose
by default. If verbose is needed, it can be enabled easily via
$ make V=1

at the commandline.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodescriptors: Fix a few bugs at the tables
Mauro Carvalho Chehab [Mon, 23 Jan 2012 11:22:00 +0000 (09:22 -0200)]
descriptors: Fix a few bugs at the tables

As pointed by clang, previous array values were overriden.
Fix them.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodescriptors: Fix DVB-T2 transmission mode parsing
Mauro Carvalho Chehab [Mon, 23 Jan 2012 11:16:07 +0000 (09:16 -0200)]
descriptors: Fix DVB-T2 transmission mode parsing

$ make V=0 CC=clang
descriptors.c:515:65: warning: use of logical '&&' with constant operand [-Wconstant-logical-operand]
        nit_table->transmission_mode = transmission_mode[(buf[1] >> 2) && 0x07];

Reported-by: Gregor Jasny <gjasny@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agokeytable: Fix copy and paste error for SANYO IR protocol
Gregor Jasny [Thu, 19 Jan 2012 13:42:43 +0000 (14:42 +0100)]
keytable: Fix copy and paste error for SANYO IR protocol

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb: Fix a few warnings
Mauro Carvalho Chehab [Wed, 18 Jan 2012 12:45:49 +0000 (10:45 -0200)]
dvb: Fix a few warnings

Now that the compilation is not verbose anymore, it is possible
to see a few warnings and fix them:

dvb-file.c: In function 'fill_entry':
dvb-file.c:213:27: warning: unused variable 'v' [-Wunused-variable]
descriptors.c: In function 'parse_NIT_ISDBT':
descriptors.c:278:4: warning: format '%d' expects argument of type 'int', but argument 2 has type 'uint64_t' [-Wformat]

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoautotools: allow enabling the silent-rules
Mauro Carvalho Chehab [Wed, 18 Jan 2012 12:41:26 +0000 (10:41 -0200)]
autotools: allow enabling the silent-rules

With this change, it is now possible to do:
$ make V=0
or
$ ./configure --enable-silent-rules

in order to be less verbose.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvbv5-scan: bugfix possible crash by parsing strings
Stefan Ringel [Tue, 17 Jan 2012 18:45:42 +0000 (18:45 +0000)]
dvbv5-scan: bugfix possible crash by parsing strings

PID 0x0010, TableID 0x40 ID=0x3001, version 4, size 132
        40 f0 81 30 01 c9 00 00 f0 26 40 18 44 56 42 2d
        54 20 42 65 72 6c 69 6e 2f 42 72 61 6e 64 65 6e
        62 75 72 67 6c 0a 01 01 49 9a 08 89 21 01 ec 00
        f0 4e 01 01 21 14 f0 24 5a 0b 04 10 a6 40 1f 41
        12 ff ff ff ff 6d 07 01 01 04 10 a6 40 00 41 0c
        00 02 01 00 41 01 00 61 01 00 81 01 01 02 21 14
        f0 1e 5a 0b 03 1c 82 40 1f 41 12 ff ff ff ff 41
        0f 00 0b 01 00 0c 01 00 0d 01 00 0e 01 00 0f 01
        5a 5e 75 59
        section_length = 129 section 0, last section 0
Descriptors table len 38
network_name_descriptor (0x40), len 24
        44 56 42 2d 54 20 42 65 72 6c 69 6e 2f 42 72 61
        6e 64 65 6e 62 75 72 67
*** glibc detected *** ./dvbv5-scan: free(): invalid pointer: 0x0000000000618dc0 ***

======= Backtrace: =========
/lib64/libc.so.6(+0x74c06)[0x7ffe9b15dc06]
./dvbv5-scan[0x407ba6]
./dvbv5-scan[0x407339]
./dvbv5-scan[0x405c7e]
./dvbv5-scan[0x4067d3]
./dvbv5-scan[0x401749]
/lib64/libc.so.6(__libc_start_main+0xed)[0x7ffe9b10a23d]
./dvbv5-scan[0x401dd5]
======= Memory map: ========
00400000-0040e000 r-xp 00000000 08:03 15084544                           /home/stefan/build/dvb_utils/v4l-utils/utils/dvb/dvbv5-scan
0060d000-0060e000 r--p 0000d000 08:03 15084544                           /home/stefan/build/dvb_utils/v4l-utils/utils/dvb/dvbv5-scan
0060e000-00610000 rw-p 0000e000 08:03 15084544                           /home/stefan/build/dvb_utils/v4l-utils/utils/dvb/dvbv5-scan
00610000-00631000 rw-p 00000000 00:00 0                                  [heap]
7ffe9acd0000-7ffe9ace5000 r-xp 00000000 08:03 15859816                   /lib64/libgcc_s.so.1
7ffe9ace5000-7ffe9aee4000 ---p 00015000 08:03 15859816                   /lib64/libgcc_s.so.1
7ffe9aee4000-7ffe9aee5000 r--p 00014000 08:03 15859816                   /lib64/libgcc_s.so.1
7ffe9aee5000-7ffe9aee6000 rw-p 00015000 08:03 15859816                   /lib64/libgcc_s.so.1
7ffe9aee6000-7ffe9aee8000 r-xp 00000000 08:03 59904690                   /usr/lib64/gconv/ISO8859-1.so
7ffe9aee8000-7ffe9b0e7000 ---p 00002000 08:03 59904690                   /usr/lib64/gconv/ISO8859-1.so
7ffe9b0e7000-7ffe9b0e8000 r--p 00001000 08:03 59904690                   /usr/lib64/gconv/ISO8859-1.so
7ffe9b0e8000-7ffe9b0e9000 rw-p 00002000 08:03 59904690                   /usr/lib64/gconv/ISO8859-1.so
7ffe9b0e9000-7ffe9b26e000 r-xp 00000000 08:03 15859719                   /lib64/libc-2.14.1.so
7ffe9b26e000-7ffe9b46e000 ---p 00185000 08:03 15859719                   /lib64/libc-2.14.1.so
7ffe9b46e000-7ffe9b472000 r--p 00185000 08:03 15859719                   /lib64/libc-2.14.1.so
7ffe9b472000-7ffe9b473000 rw-p 00189000 08:03 15859719                   /lib64/libc-2.14.1.so
7ffe9b473000-7ffe9b478000 rw-p 00000000 00:00 0
7ffe9b478000-7ffe9b498000 r-xp 00000000 08:03 15859714                   /lib64/ld-2.14.1.so
7ffe9b671000-7ffe9b674000 rw-p 00000000 00:00 0
7ffe9b68e000-7ffe9b68f000 rw-p 00000000 00:00 0
7ffe9b68f000-7ffe9b696000 r--s 00000000 08:03 59904753                   /usr/lib64/gconv/gconv-modules.cache
7ffe9b696000-7ffe9b698000 rw-p 00000000 00:00 0
7ffe9b698000-7ffe9b699000 r--p 00020000 08:03 15859714                   /lib64/ld-2.14.1.so
7ffe9b699000-7ffe9b69a000 rw-p 00021000 08:03 15859714                   /lib64/ld-2.14.1.so
7ffe9b69a000-7ffe9b69b000 rw-p 00000000 00:00 0
7fffab429000-7fffab44a000 rw-p 00000000 00:00 0                          [stack]
7fffab51c000-7fffab51d000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
Abgebrochen
localhost:/home/stefan/build/dvb_utils/v4l-utils/utils/dvb #

Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodescriptors: Fix a few NIT descriptor parsers
Mauro Carvalho Chehab [Tue, 17 Jan 2012 17:28:07 +0000 (15:28 -0200)]
descriptors: Fix a few NIT descriptor parsers

The ISDB-T terrestrial delivery system descripotr parser were
completely broken. Fix it.

While here, also fixes the DVB-T2 descriptor parser.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb/dvb-file: Try again after a while, if -EAGAIN is returned
Mauro Carvalho Chehab [Tue, 17 Jan 2012 15:54:01 +0000 (13:54 -0200)]
dvb/dvb-file: Try again after a while, if -EAGAIN is returned

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvbv5-scan: Don't parse the other NIT/SDT tables by default
Mauro Carvalho Chehab [Tue, 17 Jan 2012 15:56:56 +0000 (13:56 -0200)]
dvbv5-scan: Don't parse the other NIT/SDT tables by default

This speeds up scanning.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb/descriptors: improve ISDB-T verbosity
Mauro Carvalho Chehab [Tue, 17 Jan 2012 15:47:30 +0000 (13:47 -0200)]
dvb/descriptors: improve ISDB-T verbosity

On ISDB-T, most of the network parameters are decoded via the TMCC
carrier, modulated on all segments using DBPSK. It is up to the
ISDB-T demod to parse the TMCC registers and pass their contents via
get_frontend().

Yet, the NIT table provides a few data:
ISDB-T mode (1, 2 or 3);
Guard interval.

The ISDB-T mode is directly related to the number of OFDM carriers,
and the IFFT size:
Mode 1 corresponds to an IFFT size of 2K;
Mode 2 corresponds to an IFFT size of 4K;
Mode 3 corresponds to an IFFT size of 8K.

Provide a better output of those data, if verbose mode is enabled.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb: Fix the used parameters for ISDB-T
Mauro Carvalho Chehab [Tue, 17 Jan 2012 12:04:43 +0000 (10:04 -0200)]
dvb: Fix the used parameters for ISDB-T

Remove the DVB-T parameters that aren't used on ISDB-T.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvbv5-scan: Avoid demux open/close every time
Mauro Carvalho Chehab [Tue, 17 Jan 2012 10:58:29 +0000 (08:58 -0200)]
dvbv5-scan: Avoid demux open/close every time

Instead of opening/closing the demux everytime, just open it
once, before starting the scanning.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvbv5-scan: Fix the parsing for the timeout parameter
Mauro Carvalho Chehab [Tue, 17 Jan 2012 10:21:02 +0000 (08:21 -0200)]
dvbv5-scan: Fix the parsing for the timeout parameter

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agolibv4l: update upside down device table
Gregor Jasny [Sun, 15 Jan 2012 22:12:39 +0000 (23:12 +0100)]
libv4l: update upside down device table

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agoutils/DVB/README: Improve comments
Mauro Carvalho Chehab [Sun, 15 Jan 2012 23:47:42 +0000 (21:47 -0200)]
utils/DVB/README: Improve comments

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvbv5-scan: Fix report for non-PAT service ID's
Mauro Carvalho Chehab [Sun, 15 Jan 2012 23:41:48 +0000 (21:41 -0200)]
dvbv5-scan: Fix report for non-PAT service ID's

Noticed several scrambled channels on my DVB-C network that don't
appear properly at PAT/PMT tables. Probably, some other table
is needed (CAT?). Anyway, fix the output of such services.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvbv5-scan: Fix print message on nameless service ID's
Mauro Carvalho Chehab [Sun, 15 Jan 2012 23:19:03 +0000 (21:19 -0200)]
dvbv5-scan: Fix print message on nameless service ID's

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodescriptors.c: don't print an error for 0x83 descriptor on PMT
Mauro Carvalho Chehab [Sun, 15 Jan 2012 23:18:20 +0000 (21:18 -0200)]
descriptors.c: don't print an error for 0x83 descriptor on PMT

Removes a bogus error message on DVB-C.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb/dvbv5-scan: optimize it for the delivery systems
Mauro Carvalho Chehab [Sun, 15 Jan 2012 23:11:13 +0000 (21:11 -0200)]
utils/dvb/dvbv5-scan: optimize it for the delivery systems

The repetition time of the MPEG-TS tables are different
for each delivery system. Improves the code that handles that,
by using different timeouts, acording with the delivery system.

Also, start parsing the other NIT/SDT tables for most
delivery systems.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb/parse_string: Fix a wrong cut-and-paste
Mauro Carvalho Chehab [Sun, 15 Jan 2012 23:10:17 +0000 (21:10 -0200)]
utils/dvb/parse_string: Fix a wrong cut-and-paste

While here, cleanup the malloc's for the temp tables.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agobuildsystem: Convert to autotools buildsystem
Gregor Jasny [Sat, 14 Jan 2012 16:09:36 +0000 (17:09 +0100)]
buildsystem: Convert to autotools buildsystem

Use autoreconf -vfi to bootstrap

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agoFix spelling error in manpage
Gregor Jasny [Sat, 14 Jan 2012 14:49:13 +0000 (15:49 +0100)]
Fix spelling error in manpage

12 years agoDisable fancy upsampling (needed for libjpeg >= 7)
Gregor Jasny [Sat, 14 Jan 2012 14:43:56 +0000 (15:43 +0100)]
Disable fancy upsampling (needed for libjpeg >= 7)

Libv4lconvert expects to receive downsampled data. With
jpeglib 7 the default changed to TRUE. So we have to
explicitely request downsampled data after reading the
JPEG header.
Thanks to Guido Vollbeding for pointing this out.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
12 years agodvbv5-scan: Remove spurious transponder duplication
Mauro Carvalho Chehab [Sat, 14 Jan 2012 14:41:53 +0000 (12:41 -0200)]
dvbv5-scan: Remove spurious transponder duplication

There's an algorithm to remove duplicated frequencies.
However, due to the zigzag tuning, the same channel
or transponder might appear with two different values.

Improves the code to also handle such case, by estimating
the needed bandwidth for each channel, and considering
any frequency shift bellow bandwitdh/8 as belonging to
the same channel/transponder.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/libscan: read other pid's also for types 0x05 and 0x06
Mauro Carvalho Chehab [Sat, 14 Jan 2012 14:11:45 +0000 (12:11 -0200)]
utils/libscan: read other pid's also for types 0x05 and 0x06

While here, fix a bug at the verbose printk, thanks for Stefan
to report it.

Reported-by: Stefan Ringel <linuxtv@stefanringel.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agousb/descriptors: Add ISO/IEC 13818-1:2007 descriptors
Mauro Carvalho Chehab [Sat, 14 Jan 2012 13:44:20 +0000 (11:44 -0200)]
usb/descriptors: Add ISO/IEC 13818-1:2007 descriptors

Add the descriptors found at ISO/IEC 13818-1:2007. Some of them
were also defined on ARIB/ABNT ISDB-T specs, so remove the
duplication.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb: add proper support for AC-3 audio
Mauro Carvalho Chehab [Sat, 14 Jan 2012 11:59:06 +0000 (09:59 -0200)]
dvb: add proper support for AC-3 audio

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb: add support for read/writing the other el PID
Mauro Carvalho Chehab [Sat, 14 Jan 2012 03:13:38 +0000 (01:13 -0200)]
dvb: add support for read/writing the other el PID

Instead of just supporting audio and video, add support to write
the other PID's to the file, in a generic way.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvbv5-zap: Fix a few warnings
Mauro Carvalho Chehab [Sat, 14 Jan 2012 02:22:58 +0000 (00:22 -0200)]
dvbv5-zap: Fix a few warnings

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvbv5-zap: Accepty any number of audio and video PID's
Mauro Carvalho Chehab [Fri, 13 Jan 2012 23:28:00 +0000 (21:28 -0200)]
dvbv5-zap: Accepty any number of audio and video PID's

Instead of working with just one video and just one audio,
allows zapping to a service with 0 or more audio/video
pid's.

Currently, just one audio or video pid will be filtered.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb/dvb-file: Allow adding new keys to the file
Mauro Carvalho Chehab [Fri, 13 Jan 2012 23:09:19 +0000 (21:09 -0200)]
utils/dvb/dvb-file: Allow adding new keys to the file

Don't be too pedantic: if a new key is added, the parser
should not die. Instead, silently ignores it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb/libscan: Fix a bug at service PID handling
Mauro Carvalho Chehab [Fri, 13 Jan 2012 22:52:51 +0000 (20:52 -0200)]
dvb/libscan: Fix a bug at service PID handling

Several DVB-C channels had video/audio PID missing, because
the PMT tables for them weren't handled.

Fix it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvbv5-scan: add a parameter to control the usage of other freqs
Mauro Carvalho Chehab [Fri, 13 Jan 2012 22:32:36 +0000 (20:32 -0200)]
dvbv5-scan: add a parameter to control the usage of other freqs

By default, dvbv5-scan will get other frequencies from the
DVB NIT tables and use them for scan. A new flag to disable
this behavior is now added, as it helps to test the tool
with DVB-C.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvbv5-zap: use argp parser instead of getopt
Mauro Carvalho Chehab [Fri, 13 Jan 2012 22:27:19 +0000 (20:27 -0200)]
dvbv5-zap: use argp parser instead of getopt

argp is easier to use and provides a nicer/more standard
arguments parsing.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvbv5-scan: use argp parser instead of getopt
Mauro Carvalho Chehab [Fri, 13 Jan 2012 20:44:23 +0000 (18:44 -0200)]
dvbv5-scan: use argp parser instead of getopt

argp is easier to use and provides a nicer/more standard
arguments parsing.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/descriptors: Be more verbose about table bad usage
Mauro Carvalho Chehab [Fri, 13 Jan 2012 19:21:53 +0000 (17:21 -0200)]
utils/descriptors: Be more verbose about table bad usage

When a descriptor is found at the wrong place, be more verbose
about what happened.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb/dvb-file: Don't require a service name for everything
Mauro Carvalho Chehab [Fri, 13 Jan 2012 15:51:43 +0000 (13:51 -0200)]
dvb/dvb-file: Don't require a service name for everything

If the service doesn't provide a name, use its number.
This prevents a segmentation fault that happens for some DVB-C
frequencies here.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvbv5-scan: Add a logic to scan other transponders
Mauro Carvalho Chehab [Fri, 13 Jan 2012 15:39:42 +0000 (13:39 -0200)]
dvbv5-scan: Add a logic to scan other transponders

If a new transponder/channel is found, add it to the scan table,
in order to process the remaining frequencies found.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvb/descriptors: Unify the frequency add logic
Mauro Carvalho Chehab [Fri, 13 Jan 2012 14:37:47 +0000 (12:37 -0200)]
dvb/descriptors: Unify the frequency add logic

Instead of copying different versions of the same logic for all
delivery system descriptors, unify into a common place, and
fix the realloc size.

While here, fix another case where the size of the data were
missing for realloc.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agov4l2-compliance: fix frequency tests
Hans Verkuil [Fri, 13 Jan 2012 09:44:22 +0000 (10:44 +0100)]
v4l2-compliance: fix frequency tests

1) If you set a frequency that is out of range then the spec says that the
   driver must map it to the closest valid frequency.

2) Assume that radio devices are either tuners or modulators but not both.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
12 years agoqv4l2: fix segfault when there are no inputs or outputs.
Hans Verkuil [Fri, 13 Jan 2012 09:43:49 +0000 (10:43 +0100)]
qv4l2: fix segfault when there are no inputs or outputs.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
12 years agodvbv5-scan: Fix parsing crash at extension descriptors
Stefan Ringel [Wed, 11 Jan 2012 19:31:43 +0000 (20:31 +0100)]
dvbv5-scan: Fix parsing crash at extension descriptors

Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb/descriptors: Fix frequency parsers
Mauro Carvalho Chehab [Wed, 11 Jan 2012 15:09:57 +0000 (13:09 -0200)]
utils/dvb/descriptors: Fix frequency parsers

DVB-T and frequency list are not stored in BCD, as reported by
Stefan.

Also, double-checked the other frequency descriptors and found
a few issues on them.

Thanks to Stefan for reporting it.

Reported-by: Stefan Ringel <linuxtv@stefanringel.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb/descriptors: Move the parse logic to their functions
Mauro Carvalho Chehab [Wed, 11 Jan 2012 14:57:59 +0000 (12:57 -0200)]
utils/dvb/descriptors: Move the parse logic to their functions

Instead of having there inside the big switch, move them into
their own functions.

This solves a problem when parsing the service name descriptors,
as it increments the buffer internally, causing troubles at the
decoder.

Thanks to Stefan for reporting it.

Reported-by: Stefan Ringel <linuxtv@stefanringel.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb: Don't cause segmentation fault if fe was not found
Mauro Carvalho Chehab [Wed, 11 Jan 2012 14:28:14 +0000 (12:28 -0200)]
utils/dvb: Don't cause segmentation fault if fe was not found

This is a trivial fix: if it can't open the frontend, just
exit, instead of trying to use a NULL pointer ;)

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb: Fix ISDB-T mode parsing
Mauro Carvalho Chehab [Mon, 9 Jan 2012 17:08:52 +0000 (15:08 -0200)]
utils/dvb: Fix ISDB-T mode parsing

The ARIB/ABNT specs for ISDB are not very clear about what modes
correspond to 2k, 4k, 8k, but the DVB specs state that:

ISDB-T supports three carrier/symbol-size: 8K, 4K, 2K.
It is called 'mode' in the standard:
Mode 1 is 2K, mode 2 is 4K, mode 3 is 8K

Other documents also indicate that. In a matter of fact, what
is there is:
Mode 1: 1405 carriers - 2k FFT
Mode 2: 2809 carriers - 4k FFT
Mode 3: 5617 carriers - 8k FFT

PS.: The dib8000 driver seems to have mode 1/mode 3 inverted.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agodvbv5-scan: Fix get_frontend() option parser
Mauro Carvalho Chehab [Mon, 9 Jan 2012 16:15:31 +0000 (14:15 -0200)]
dvbv5-scan: Fix get_frontend() option parser

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb: store scanned values for DVB-T2
Mauro Carvalho Chehab [Mon, 9 Jan 2012 14:03:22 +0000 (12:03 -0200)]
utils/dvb: store scanned values for DVB-T2

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb: Add a parser for DVB-T2 extension descriptor
Mauro Carvalho Chehab [Mon, 9 Jan 2012 13:57:05 +0000 (11:57 -0200)]
utils/dvb: Add a parser for DVB-T2 extension descriptor

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb: Allow filling the scan file with NIT network information
Mauro Carvalho Chehab [Mon, 9 Jan 2012 13:09:54 +0000 (11:09 -0200)]
utils/dvb: Allow filling the scan file with NIT network information

Instead of just keeping the same parameters (generally auto-detection
ones) for each service, allows overriding it with the detected
data at the NIT tables.

Also, add two options at dvbv5-scan to enable this feature, and
to enable calling get_frontend() inside the drivers, from where other
detected stuff may be read.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb: Properly handle ISDB-T partial reception
Mauro Carvalho Chehab [Mon, 9 Jan 2012 11:58:07 +0000 (09:58 -0200)]
utils/dvb: Properly handle ISDB-T partial reception

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb/dvbv5-scan: Avoid segmentation fault if no channels found
Mauro Carvalho Chehab [Mon, 9 Jan 2012 11:48:01 +0000 (09:48 -0200)]
utils/dvb/dvbv5-scan: Avoid segmentation fault if no channels found

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb: Rename pid_table::program_number to service_id
Mauro Carvalho Chehab [Mon, 9 Jan 2012 11:36:43 +0000 (09:36 -0200)]
utils/dvb: Rename pid_table::program_number to service_id

While some specs use program_number, it is actually the
service_id. So, change it, to avoid confusion.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb: Improve ISDB-T headers parsing
Mauro Carvalho Chehab [Mon, 9 Jan 2012 11:30:01 +0000 (09:30 -0200)]
utils/dvb: Improve ISDB-T headers parsing

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb: Add frequency_list_descriptor to the parser
Mauro Carvalho Chehab [Sun, 8 Jan 2012 23:04:50 +0000 (21:04 -0200)]
utils/dvb: Add frequency_list_descriptor to the parser

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb/descriptors.c: add a parser for DVB-T
Mauro Carvalho Chehab [Sun, 8 Jan 2012 22:35:49 +0000 (20:35 -0200)]
utils/dvb/descriptors.c: add a parser for DVB-T

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb/descriptors.c: add a parser for DVB-C Annex A
Mauro Carvalho Chehab [Sun, 8 Jan 2012 15:46:20 +0000 (13:46 -0200)]
utils/dvb/descriptors.c: add a parser for DVB-C Annex A

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb/descriptors.c: Reorganize the descriptors
Mauro Carvalho Chehab [Sun, 8 Jan 2012 15:28:28 +0000 (13:28 -0200)]
utils/dvb/descriptors.c: Reorganize the descriptors

Reorganize the descriptors, in order to be easier for reading.
The currently unused ones were moved to a separate place.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb: Add a descriptor parser for DVB-S/DVB-S2 NIT
Mauro Carvalho Chehab [Sun, 8 Jan 2012 15:19:04 +0000 (13:19 -0200)]
utils/dvb: Add a descriptor parser for DVB-S/DVB-S2 NIT

Add a descriptor parser for DVB-S/DVB-S2, satellite
descriptor, according with EN 300 468 v1.11.1.

Also, move the ISDB-T parser into a separate function, to
better organize the code.

For now, those descriptors are only informational. A latter
patch should use those fields inside dvb-file.c, in order
to fill the proper fields there.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoqv4l2: Do a set_interval after s_fmt
Hans de Goede [Sun, 8 Jan 2012 10:22:02 +0000 (11:22 +0100)]
qv4l2: Do a set_interval after s_fmt

s_fmt resets a device to its default interval, so if a specific
interval has been selected we should so a set_interval after a s_fmt to
make sure we actually get the specified interval.

Also don't enable the drop down if enum_interval returns a non discrete
interval, since we're not populating the drop down then.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
12 years agolibv4l2: Never be lazy on s_fmt
Hans de Goede [Sat, 7 Jan 2012 11:10:18 +0000 (12:10 +0100)]
libv4l2: Never be lazy on s_fmt

Before this patch libv4l2 tries to avoid sending an "unnecessary" s_fmt to
the device. So if an app does a s_fmt with parameters which exactly match
what is already in place libv4l2 used to not send the s_fmt to the device.

This means however that if the device was set to a specific framerate
with a s_parm call, that it will stay at this framerate. Where as
normally a s_fmt resets the device to its default framerate.

This patch ensures that app which do a s_fmt always get the default
framerate by always forwarding the s_fmt to the device.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
12 years agoutils/dvb/README: update it to reflect the last changes
Mauro Carvalho Chehab [Sun, 8 Jan 2012 12:53:02 +0000 (10:53 -0200)]
utils/dvb/README: update it to reflect the last changes

Add an specific documentation for Satellite delivery systems,
and fix bad whitespacing.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb/dvb-file: add support for Satellite parameters
Mauro Carvalho Chehab [Sun, 8 Jan 2012 12:30:14 +0000 (10:30 -0200)]
utils/dvb/dvb-file: add support for Satellite parameters

Store/retrieve satellite parameters: LNB, sat_number and DISEqC
wait time.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb: add a parameter for increasing the DISEqC wait time
Mauro Carvalho Chehab [Sun, 8 Jan 2012 12:15:47 +0000 (10:15 -0200)]
utils/dvb: add a parameter for increasing the DISEqC wait time

By default, it will wait for 15 ms. Using -W allows increasing
this time by the amount of specified milisseconds.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb: add a parameter for setting the satellite number
Mauro Carvalho Chehab [Sun, 8 Jan 2012 12:09:14 +0000 (10:09 -0200)]
utils/dvb: add a parameter for setting the satellite number

This parameter is required, if DISEqC is needed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb/libsat: rewrite the DISEqC logic
Mauro Carvalho Chehab [Sun, 8 Jan 2012 11:57:20 +0000 (09:57 -0200)]
utils/dvb/libsat: rewrite the DISEqC logic

The old logic was broken. Rewrite it, according with Eutelsat
specifications:

http://www.eutelsat.com/satellites/pdf/Diseqc/Reference%20docs/bus_spec.pdf
http://www.eutelsat.com/satellites/pdf/Diseqc/associated%20docs/applic_info_turner-receiver.pdf

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agolibsat: Improve LNBf output messages
Mauro Carvalho Chehab [Sun, 8 Jan 2012 10:02:00 +0000 (08:02 -0200)]
libsat: Improve LNBf output messages

Fix Dual/Single LO output;
Show bandstacking;
On bandstacking, show what LO is used for each band.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years agoutils/dvb/libsat: Add DishPro LNBf
Mauro Carvalho Chehab [Sun, 8 Jan 2012 09:49:44 +0000 (07:49 -0200)]
utils/dvb/libsat: Add DishPro LNBf

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>