aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.hg_archival.txt4
-rw-r--r--Makefile6
-rw-r--r--debian/changelog587
-rw-r--r--debian/compat1
-rw-r--r--debian/control56
-rw-r--r--debian/copyright91
-rw-r--r--debian/dvb-apps.examples5
-rw-r--r--debian/dvb-apps.lintian-overrides6
-rw-r--r--debian/dvb-apps.postinst13
-rw-r--r--debian/hauppauge2.rc541
-rw-r--r--debian/lsdvb.19
-rw-r--r--debian/manpages1
-rwxr-xr-xdebian/patches/01_README.scan.dpatch28
-rw-r--r--debian/patches/02_dtv-scan-tables.patch28
-rwxr-xr-xdebian/patches/09_x_zap_flush_stdout.dpatch36
-rwxr-xr-xdebian/patches/15_stdint_include.dpatch41
-rw-r--r--debian/patches/alevt.patch173
-rw-r--r--debian/patches/apps_manpages.patch889
-rw-r--r--debian/patches/dbug606728.diff12
-rw-r--r--debian/patches/series8
-rw-r--r--debian/patches/use-ldflags.patch50
-rwxr-xr-xdebian/rules12
-rw-r--r--debian/source/format1
-rw-r--r--debian/watch5
-rw-r--r--lib/libucsi/dvb/mosaic_descriptor.h3
-rw-r--r--test/libesg/testesg.c2
-rw-r--r--test/libucsi/testucsi.c3
-rw-r--r--test/lock_s.c4
-rw-r--r--test/test_av_play.c18
-rw-r--r--test/test_video.c14
-rw-r--r--util/lsdvb/lsdvb.c2
-rw-r--r--util/scan/Makefile2
-rw-r--r--util/scan/dvb-c/fi-sonera11
-rw-r--r--util/scan/dvb-c/nl-UPC7
-rw-r--r--util/scan/dvb-c/nl-Ziggo-Zwolle26
-rw-r--r--util/scan/dvb-h/README3
-rw-r--r--util/scan/dvb-h/fi-Helsinki2
-rw-r--r--util/scan/dvb-h/fi-Oulu2
-rw-r--r--util/scan/dvb-h/fi-Oulu-Nokia-devel4
-rw-r--r--util/scan/dvb-h/fi-Turku2
-rw-r--r--util/scan/dvb-s/AMC16-85.0W (renamed from util/scan/dvb-s/AMC2-85w)0
-rw-r--r--util/scan/dvb-s/AMC9-83.0W (renamed from util/scan/dvb-s/AMC9-83w)0
-rw-r--r--util/scan/dvb-s/BrasilsatB4-84.0W (renamed from util/scan/dvb-s/BrasilSat-B3-84.0W)0
-rw-r--r--util/scan/dvb-s/ChinaSat5A-87.5E (renamed from util/scan/dvb-s/Chinastar1_C-87.5E)0
-rw-r--r--util/scan/dvb-s/Eutelsat9-9.0E (renamed from util/scan/dvb-s/Eurobird9-9.0E)0
-rw-r--r--util/scan/dvb-s/Galaxy17-91.0W (renamed from util/scan/dvb-s/Galaxy11-91w)3
-rw-r--r--util/scan/dvb-s/Galaxy19-97.0W (renamed from util/scan/dvb-s/IA5-97w)6
-rw-r--r--util/scan/dvb-s/Galaxy25-93.0W (renamed from util/scan/dvb-s/IA6-93w)8
-rw-r--r--util/scan/dvb-s/Galaxy25-97w19
-rw-r--r--util/scan/dvb-s/Galaxy26-93w58
-rw-r--r--util/scan/dvb-s/Galaxy28-89.0W (renamed from util/scan/dvb-s/Galaxy28-89w)7
-rw-r--r--util/scan/dvb-s/Galaxy3C-95.0W (renamed from util/scan/dvb-s/Galaxy3C-95w)1
-rw-r--r--util/scan/dvb-s/IA8-89w34
-rw-r--r--util/scan/dvb-s/SES2-87.0W (renamed from util/scan/dvb-s/AMC3-87w)0
-rw-r--r--util/scan/dvb-t/ar-Argentina63
-rw-r--r--util/scan/dvb-t/auto-Italy72
-rw-r--r--util/scan/dvb-t/br-Brazil63
-rw-r--r--util/scan/dvb-t/cz-All41
-rw-r--r--util/scan/dvb-t/de-Baden-Wuerttemberg2
-rw-r--r--util/scan/dvb-t/de-Bayern2
-rw-r--r--util/scan/dvb-t/de-Berlin4
-rw-r--r--util/scan/dvb-t/de-Bremen4
-rw-r--r--util/scan/dvb-t/de-Hamburg4
-rw-r--r--util/scan/dvb-t/de-Hessen20
-rw-r--r--util/scan/dvb-t/de-Niedersachsen10
-rw-r--r--util/scan/dvb-t/de-Nordrhein-Westfalen10
-rw-r--r--util/scan/dvb-t/de-Rheinland-Pfalz1
-rw-r--r--util/scan/dvb-t/de-Saarland2
-rw-r--r--util/scan/dvb-t/de-Sachsen2
-rw-r--r--util/scan/dvb-t/de-Sachsen-Anhalt2
-rw-r--r--util/scan/dvb-t/de-Schleswig-Holstein4
-rw-r--r--util/scan/dvb-t/es-Huesca21
-rw-r--r--util/scan/dvb-t/fi-Espoo1
-rw-r--r--util/scan/dvb-t/fi-Eurajoki1
-rw-r--r--util/scan/dvb-t/fi-Jyvaskyla1
-rw-r--r--util/scan/dvb-t/fi-Lahti1
-rw-r--r--util/scan/dvb-t/fi-Lohja4
-rw-r--r--util/scan/dvb-t/fi-Oulu1
-rw-r--r--util/scan/dvb-t/fi-Tampere1
-rw-r--r--util/scan/dvb-t/fi-Turku1
-rw-r--r--util/scan/dvb-t/hu-Bekescsaba24
-rw-r--r--util/scan/dvb-t/hu-Budapest24
-rw-r--r--util/scan/dvb-t/hu-Csavoly-Kiskoros22
-rw-r--r--util/scan/dvb-t/hu-Debrecen-Komadi21
-rw-r--r--util/scan/dvb-t/hu-Fehergyarmat21
-rw-r--r--util/scan/dvb-t/hu-Gerecse17
-rw-r--r--util/scan/dvb-t/hu-Gerecse-Dorog-Tatabanya21
-rw-r--r--util/scan/dvb-t/hu-Gyor21
-rw-r--r--util/scan/dvb-t/hu-Gyor-Tatabanya17
-rw-r--r--util/scan/dvb-t/hu-Kabhegy-Kaposvar-Tamasi21
-rw-r--r--util/scan/dvb-t/hu-Kabhegy-Mor-Siofok17
-rw-r--r--util/scan/dvb-t/hu-Karancs-Nagy-Hideg-hegy-Balassagyarmat-Godollo-Salgotarjan-Vac21
-rw-r--r--util/scan/dvb-t/hu-Karcag22
-rw-r--r--util/scan/dvb-t/hu-Kecskemet21
-rw-r--r--util/scan/dvb-t/hu-Kekes-Cegled-Eger-Miskolctapolca-Ozd21
-rw-r--r--util/scan/dvb-t/hu-Kekes-Ozd17
-rw-r--r--util/scan/dvb-t/hu-Kiskoros17
-rw-r--r--util/scan/dvb-t/hu-Komadi-Debrecen17
-rw-r--r--util/scan/dvb-t/hu-Miskolc-Aggtelek-Fony21
-rw-r--r--util/scan/dvb-t/hu-Mor-Siofok-Veszprem-Zirc21
-rw-r--r--util/scan/dvb-t/hu-Nagykanizsa-Barcs-Keszthely21
-rw-r--r--util/scan/dvb-t/hu-Nagykanizsa-Kaposvar17
-rw-r--r--util/scan/dvb-t/hu-Nyiregyhaza-Tokaj-Kazincbarcika-Saly-Satoraljaujhely21
-rw-r--r--util/scan/dvb-t/hu-Pecs-Siklos21
-rw-r--r--util/scan/dvb-t/hu-Pecs-Uzd17
-rw-r--r--util/scan/dvb-t/hu-Salgotarjan17
-rw-r--r--util/scan/dvb-t/hu-Sopron17
-rw-r--r--util/scan/dvb-t/hu-Sopron-Koszeg21
-rw-r--r--util/scan/dvb-t/hu-Szeged21
-rw-r--r--util/scan/dvb-t/hu-Szekesfehervar21
-rw-r--r--util/scan/dvb-t/hu-Szentes-Battonya21
-rw-r--r--util/scan/dvb-t/hu-Szentes-Szeged17
-rw-r--r--util/scan/dvb-t/hu-Szolnok21
-rw-r--r--util/scan/dvb-t/hu-Szombathely-Vasvar-Lenti-Zalaegerszeg21
-rw-r--r--util/scan/dvb-t/hu-Tokaj-Kazincbarcika17
-rw-r--r--util/scan/dvb-t/hu-Uzd-Bonyhad-Dunaujvaros-Szekszard-Szigetvar21
-rw-r--r--util/scan/dvb-t/hu-Vasvar17
-rw-r--r--util/scan/dvb-t/ie-CairnHill5
-rw-r--r--util/scan/dvb-t/ie-ClermontCarn5
-rw-r--r--util/scan/dvb-t/ie-Dungarvan5
-rw-r--r--util/scan/dvb-t/ie-HolywellHill5
-rw-r--r--util/scan/dvb-t/ie-Kippure5
-rw-r--r--util/scan/dvb-t/ie-Maghera5
-rw-r--r--util/scan/dvb-t/ie-MountLeinster5
-rw-r--r--util/scan/dvb-t/ie-Mullaghanish5
-rw-r--r--util/scan/dvb-t/ie-SpurHill5
-rw-r--r--util/scan/dvb-t/ie-ThreeRock5
-rw-r--r--util/scan/dvb-t/ie-Truskmore5
-rw-r--r--util/scan/dvb-t/ie-WoodcockHill5
-rw-r--r--util/scan/dvb-t/it-All135
-rw-r--r--util/scan/dvb-t/it-Aosta21
-rw-r--r--util/scan/dvb-t/it-Bari18
-rw-r--r--util/scan/dvb-t/it-Bologna28
-rw-r--r--util/scan/dvb-t/it-Bolzano5
-rw-r--r--util/scan/dvb-t/it-Cagliari23
-rw-r--r--util/scan/dvb-t/it-Caivano17
-rw-r--r--util/scan/dvb-t/it-Catania27
-rw-r--r--util/scan/dvb-t/it-Conero8
-rw-r--r--util/scan/dvb-t/it-Firenze20
-rw-r--r--util/scan/dvb-t/it-Genova12
-rw-r--r--util/scan/dvb-t/it-Livorno15
-rw-r--r--util/scan/dvb-t/it-Milano49
-rw-r--r--util/scan/dvb-t/it-Modena50
-rw-r--r--util/scan/dvb-t/it-Montevergine18
-rw-r--r--util/scan/dvb-t/it-Pagnacco27
-rw-r--r--util/scan/dvb-t/it-Palermo23
-rw-r--r--util/scan/dvb-t/it-Pescara15
-rw-r--r--util/scan/dvb-t/it-Pisa18
-rw-r--r--util/scan/dvb-t/it-Roma16
-rw-r--r--util/scan/dvb-t/it-S-Stefano_al_mare19
-rw-r--r--util/scan/dvb-t/it-Sassari33
-rw-r--r--util/scan/dvb-t/it-Torino13
-rw-r--r--util/scan/dvb-t/it-Trieste23
-rw-r--r--util/scan/dvb-t/it-Varese16
-rw-r--r--util/scan/dvb-t/it-Venezia19
-rw-r--r--util/scan/dvb-t/it-Verona19
-rw-r--r--util/scan/dvb-t/pl-Gdansk4
-rw-r--r--util/scan/dvb-t/pl-Krakow17
-rw-r--r--util/scan/dvb-t/sk-Bratislava7
-rw-r--r--util/scan/dvb-t/uk-CrystalPalace27
-rw-r--r--util/scan/dvb-t/uk-EmleyMoor13
-rw-r--r--util/scan/dvb-t/uk-Tacolneston26
-rw-r--r--util/scan/scan.c42
-rw-r--r--util/szap/Makefile7
-rw-r--r--util/szap/azap.c100
-rw-r--r--util/szap/czap.c49
-rw-r--r--util/szap/lnb.c11
-rw-r--r--util/szap/lnb.h6
-rw-r--r--util/szap/szap.c952
-rw-r--r--util/szap/tzap.c254
-rw-r--r--util/szap/util.c381
-rw-r--r--util/szap/util.h4
172 files changed, 4127 insertions, 1935 deletions
diff --git a/.hg_archival.txt b/.hg_archival.txt
index 153c681..b6e1ea9 100644
--- a/.hg_archival.txt
+++ b/.hg_archival.txt
@@ -1,5 +1,5 @@
repo: d9fe7e17226f8e321aa80a015fc8d53f33b265d7
-node: bec11f78be51183f251c9942fda31f1380396b61
+node: 3ee111da5b3a36b9f696a421064e0563d365d5c2
branch: default
latesttag: null
-latesttagdistance: 1458
+latesttagdistance: 1501
diff --git a/Makefile b/Makefile
index 0ca84b0..65a2273 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,11 @@
# Makefile for linuxtv.org dvb-apps
+# get DVB API version
+VERSION_FILE := "/usr/include/linux/dvb/version.h"
+
+DVB_API_MAJOR := $(word 3, $(shell grep -m1 "DVB_API_VERSION" $(VERSION_FILE)) )
+DVB_API_MINOR := $(word 3, $(shell grep -m1 "DVB_API_VERSION_MINOR" $(VERSION_FILE)) )
+
.PHONY: all clean install update
all clean install:
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..3cf1582
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,587 @@
+linuxtv-dvb-apps (1.1.1+rev1500-2) UNRELEASED; urgency=low
+
+ * d/patches/: Drop uk-CrystalPalace.diff; superseded by
+ dtv-scan-tables_0+git20130920.f61d5ec-1
+ * d/: Drop dvb-apps.bug-presubj; scan table bug reports should be reported
+ against dtv-scan-tables package instead
+ * d/watch: linuxtv-dvb-apps has been moved into the legacy section of the
+ linuxtv.org downloads page; update watch file accordingly
+
+ -- Jonathan McCrohan <jmccrohan@gmail.com> Wed, 25 Sep 2013 01:47:09 +0100
+
+linuxtv-dvb-apps (1.1.1+rev1500-1) unstable; urgency=low
+
+ [ Jonathan McCrohan ]
+ * New upstream release
+ * d/control: Add myself to Uploaders
+ * d/control: Drop obsolete DM-Upload-Allowed
+ * d/control: Update Vcs tags to reflect move SVN to Git (Closes: #702868)
+ * d/patches/: Add 02_dtv-scan-tables.patch to remove scan tables from
+ dvb-apps package (Closes: #722661)
+ * d/control: Add depends on dtv-scan-tables which now provides the initial
+ scan files previously provided by dvb-apps
+
+ [ Tobias Grimm ]
+ * d/control: Build-depend on linux-libc-dev (>= 3.3) because the DVB API 5.5
+ is required
+ * d/control: Standards-Version: 3.9.4
+ * Use debhelper 9 to make the hardening options from dpkg-buildflags being
+ used
+ * Add a manpage for lsdvb
+
+ -- Tobias Grimm <etobi@debian.org> Sun, 22 Sep 2013 21:43:41 +0200
+
+linuxtv-dvb-apps (1.1.1+rev1483-2) unstable; urgency=low
+
+ * Conflict with nmh << 1.5-release-2 only, nmh changed the conflicting
+ manpage in newer versions (Closes: #694944)
+
+ -- Tobias Grimm <etobi@debian.org> Wed, 02 Jan 2013 23:15:24 +0100
+
+linuxtv-dvb-apps (1.1.1+rev1483-1) unstable; urgency=low
+
+ * New upstream release
+ - Fixes "updated DVB-T frequencies for Italy" (Closes: #613097)
+ * Fix "dvbscan: Infinite loop parsing arguments"
+ - patch from Vincent Pelletier (Closes: #606728)
+ * Added uk-CrystalPalace.diff
+ - Fixes "Channel/frequency/etc. updating for London" (Closes: #669715)
+
+ -- Mark Purcell <msp@debian.org> Sun, 13 May 2012 19:42:13 +1000
+
+linuxtv-dvb-apps (1.1.1+rev1457-4) unstable; urgency=low
+
+ * Add Conflicts: Provides: alevt (Closes: #654818)
+ - Fixes "alevt and dvb-apps: error when trying to install together"
+ * Add Conflicts: nmh (Closes: #654810)
+ - Fixes "dvb-apps and nmh: error when trying to install together"
+
+ -- Mark Purcell <msp@debian.org> Mon, 27 Feb 2012 21:13:21 +1100
+
+linuxtv-dvb-apps (1.1.1+rev1457-3) unstable; urgency=low
+
+ * Build-depend on libx11-dev (Closes: #655778)
+ * Build-depend on libzvbi-dev
+ * Standards-Version: 3.9.2
+
+ -- Tobias Grimm <etobi@debian.org> Sun, 15 Jan 2012 11:11:50 +0100
+
+linuxtv-dvb-apps (1.1.1+rev1457-2) unstable; urgency=low
+
+ * Fixed upstream "be-Schoten and be-Antwerp run on 506MHz" (Closes: #566336)
+ * Add apps_manpages.patch - Thanks Uwe (Closes: #312570)
+ * Added & refresh alevt.patch - Thks Uwe
+ * Add Build-Depends: libzvbi-dev
+
+ -- Mark Purcell <msp@debian.org> Thu, 05 Jan 2012 22:39:17 +1100
+
+linuxtv-dvb-apps (1.1.1+rev1457-1) unstable; urgency=low
+
+ * New upstream release
+ - Fixes "dvb-apps: missing channel for es-Sevilla" (Closes: #569077)
+ - Fixes "Missing muxes" (Closes: #540660)
+ - Fixes "fr-Nantes should have offset of 167000" (Closes: #564204)
+ * "Typo in the synopsis" amended (Closes: #651812)
+ * Switch to dh - build-depends-on-obsolete-package
+ * Drop obsolete Uploaders
+ * Drop me-tv obsolete Conflicts
+ * source/format 3.0 (quilt) - patch-system-but-no-source-readme build-
+ depends-on-obsolete-package
+ * Minor update Description
+ * ACK NMU - Thks Simon
+ * bug-presubj - redirect frequency updates upstream
+
+ -- Mark Purcell <msp@debian.org> Thu, 05 Jan 2012 18:02:19 +1100
+
+linuxtv-dvb-apps (1.1.1+rev1355-1.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Fix FTBFS: linux/videodev.h: Remove legacy V4L1 test app as per upstream
+ hg changeset 1424. (Closes: #621964) (LP: #756224) Thanks Daniel T Chen.
+
+ -- Simon Paillard <spaillard@debian.org> Sat, 10 Dec 2011 10:50:26 +0100
+
+linuxtv-dvb-apps (1.1.1+rev1355-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Mark Purcell <msp@debian.org> Thu, 25 Feb 2010 21:13:46 +1100
+
+linuxtv-dvb-apps (1.1.1+rev1273-1) unstable; urgency=low
+
+ * New upstream release
+ - (Closes: #526708): "de-Nuernberg out of date"
+ * Drop obsolete dvb-utils (etch dummy package only)
+ * Update debian/watch - with pointer to Hg version
+
+ -- Mark Purcell <msp@debian.org> Sun, 03 May 2009 20:16:46 +1000
+
+linuxtv-dvb-apps (1.1.1+rev1207-5) unstable; urgency=low
+
+ [ Stephane Glondu ]
+ * Add a patch to explicitly include <stdint.h> and system headers
+ first to fix FTBFS (Closes: #525580)
+ * Move to new section `video'
+ * Add myself to Uploaders and DM-Upload-Allowed
+ * Remove versioned dependencies available in oldstable, add
+ ${misc:Depends} as complained by Lintian
+
+ [ Tobias Grimm ]
+ * Increased standards version to 3.8.1
+ * Fixed license references in debian/coypright
+
+ -- Tobias Grimm <etobi@debian.org> Fri, 01 May 2009 23:00:37 +0200
+
+linuxtv-dvb-apps (1.1.1+rev1207-4) unstable; urgency=low
+
+ * Switch postinst to check for /dev/MAKEDEV
+ - /var/lib/dpkg/info/dvb-apps.postinst: line 6: /sbin/MAKEDEV: No such
+ file or directory (Closes: #502831)
+
+ -- Mark Purcell <msp@debian.org> Wed, 22 Oct 2008 22:05:02 +1100
+
+linuxtv-dvb-apps (1.1.1+rev1207-3) unstable; urgency=medium
+
+ [ Tobias Grimm ]
+ * Conflict with libxbase2.0-bin, libxdb-dev because of `/usr/bin/zap' which is
+ also in those packages (Closes: #492141)
+ * Added Tobias Grimm <tg@e-tobi.net> to uploaders
+ * Urgency medium for RC bug
+
+ [ Mark Purcell ]
+ * dvb-utils Decsription: mention etch to lenny transitions
+ * Conflicts: me-tv (<< 0.5.33-2)
+ - must conflict against me-tv (<< 0.5.33-2) (Closes: #496557)
+
+ -- Mark Purcell <msp@debian.org> Fri, 05 Sep 2008 19:49:21 +1000
+
+linuxtv-dvb-apps (1.1.1+rev1207-2) unstable; urgency=low
+
+ * Urgency medium for RC bug
+ * Package: dvb-utils - Tranistional dummy package
+ - No transitional package for dvb-utils (Closes: #494012)
+
+ -- Mark Purcell <msp@debian.org> Sun, 22 Jun 2008 16:32:39 +1000
+
+linuxtv-dvb-apps (1.1.1+rev1207-1) unstable; urgency=low
+
+ [ Mark Purcell ]
+ * New upstream mercurial (Hg) release
+ - NEW Package: dvb-apps to match upstream name
+ - Replaces:/ Conflicts: dvb-utils
+ * Fixed Upstream:
+ - fr-Paris should have an added offset of 167000 for each value
+ (Closes: #478020)
+ - scan fails on Eurobird 28.5E (Sky UK) (Closes: #415264)
+ - /usr/share/doc/dvb-utils/examples/scan/dvb-t/au-Sydney_North_Shore
+ out of date (Closes: #471829)
+ - new file /usr/share/doc/dvb-utils/examples/scan/dvb-t/de-Leipzig
+ (Closes: #441984)
+ - Example file for dvb-t/de-Koeln-Bonn out of date (Closes: #485449)
+ - Is the zap util the latest version? (Closes: #408246)
+ - /usr/share/doc/dvb-utils/examples/scan/dvb-t/de-Frankfurt out of
+ date (Closes: #471210)
+ - please ship example DVB-T file for de-Dresden (Closes: #473145)
+ - contains /usr/bin/evtest which is also in lineakd (Closes: #438696)
+ - LP: #90752, #180332, #191233
+ * Patches included upstream:
+ - 02_av7110_loadkeys-BTN.dpatch 03_budget_ci_loadkeys.dpatch
+ - 05_scanfiles_not_in_cvs_yet.dpatch 06_scan_uk-heathfield-fix.dpatch
+ - 04_scanfiles_from_cvs.dpatch
+ * Refresh: 01_README.scan.dpatch 09_x_zap_flush_stdout.dpatch
+ * debian/rules: Switch to /usr/share/cdbs/1/class/makefile.mk
+ * Update debian/copyright
+ * debian/control update Description:
+ * Install various READMEs
+ * Install test/ under doc/dvb-apps/examples
+
+ [ Thomas Schmidt ]
+ * Switched Build-System to cdbs, Build-Depend on cdbs
+ * Added Homepage, Vcs-Svn and Vcs-Browser fields to debian/control
+ * Bumped Standards-Version to 3.7.3
+ * Do not ignore errors of "make clean"
+
+ -- Mark Purcell <msp@debian.org> Sun, 22 Jun 2008 11:00:40 +1000
+
+linuxtv-dvb-apps (1.1.1-3) unstable; urgency=low
+
+ [ Mark Purcell ]
+ * Update scan files from 20070804
+ - initial-tuning-data files duplication between dvb-utils & kaffeine
+ (Closes: #419566)
+ * Add myself to uploaders
+ * Add debian/compat: lintian debian-rules-sets-DH_COMPAT
+
+ -- Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org> Mon, 06 Aug 2007 21:41:18 +0100
+
+linuxtv-dvb-apps (1.1.1-2) unstable; urgency=low
+
+ * Added 06_scan_uk-heathfield-fix.dpatch to fix the uk-Heathfiels scanfile
+ as reported in Ubuntu bug #55789
+ * Bumped Standards-Version to 3.7.2
+
+ -- Thomas Schmidt <tschmidt@debian.org> Mon, 28 Aug 2006 23:24:20 +0200
+
+linuxtv-dvb-apps (1.1.1-1) unstable; urgency=low
+
+ * Thomas Schmidt <tschmidt@debian.org>
+ - New upstream release, supports ATSC now (closes: #345413, #368763)
+ + Removed 06_freeview_channel_numbers.dpatch
+ + Removed 07_vdr_output.dpatch
+ + Removed 08_debug_minor_fixes.dpatch
+
+ -- Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org> Sat, 3 Jun 2006 13:12:54 +0200
+
+linuxtv-dvb-apps (1.1.0-11) unstable; urgency=low
+
+ * Thomas Schmidt <tschmidt@debian.org>
+ - Added 09_x_zap_flush_stdout.dpatch - make [stc]zap flush stdout
+ after writing status line (closes: #357126)
+ - Fixed spelling mistake in package description (closes: #363364)
+ - Fixed debian/watch
+
+ -- Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org> Sat, 29 Apr 2006 21:42:54 +0200
+
+linuxtv-dvb-apps (1.1.0-10) unstable; urgency=low
+
+ * Thomas Schmidt <tschmidt@debian.org>
+ - Depend on makedev | udev
+
+ -- Thomas Schmidt <tschmidt@debian.org> Thu, 29 Dec 2005 14:33:17 +0100
+
+linuxtv-dvb-apps (1.1.0-9) unstable; urgency=low
+
+ * Thomas Schmidt <tschmidt@debian.org>
+ - Added 05_scanfiles_not_in_cvs_yet.dpatch, containing:
+ + de-Schwerin from Michael Meyer <mimesn@web.de>
+ + de-Rostock from Oliver Beyer <musketaquid@web.de>
+
+ -- Thomas Schmidt <tschmidt@debian.org> Thu, 15 Dec 2005 13:26:37 +0100
+
+linuxtv-dvb-apps (1.1.0-8) unstable; urgency=low
+
+ * Darren Salt <linux@youmustbejoking.demon.co.uk>:
+ - New patch 06_freeview_channel_numbers:
+ + fix Freeview channel number extraction (was losing the top two bits).
+ - New patch 07_vdr_output:
+ + correct format - output "channel;provider", not "provider - channel";
+ + output audio language information (assume that the AC3 PID is in the
+ same language as the first 'plain' audio channel);
+ + ensure that the transport stream ID is set for every service (else
+ there may be an apparent lack of EPG data for some channels).
+ - New patch 08_debug_minor_fixes:
+ + remove duplicate "0x".
+ - Modified patch 03_budget_ci_loadkeys, removing *.orig.
+ * Thomas Schmidt <tschmidt@debian.org>
+ - Updated scan files from linuxtv.org cvs (20051210)
+ - Bumped Standards-Version to 3.6.2.1
+
+ -- Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org> Sun, 11 Dec 2005 13:37:12 +0100
+
+linuxtv-dvb-apps (1.1.0-7) unstable; urgency=low
+
+ * Thomas Schmidt <tschmidt@debian.org>
+ - Updated scan files from linuxtv.org cvs
+ - Added de-Hamburg scan file from Stephan Poehlsen
+ (closes: #303183)
+
+ -- Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org> Wed, 9 Mar 2005 21:09:49 +0100
+
+linuxtv-dvb-apps (1.1.0-6) unstable; urgency=low
+
+ * Thomas Schmidt <tschmidt@debian.org>
+ - Added dvbnet and dvbtraffic bins to dvb-utils (closes: #298707)
+ - Changed debian/watch and all other references to the new
+ download-directory on www.linuxtv.org
+ - Removed Andreas Müller from uploaders - he does not intend
+ to do uploads anymore
+
+ -- Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org> Wed, 23 Feb 2005 12:09:16 +0100
+
+linuxtv-dvb-apps (1.1.0-5) unstable; urgency=low
+
+ * The "This is my first upload." release
+ * Thomas Schmidt <tschmidt@debian.org>
+ - Added the new frequency-definitions for the scan-utility from
+ the cvs-repository to dvb-utils (closes: #294325)
+ - Changed my email-address to new debian one
+
+ -- Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org> Wed, 9 Feb 2005 11:38:10 +0100
+
+linuxtv-dvb-apps (1.1.0-4) unstable; urgency=low
+
+ * Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de>
+ - Build-depend on dpatch (>= 2.0.9) to fix FTBFS on sparc,
+ caused by the new dpatch-file-format
+ - Applied patch from Darren Salt <linux@youmustbejoking.demon.co.uk>
+ to add budget_ci_loadkeys-utility (closes: #276082)
+
+ -- Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org> Sat, 16 Oct 2004 10:01:14 +0200
+
+linuxtv-dvb-apps (1.1.0-3) unstable; urgency=low
+
+ * Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de>
+ - Applied patch from Darren Salt <linux@youmustbejoking.demon.co.uk>
+ to allow key names that begin with BTN_* in av7110_loadkeys
+ (closes: #273733)
+
+ -- Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org> Tue, 28 Sep 2004 15:50:41 +0200
+
+linuxtv-dvb-apps (1.1.0-2) unstable; urgency=low
+
+ * Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de>
+ + New upstream version (closes: Bug#242701)
+ + Cleanup of complete debian-directory
+ + Use dh_install
+ + Include README for szap (closes: Bug#254518)
+ + Include hauppauge2.rc5 for Hauppauge Nexus-S 2.2 from
+ Uwe Maier <uwe.maier@hp.com>
+ + Changed Maintainer to Debian VDR Team
+ <pkg-vdr-dvb-devel@lists.alioth.debian.org>
+ + Cleaned up Build-Deps
+
+ -- Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org> Fri, 30 Jul 2004 14:09:15 +0200
+
+linuxtv-dvb-apps (1.1.0-1) experimental; urgency=low
+
+ * Thomas Schmidt:
+ + Split apps from linuxtv-dvb-package, because upstream did this too
+ + Create DVB-Devices in dvb-utils, as suggested by Mark Purcell
+ + Added correct watch-file
+
+ -- Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de> Sun, 7 Mar 2004 15:08:27 +0100
+
+linuxtv-dvb (1.0.1-7) unstable; urgency=low
+
+ * Make dvb-dev a dummy package - move the dvb-api-documentation to
+ dvb-utils (closes: Bug#226985)
+ * Include the datafiles for scan under /usr/share/doc/examples/scan/
+ and changed README.scan accordingly. (closes: Bug#225596)
+ * Do not package as debian-native-package anymore (closes: Bug#223855)
+
+ -- Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de> Sun, 11 Jan 2004 11:37:42 +0100
+
+linuxtv-dvb (1.0.1-6) unstable; urgency=low
+
+ * Change dvb-dev to depend only on linux-kernel-headers
+ * Remove header-files from dvb-dev, because they are included in
+ linux-kernel-headers (closes: Bug#214502)
+
+ -- Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de> Fri, 31 Oct 2003 12:09:04 +0100
+
+linuxtv-dvb (1.0.1-5) unstable; urgency=low
+
+ * Add linux-kernel-headers as alternative depend to dvb-dev to the
+ dvb-driver-source package
+
+ -- Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de> Fri, 31 Oct 2003 00:28:45 +0100
+
+linuxtv-dvb (1.0.1-4) unstable; urgency=low
+
+ * changed build-system to dpatch
+ * corrected build-depends, as suggested by Santiago Vila
+ (closes: Bug#217531)
+
+ -- Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de> Sun, 19 Oct 2003 00:19:30 +0200
+
+linuxtv-dvb (1.0.1-3) unstable; urgency=low
+
+ * cleaned up debian/rules a little bit
+ * changed "Source: dvb" to "Source: linuxtv-dvb" in control.template of the
+ dvb-driver-source
+ * changed symbolic link "linux" in the dvb-driver-source-package to
+ /usr/include and rename it to "include" (closes: Bug#216192)
+ * changed section of dvb-dev to devel
+
+ -- Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de> Fri, 17 Oct 2003 12:32:51 +0200
+
+linuxtv-dvb (1.0.1-2) unstable; urgency=low
+
+ * added Thomas as a co maintainer
+
+ -- Andreas Mueller <amu@tr.debian.net> Sun, 12 Oct 2003 16:50:12 +0200
+
+linuxtv-dvb (1.0.1-1) unstable; urgency=low
+
+ * New upstream version
+ * renamed source from dvb to upstream's linuxtv-dvb
+ * removed em8300.h since driver isnt supported :)
+ (closes: Bug#211933)
+
+ -- Andreas Mueller <amu@tr.debian.net> Mon, 29 Sep 2003 14:36:56 +0200
+
+dvb (1.0.0-3) unstable; urgency=low
+
+ * dvb-dev: trying to overwrite `/usr/include/linux/em8300.h', which
+ is also in package em8300-headers see bug: #211883. Added a
+ Conflicts. Notified upstream.
+ * finally close: bug #211933 added kernel-sources as a dependence
+ (closes: Bug#211933)
+
+ -- Andreas Mueller <amu@tr.debian.net> Fri, 26 Sep 2003 21:38:44 +0200
+
+dvb (1.0.0-2) unstable; urgency=low
+
+ * Moved to Standarts-Version: 3.6.1
+ * close: bug #211933
+ Added missing build dep kernel-headers for
+ dvb-driver-source
+ * testing now with precompiled modules
+
+ -- Andreas Mueller <amu@tr.debian.net> Sun, 21 Sep 2003 12:07:02 +0200
+
+dvb (1.0.0-1) unstable; urgency=low
+
+ * Updated to 1.0.0 release
+ * fixed the dvb-driver-source package
+ * close bug #186207
+ (closes: Bug#186207)
+ * close bug #172173
+ (closes: Bug#172173)
+ * close bug #166818
+ (closes: Bug#166818)
+ * close bug #166829
+ (closes: Bug#166829)
+ * close bug #199845
+ (closes: Bug#199845)
+
+ -- Andreas Mueller <amu@tr.debian.net> Tue, 9 Sep 2003 12:00:00 +0200
+
+dvb (0.9.4.20020803-6.1) unstable; urgency=low
+
+ * NMU (sponsored by Joey Hess)
+ * debian/patches/02_strstream-gcc3.3-fix_diff:
+ - Change all references to 'strstream.h' to 'strstream', so the package
+ can be successfully built with GCC 3.3, closes: #198286.
+
+ -- Tore Anderson <tore@linpro.no> Sun, 13 Jul 2003 20:05:32 +0200
+
+dvb (0.9.4.20020803-6) unstable; urgency=low
+
+ * close bug 157436
+ (closes: Bug#157436)
+ * set architecture to "any"
+ (closes: Bug#148272)
+ * Added autoconf2.13 as build-dep and modified autogen.sh to run
+ autoconf2.13. Added a patch file 01_auto_sh_diff for this.
+ thanks to Francesco
+ (closes: #157198)
+
+ -- Andreas Mueller <amu@tr.debian.net> Sat, 15 Mar 2003 21:22:00 +0100
+
+dvb (0.9.4.20020803-5) unstable; urgency=low
+
+ * some cosmetic changes
+
+ -- Andreas Mueller <amu@tr.debian.net> Sat, 4 Jan 2003 16:27:00 +0100
+
+
+dvb (0.9.4.20020803-4) unstable; urgency=low
+
+ * took package from Eduard/QA
+ (closes: Bug#117995)
+
+ -- Andreas Mueller <amu@tr.debian.net> Sat, 4 Jan 2003 16:27:00 +0100
+
+dvb (0.9.4.20020803-3) unstable; urgency=low
+
+ * Too bad, my own scripts reverted the changes in control. Now fixes
+ Build-Dependencies and Arch, thanks to Lamont, closes: #155364
+ * separated Debian changes from CVS snapshot, now patching like with DBS
+
+ -- Eduard Bloch <blade@debian.org> Sun, 4 Aug 2002 11:26:12 +0200
+
+dvb (0.9.4.20020803-2) unstable; urgency=low
+
+ * Arch: all, now really :(
+
+ -- Eduard Bloch <blade@debian.org> Sat, 3 Aug 2002 12:00:46 +0200
+
+dvb (0.9.4.20020803-1) unstable; urgency=low
+
+ * Updated CVS snapshot
+ * Fixed devfsd integration, thanks to Kay Sievers <kay@vrfy.org>
+ * Removed KDREV dependency, -DMODVERSIONS fixed this
+
+ -- Eduard Bloch <blade@debian.org> Sat, 3 Aug 2002 10:03:36 +0200
+
+dvb (0.9.4.20020709-1) unstable; urgency=low
+
+ * Updated CVS snapshot, works with 2.4.19-rc1
+ * Better dependency on automake, closes: #151685
+ * Defined MODVERSIONS, closes: #145006
+ * Devfs optimisations, closes: #133755. Symlinks may need some improvement,
+ cannot test yet.
+ * Changed misleading debconf message
+ * Arch: all, let's see how far this go.
+
+ -- Eduard Bloch <blade@debian.org> Tue, 9 Jul 2002 22:45:52 +0200
+
+dvb (0.9.4.20020321-1) unstable; urgency=low
+
+ * Updated CVS snapshot
+ * creating missing symlinks in mpegtools
+
+ -- Eduard Bloch <blade@debian.org> Wed, 20 Mar 2002 17:31:48 +0100
+
+dvb (0.9.4.20020308-1) unstable; urgency=medium
+
+ * New CVS snapshot, follows new main release
+ * Setting exact kernel version dependency, and Firmware files are installed
+ with the particular modules package. I am fed up with unresolved symbols
+ and ARM crashes.
+ * including Dpram and Root now. If someone tries to argument with GPL
+ violatons, they shold first explain how the various firmware files can be
+ distributed with the Linux kernel while Convergence gives the same
+ permissions for distribution
+ * Set DVB_FIRM_PATH to Debian's storage directory and removed other cludges
+ * Rewrotten a Makefile to make it work with kernel-headers only
+ * added changes from VDR author to make the driver act more smooth with
+ still frames
+
+ -- Eduard Bloch <blade@debian.org> Mon, 11 Mar 2002 15:57:39 +0100
+
+dvb (0.9.3.20011227-1) unstable; urgency=low
+
+ * New CVS snapshot
+ - 2.4.17 ready
+ - new module, included in the init script. Closes: #126422
+ * removed the patch from fimrware searching routine, making symlinks instead
+ * fixed spelling errors, closes: #124584
+ * fixed paths in dvb-driver-source, using dvb-dev package now
+ * used gtvscreen2.c from the previous version, the new is broken
+ * New example files apps/szap/channels.conf-dvbt*
+
+ -- Eduard Bloch <blade@debian.org> Tue, 27 Dec 2001 15:12:27 +0100
+
+dvb (0.9.3.20011107-1) unstable; urgency=low
+
+ * New CVS snapshot
+ - driver-source: fixes compilation problems with kernel >> 2.4.10
+ - zapping, mpegtools: various improvements and fixes
+ * improved description and README.Debian, upstream's hints
+
+ -- Eduard Bloch <blade@debian.org> Tue, 7 Nov 2001 09:36:27 +0100
+
+dvb (0.9.3.20011003-1) unstable; urgency=low
+
+ * New CVS snapshot, minor fix in mpegtools
+ * typos in manpages fixed
+ * included forgotten README in the mpegtools
+ * combined both rules files to build multiple modules packages.
+ * changed location of firmware to /lib/dvb
+
+ -- Eduard Bloch <blade@debian.org> Wed, 3 Oct 2001 23:11:23 +0200
+
+dvb (0.9.3.20010921-1) unstable; urgency=low
+
+ * Initial Release. Closes: #112463, Closes: #112464
+ * removed firmware from the source, unclear license.
+ * Hacked Makefile and dvb.c to compile w/o firmware files and load external
+ firmware from Debian conform locations.
+
+ -- Eduard Bloch <blade@debian.org> Fri, 21 Sep 2001 21:21:14 +0200
+
+Local variables:
+mode: debian-changelog
+End:
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..35d4b60
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,56 @@
+Source: linuxtv-dvb-apps
+Section: video
+Priority: extra
+Maintainer: Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org>
+Uploaders: Mark Purcell <msp@debian.org>, Tobias Grimm <etobi@debian.org>,
+ Jonathan McCrohan <jmccrohan@gmail.com>
+Build-Depends: debhelper (>= 9), libx11-dev, libzvbi-dev, linux-libc-dev (>= 3.3)
+Standards-Version: 3.9.4
+Vcs-Git: git://anonscm.debian.org/pkg-vdr-dvb/linuxtv-dvb-apps.git
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-vdr-dvb/linuxtv-dvb-apps.git
+Homepage: http://www.linuxtv.org/wiki/index.php/LinuxTV_dvb-apps
+
+Package: dvb-apps
+Architecture: any
+Depends:
+ ${shlibs:Depends},
+ makedev | udev,
+ dtv-scan-tables,
+ ${misc:Depends}
+Replaces: dvb-utils, nmh (<< 1.5-release-2)
+Provides: alevt
+Conflicts: libxbase2.0-bin, libxdb-dev, alevt, nmh (<< 1.5-release-2)
+Description: Digital Video Broadcasting (DVB) applications
+ Applications and utilities geared towards the initial setup, testing
+ and operation of an DVB device supporting the DVB-S, DVB-C, DVB-T,
+ and ATSC standards.
+ .
+ Main User Applications:
+ . scan - Scan for channels on your digital TV device
+ . dvbscan - Another frequency scanning tool
+ . czap, szap, tzap - Tuning utilities for DVB-C, DVB-S, DVB-T
+ . azap - Tuning utility for ATSC
+ . gnutv - Tune, watch and stream your TV
+ .
+ General Utilities:
+ . dvbdate - Set your clock from digital TV
+ . dvbnet - Control digital data network interfaces
+ . dvbtraffic - Monitor traffic on a digital device
+ . femon - Monitor the tuning on a digital TV device
+ . zap - *Just* tunes a digital device
+ . atsc_epg - Display ATSC Electronic Program Guide (next programs)
+ . alevt - Teletext browser
+ .
+ Hardware Specific Utilities:
+ . util/av7110_loadkeys - Load remote keys into an av7110 based card
+ . util/dib3000-watch - Monitor DIB3000 demodulators
+ . util/dst-utils - Utilities for DST based cards
+ . util/ttusb_dec_reset - Reset a TechnoTrends TTUSB DEC device
+ .
+ Libraries:
+ . lib/libdvbapi - Interface library to digital TV devices
+ . lib/libdvbcfg - Library to parse/create digital TV channel
+ . lib/libdvbsec - Library for Satellite Equipment Control operations
+ . lib/libucsi - Fast MPEG2 Transport Stream SI table parsing library
+ . lib/libdvben50221- Implementation of a Cenelec EN 50221 CAM stack
+ . lib/libdvbmisc - Miscellaneous utilities used by the other libraries
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..fe3f348
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,91 @@
+This package was debianized by Eduard Bloch <blade@debian.org> on
+Fri, 21 Sep 2001 17:31:06 +0200.
+
+It was downloaded from http://www.linuxtv.org/download/
+
+Upstream Authors:
+
+ Manu Abraham <abraham.manu@gmail.com>
+ Andrew de Quincey (adq_dvb@lidskialf.net)
+
+Copyright:
+
+ Copyright (C) 2004, 2005 Manu Abraham <abraham.manu@gmail.com>
+ Copyright (C) 2006 Andrew de Quincey (adq_dvb@lidskialf.net)
+
+License:
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL-2'.
+
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+On Debian systems, the complete text of the GNU Lesser General
+Public License can be found in `/usr/share/common-licenses/LGPL-2.1'.
+
+
+Other Portions:
+ [Copyright: 1999-2000 Vojtech Pavlik]
+ [Copyright: 2000 - 2002 convergence GmbH]
+ [Copyright: 2000 Holger Waechtler <holger@convergence.de>]
+ [Copyright: 2000 Marcus Metzler <marcus@convergence.de>]
+ [Copyright: 2000 Ralph Metzler <ralph@convergence.de>]
+ [Copyright: 2000 Ralph Metzler <ralph@convergence.de> / 2003 Convergence GmbH]
+ [Copyright: 2001 Johannes Stezenbach (js@convergence.de)]
+ [Copyright: 2001 Ralph Metzler <ralph@convergence.de>]
+ [Copyright: 2002 convergence GmbH]
+ [Copyright: 2003 convergence GmbH]
+ [Copyright: 2004, 2005 Manu Abraham <abraham.manu@gmail.com>]
+ [Copyright: 2004, 2005 Manu Abraham <abraham.manu@gmail.com> / 2005 Julian Scheel (julian at jusst dot de)]
+ [Copyright: 2004, 2005 Manu Abraham <abraham.manu@gmail.com> / 2005 Julian Scheel (julian at jusst dot de) / 2006 Andrew de Quincey (adq_dvb@lidskialf.net)]
+ [Copyright: 2004, 2005 Manu Abraham <abraham.manu@gmail.com> / 2005 Julian Scheel (julian@jusst.de) / 2006 Andrew de Quincey (adq_dvb@lidskialf.net)]
+ [Copyright: 2004, 2005 Manu Abraham <abraham.manu@gmail.com> / 2006 Andrew de Quincey (adq_dvb@lidskialf.net)]
+ [Copyright: 2004, 2005 Manu Abraham (manu@kromtek.com) / 2005 Julian Scheel (julian at jusst dot de) / 2006 Andrew de Quincey (adq_dvb@lidskialf.net)]
+ [Copyright: 2004 Werner Fink <werner@suse.de> / 2000 Ralph Metzler <ralph@convergence.de>]
+ [Copyright: 2005 Andrew de Quincey (adq_atsc@lidskialf.net) / 2005 Kenneth Aafloy (kenneth@linuxtv.org)]
+ [Copyright: 2005 Andrew de Quincey (adq_dvb@lidskialf.net)]
+ [Copyright: 2005 Andrew de Quincey (adq_dvb@lidskialf.net) / 2005 Kenneth Aafloy (kenneth@linuxtv.org)]
+ [Copyright: 2005 Andrew de Quincey (adq_dvb@lidskialf.net) / 2005 Manu Abraham <abraham.manu@gmail.com> / 2005 Kenneth Aafloy (kenneth@linuxtv.org)]
+ [Copyright: 2005 by Andrew de Quincey <adq_dvb@lidskialf.net>]
+ [Copyright: 2005 by Patrick Boettcher <patrick.boettcher@desy.de>]
+ [Copyright: 2005 Kenneth Aafloy (kenneth@linuxtv.org)]
+ [Copyright: 2005 Manu Abraham <abraham.manu@gmail.com>]
+ [Copyright: 2005 Patrick Boettcher (pb@linuxtv.org) / 2005 Andrew de Quincey (adq_dvb@lidskialf.net) / 2005 Kenneth Aafloy (kenneth@linuxtv.org)]
+ [Copyright: 2006 Andrew de Quincey <adq_dvb@lidskialf.net>]
+ [Copyright: 2006 Andrew de Quincey (adq_dvb@lidskialf.net)]
+ [Copyright: 2006 Andrew de Quincey <adq_dvb@lidskialf.net> / 2003 TV Files S.p.A]
+ [Copyright: 2006 Andrew de Quincey <adq_dvb@lidskialf.net> / 2005 Manu Abraham <abraham.manu@gmail.com>]
+ [Copyright: 2006 Andrew de Quincey (adq_dvb@lidskialf.net)\n\n" / 2004, 2005 Manu Abraham <abraham.manu@gmail.com> / 2004, 2005, 2006 Manu Abraham (manu@kromtek.com)\n" / 2006 Andrew de Quincey (adq_dvb@lidskialf.net)]
+ [Copyright: 2006 Andrew de Quincey (adq_dvb@lidskialf.net)\n\n" / 2006 Andrew de Quincey (adq_dvb@lidskialf.net)]
+ [Copyright: 2006 by Andrew de Quincey <adq_dvb@lidskialf.net>]
+ [Copyright: 2006 Christoph Pfister <christophpfister@gmail.com> / 2005 Andrew de Quincey <adq_dvb@lidskialf.net>]
+ [Copyright: 2006 Stephane Este-Gracias (sestegra@free.fr)]
+ [Copyright: 2006 Stephane Este-Gracias (sestegra@free.fr) / 2005 Andrew de Quincey (adq_dvb@lidskialf.net) / 2005 Kenneth Aafloy (kenneth@linuxtv.org)]
+ [Copyright: Dave Chapman 2001 / Laurence Culhane 2002 <dvbdate@holmes.demon.co.uk>]
+ [Copyright: Manu Abraham <abraham.manu@gmail.com> / 2000 Marcus Metzler <marcus@convergence.de>]
diff --git a/debian/dvb-apps.examples b/debian/dvb-apps.examples
new file mode 100644
index 0000000..5020676
--- /dev/null
+++ b/debian/dvb-apps.examples
@@ -0,0 +1,5 @@
+util/szap/channels.conf*
+util/av7110_loadkeys/*.rcmm
+util/av7110_loadkeys/*.rc5
+debian/hauppauge2.rc5
+test
diff --git a/debian/dvb-apps.lintian-overrides b/debian/dvb-apps.lintian-overrides
new file mode 100644
index 0000000..3603e30
--- /dev/null
+++ b/debian/dvb-apps.lintian-overrides
@@ -0,0 +1,6 @@
+dvb-apps: sharedobject-in-library-directory-missing-soname usr/lib/libucsi.so
+dvb-apps: sharedobject-in-library-directory-missing-soname usr/lib/libdvbapi.so
+dvb-apps: sharedobject-in-library-directory-missing-soname usr/lib/libdvben50221.so
+dvb-apps: sharedobject-in-library-directory-missing-soname usr/lib/libdvbsec.so
+dvb-apps: sharedobject-in-library-directory-missing-soname usr/lib/libdvbcfg.so
+dvb-apps: sharedobject-in-library-directory-missing-soname usr/lib/libesg.so
diff --git a/debian/dvb-apps.postinst b/debian/dvb-apps.postinst
new file mode 100644
index 0000000..95852e8
--- /dev/null
+++ b/debian/dvb-apps.postinst
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+if [ -x /dev/MAKEDEV ]; then
+ echo "creating dvb devices..."
+ cd /dev
+ ./MAKEDEV dvb
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/hauppauge2.rc5 b/debian/hauppauge2.rc5
new file mode 100644
index 0000000..566ecab
--- /dev/null
+++ b/debian/hauppauge2.rc5
@@ -0,0 +1,41 @@
+0x00 KEY_0
+0x01 KEY_1
+0x02 KEY_2
+0x03 KEY_3
+0x04 KEY_4
+0x05 KEY_5
+0x06 KEY_6
+0x07 KEY_7
+0x08 KEY_8
+0x09 KEY_9
+
+0x10 KEY_VOLUMEUP
+0x11 KEY_VOLUMEDOWN
+0x1e KEY_VENDOR
+
+0x20 KEY_CHANNELUP
+0x21 KEY_CHANNELDOWN
+0x22 KEY_SELECT
+0x26 KEY_CYCLEWINDOWS
+
+0x3d KEY_POWER
+0x3b KEY_GOTO
+0x1f KEY_BACK
+0x0d KEY_MENU
+0x0b KEY_RED
+0x2e KEY_GREEN
+0x38 KEY_YELLOW
+0x25 KEY_OK
+0x29 KEY_BLUE
+0x0f KEY_MUTE
+0x0c KEY_AUX
+0x3c KEY_SCREEN
+0x32 KEY_REWIND
+0x35 KEY_PLAY
+0x34 KEY_FORWARD
+0x37 KEY_RECORD
+0x36 KEY_STOP
+0x30 KEY_PAUSE
+0x24 KEY_LEFT
+0x1e KEY_RIGHT
+
diff --git a/debian/lsdvb.1 b/debian/lsdvb.1
new file mode 100644
index 0000000..6f288ee
--- /dev/null
+++ b/debian/lsdvb.1
@@ -0,0 +1,9 @@
+.TH lsdvb 1 "September February 19, 2013"
+.SH NAME
+lsdvb \- a simple utility to list PCI/PCIe DVB devices
+.SH SYNOPSIS
+.B lsdvb
+.br
+.SH DESCRIPTION
+.B lsdvb
+lists all available PCI/PCIe DVB devices.
diff --git a/debian/manpages b/debian/manpages
new file mode 100644
index 0000000..5beafd6
--- /dev/null
+++ b/debian/manpages
@@ -0,0 +1 @@
+debian/lsdvb.1
diff --git a/debian/patches/01_README.scan.dpatch b/debian/patches/01_README.scan.dpatch
new file mode 100755
index 0000000..29dbd47
--- /dev/null
+++ b/debian/patches/01_README.scan.dpatch
@@ -0,0 +1,28 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 01_README.scan.dpatch by Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: change Readme to list Debian-specific Paths
+
+@DPATCH@
+diff -urNad linuxtv-dvb-apps-1.1.1+rev1207~/util/scan/README linuxtv-dvb-apps-1.1.1+rev1207/util/scan/README
+--- linuxtv-dvb-apps-1.1.1+rev1207~/util/scan/README 2008-06-17 01:44:38.000000000 +1000
++++ linuxtv-dvb-apps-1.1.1+rev1207/util/scan/README 2008-06-17 20:18:03.000000000 +1000
+@@ -6,13 +6,13 @@
+ feel free to submit it to the linux-dvb mailing list
+ http://www.linuxtv.org/lists.php.
+
+-Basic usage: ./dvbscan dvb-s/Astra-19.2E | tee mychannels.conf
+-or ./atscscan atsc/us-NTSC-center-frequencies-8VSB
++Basic usage: dvbscan dvb-s/Astra-19.2E | tee mychannels.conf
++or atscscan atsc/us-NTSC-center-frequencies-8VSB
+
+ If you want it to check a specific frequency, tune to that frequency
+-(e.g. using szap/tzap/czap/azap) and then use './dvbscan -c' or './atscscan -c'.
++(e.g. using szap/tzap/czap/azap) and then use 'dvbscan -c' or 'atscscan -c'.
+
+-For more scan options see ./dvbscan -h or ./atscscan -h
++For more scan options see dvbscan -h or atscscan -h
+
+ atscscan is _just_ a copy of dvbscan to not confuse ATSC-user.
+
diff --git a/debian/patches/02_dtv-scan-tables.patch b/debian/patches/02_dtv-scan-tables.patch
new file mode 100644
index 0000000..210668b
--- /dev/null
+++ b/debian/patches/02_dtv-scan-tables.patch
@@ -0,0 +1,28 @@
+Description: Remove scan files from dvb-apps package
+ The scan files included in the linux-dvb-apps tarball are redundant
+ and out of date since Jan 2013, when the scan files were split into a
+ separate upstream dtv-scan-tables tarball. Debian has followed
+ upstream's lead, and split these packages in Debian too.
+ .
+ Remove the linux-dvb-apps scan files from dvb-apps package until
+ such time as upstream removes them from tarball.
+Author: Jonathan McCrohan <jmccrohan@gmail.com>
+Date: Thu, 19 Sep 2013 00:33:37 +0100
+---
+--- a/util/scan/Makefile
++++ b/util/scan/Makefile
+@@ -30,12 +30,5 @@ atsc_psip_section.c atsc_psip_section.h:
+ include ../../Make.rules
+
+ install::
+- @echo installing scan files
+- @mkdir -p $(DESTDIR)$(sharedir)/dvb/atsc
+- @mkdir -p $(DESTDIR)$(sharedir)/dvb/dvb-c
+- @mkdir -p $(DESTDIR)$(sharedir)/dvb/dvb-s
+- @mkdir -p $(DESTDIR)$(sharedir)/dvb/dvb-t
+- @install -m 664 atsc/* $(DESTDIR)$(sharedir)/dvb/atsc/
+- @install -m 664 dvb-c/* $(DESTDIR)$(sharedir)/dvb/dvb-c/
+- @install -m 664 dvb-s/* $(DESTDIR)$(sharedir)/dvb/dvb-s/
+- @install -m 664 dvb-t/* $(DESTDIR)$(sharedir)/dvb/dvb-t/
++ @echo not installing scan files
++ @echo please see dtv-scan-tables package instead
diff --git a/debian/patches/09_x_zap_flush_stdout.dpatch b/debian/patches/09_x_zap_flush_stdout.dpatch
new file mode 100755
index 0000000..8aa740d
--- /dev/null
+++ b/debian/patches/09_x_zap_flush_stdout.dpatch
@@ -0,0 +1,36 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+
+## 09_x_zap_flush_stdout.dpatch by Sebastian Schmidt <yath@yath.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Make [stc]zap flush stdout after writing status line
+
+@DPATCH@
+Index: linuxtv-dvb-apps-1.1.1+rev1483/util/szap/czap.c
+===================================================================
+--- linuxtv-dvb-apps-1.1.1+rev1483.orig/util/szap/czap.c 2012-04-11 00:44:06.000000000 +1000
++++ linuxtv-dvb-apps-1.1.1+rev1483/util/szap/czap.c 2012-05-13 20:28:36.000000000 +1000
+@@ -229,9 +229,10 @@
+ if (status & FE_HAS_LOCK)
+ printf("FE_HAS_LOCK");
+
+- usleep(1000000);
+
+ printf("\n");
++ fflush(stdout);
++ usleep(1000000);
+
+ if (exit_after_tuning && (status & FE_HAS_LOCK))
+ break;
+Index: linuxtv-dvb-apps-1.1.1+rev1483/util/szap/szap.c
+===================================================================
+--- linuxtv-dvb-apps-1.1.1+rev1483.orig/util/szap/szap.c 2012-04-11 00:44:06.000000000 +1000
++++ linuxtv-dvb-apps-1.1.1+rev1483/util/szap/szap.c 2012-05-13 20:28:51.000000000 +1000
+@@ -204,6 +204,7 @@
+ if (exit_after_tuning && ((status & FE_HAS_LOCK) || (++timeout >= 10)))
+ break;
+
++ fflush(stdout);
+ usleep(1000000);
+ } while (1);
+
diff --git a/debian/patches/15_stdint_include.dpatch b/debian/patches/15_stdint_include.dpatch
new file mode 100755
index 0000000..125be4d
--- /dev/null
+++ b/debian/patches/15_stdint_include.dpatch
@@ -0,0 +1,41 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 01_README.scan.dpatch by Stephane Glondu <steph@glondu.net>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Explicitly include <stdint.h> and include system headers first
+## DP: to fix FTBFS (Closes: #525580)
+
+@DPATCH@
+diff -Nru linuxtv-dvb-apps-1.1.1+rev1207/lib/libdvbapi/dvbaudio.c linuxtv-dvb-apps-1.1.1+rev1207/lib/libdvbapi/dvbaudio.c
+--- linuxtv-dvb-apps-1.1.1+rev1207/lib/libdvbapi/dvbaudio.c 2008-06-16 15:44:38.000000000 +0000
++++ linuxtv-dvb-apps-1.1.1+rev1207/lib/libdvbapi/dvbaudio.c 2009-04-29 13:10:19.000000000 +0000
+@@ -21,6 +21,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <stdio.h>
++#include <stdint.h>
+ #include <sys/param.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+diff -Nru linuxtv-dvb-apps-1.1.1+rev1207/test/test_av.c linuxtv-dvb-apps-1.1.1+rev1207/test/test_av.c
+--- linuxtv-dvb-apps-1.1.1+rev1207/test/test_av.c 2008-06-16 15:44:38.000000000 +0000
++++ linuxtv-dvb-apps-1.1.1+rev1207/test/test_av.c 2009-04-29 13:10:19.000000000 +0000
+@@ -23,6 +23,7 @@
+ #include <sys/ioctl.h>
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+diff -Nru linuxtv-dvb-apps-1.1.1+rev1207/util/scan/diseqc.c linuxtv-dvb-apps-1.1.1+rev1207/util/scan/diseqc.c
+--- linuxtv-dvb-apps-1.1.1+rev1207/util/scan/diseqc.c 2008-06-16 15:44:38.000000000 +0000
++++ linuxtv-dvb-apps-1.1.1+rev1207/util/scan/diseqc.c 2009-04-29 13:10:19.000000000 +0000
+@@ -1,6 +1,6 @@
+-#include <linux/dvb/frontend.h>
+ #include <sys/ioctl.h>
+ #include <time.h>
++#include <linux/dvb/frontend.h>
+
+ #include "scan.h"
+ #include "diseqc.h"
diff --git a/debian/patches/alevt.patch b/debian/patches/alevt.patch
new file mode 100644
index 0000000..e271350
--- /dev/null
+++ b/debian/patches/alevt.patch
@@ -0,0 +1,173 @@
+Index: linuxtv-dvb-apps-1.1.1+rev1457/util/alevt/ChangeLog
+===================================================================
+--- linuxtv-dvb-apps-1.1.1+rev1457.orig/util/alevt/ChangeLog 2011-12-08 01:26:50.000000000 +1100
++++ linuxtv-dvb-apps-1.1.1+rev1457/util/alevt/ChangeLog 2012-01-05 22:23:33.000000000 +1100
+@@ -1,11 +1,11 @@
+-Thu Feb 11 22:05:00 MET 2010 (1.7.0)
++Sat Feb 14 15:10:00 MET 2010 (1.7.0)
+
+ - redesigned version:
+ - outfile, new starting methods, libzvbi implementation
+ - lots of bug fixes, all patches available in the Internet applied
+- - extensive code cleanup
++ - intensive code cleanup
+
+-Mon Dec 3 03:11:07 MET 2007 (1.6.2)
++Mon Dec 3 03:11:07 MET 2007 (1.6.2)
+
+ - compilation fixes for newer gcc
+ - makefile tweaks (man vs share/man, /usr/X11R6 vs /usr, etc)
+Index: linuxtv-dvb-apps-1.1.1+rev1457/util/alevt/README
+===================================================================
+--- linuxtv-dvb-apps-1.1.1+rev1457.orig/util/alevt/README 2011-12-08 01:26:50.000000000 +1100
++++ linuxtv-dvb-apps-1.1.1+rev1457/util/alevt/README 2012-01-05 22:23:33.000000000 +1100
+@@ -13,7 +13,7 @@
+ 3. lots of cruft which is completely outdated or obsolete for other reasons
+
+ To handle all that in one big effort I decided to redesign the program
+-completely, enlarging its capabilities for DVB-S at the same time.
++completely, enlarging its DVB capabilities at the same time.
+
+ So here are the changes:
+
+@@ -22,8 +22,7 @@
+
+ 2. Erasure of old outdated integers, functions, parameters:
+
+-- bell, big_buf, debug, display, editor, erc, fine_tune, newbttv,
+-- oldbttv
++- bell, big_buf, debug, display, editor, erc, fine_tune, newbttv, oldbttv.
+
+ 3. Coding style cleanups (no superfluous comments, not more than
+ 80 characters per column, no uncommented code.
+@@ -52,20 +51,24 @@
+ make install" there is an uninstaller now to revert the installation:
+ "make uninstall".
+
+-ENJOY IT!
++External dependencies to run that program:
+
+-Uwe Bugla, February 11th, 2010.
++AleVT needs some some system libraries to be installed in your system.
++- libc6 (>= 2.3.6)
++- libpng12 (>= 1.2.13)
++- libx11 (>= 1.3.3)
++- libzvbi0 (>= 0.2.11)
++- zlib (>= 1.1.4)
+
+-External dependencies
++ENJOY IT!
+
+-AleVT needs some system libraries to be installed in your system.
+-They are zlib, libX11, libpng and libzvbi.
++Uwe Bugla, February 14th, 2010.
+
+ Credits go to:
+ - Andreas Rottmann from debian.org for compiler fixes and
+ other kinds of investigation.
+ - Francesco Lavra for supplying a kernel patch to avoid kernel demux
+- incompatibilities with kernels >= 2.6.32
++ incompatibilities with kernels 2.6.32-rc1 - 2.6.33-rc7
+ - Andy Walls for helpful investigation in kernelspace
+ - Edgar Toernig for providing the source version 1.6.2 and doing all the
+ development for the basic versions
+Index: linuxtv-dvb-apps-1.1.1+rev1457/util/alevt/TODO
+===================================================================
+--- linuxtv-dvb-apps-1.1.1+rev1457.orig/util/alevt/TODO 2011-12-08 01:26:50.000000000 +1100
++++ linuxtv-dvb-apps-1.1.1+rev1457/util/alevt/TODO 2012-01-05 22:23:33.000000000 +1100
+@@ -1,12 +1,18 @@
+-Hi, these are issues that I unfortunately cannot resolve myself:
++These are issues that I unfortunately cannot resolve myself:
+
+-1. graphical menu written in GKT2, to be used in general connection with
++1. Most important: for usage without script and outfile option:
++ DVB monitoring demon helping the program to rewrite the PAT
++ (Program Allocation Table) when the external player software
++ has chosen a channel which is part of a new transponder.
++ At the moment alevt hangs when the transponder is changed by an
++ external player software.
++ It then can only be stopped via "killall -9 alevt".
++ Or you switch it off before every channel change.
++
++2. Graphical menu written in GKT2, to be used in general connection with
+ the outfile (-o) option.
+
+-2. for usage without script and outfile option:
+- DVB monitoring demon helping the program to rewrite the PAT when the
+- external player software has chosen a channel which is part of a
+- new transponder.
+- At the moment alevt hangs when the transponder is changed.
++3. New BDF fonts for slightly bigger windows.
++ Those BDF fonts need to be edited so that they can be transformed by bdf2xbm.
+
+-Uwe Bugla, February 11th, 2010.
++Uwe Bugla, February 14th, 2010.
+Index: linuxtv-dvb-apps-1.1.1+rev1457/util/alevt/vbi.c
+===================================================================
+--- linuxtv-dvb-apps-1.1.1+rev1457.orig/util/alevt/vbi.c 2011-12-08 01:26:50.000000000 +1100
++++ linuxtv-dvb-apps-1.1.1+rev1457/util/alevt/vbi.c 2012-01-05 22:23:33.000000000 +1100
+@@ -706,10 +706,6 @@
+ }
+ j = i + 5;
+ i = j + (((tbl[i+3] << 8) | tbl[i+4]) & 0x0fff);
+- if (!progp) {
+- error("SDT: service_id 0x%x not in PAT\n", k);
+- continue;
+- }
+ while (j < i) {
+ switch (tbl[j]) {
+ case 0x48: // service descriptor
+Index: linuxtv-dvb-apps-1.1.1+rev1457/util/Makefile
+===================================================================
+--- linuxtv-dvb-apps-1.1.1+rev1457.orig/util/Makefile 2011-12-08 01:26:50.000000000 +1100
++++ linuxtv-dvb-apps-1.1.1+rev1457/util/Makefile 2012-01-05 22:23:33.000000000 +1100
+@@ -19,3 +19,4 @@
+ $(MAKE) -C gotox $@
+ $(MAKE) -C zap $@
+ $(MAKE) -C lsdvb $@
++ $(MAKE) -C alevt $@
+Index: linuxtv-dvb-apps-1.1.1+rev1457/util/alevt/Makefile
+===================================================================
+--- linuxtv-dvb-apps-1.1.1+rev1457.orig/util/alevt/Makefile 2011-12-08 01:26:50.000000000 +1100
++++ linuxtv-dvb-apps-1.1.1+rev1457/util/alevt/Makefile 2012-01-05 22:27:12.000000000 +1100
+@@ -57,28 +57,36 @@
+ rm -f alevt alevt-date alevt-cap
+
+ rpm-install: all
++ install -d 0755 ${RPM_BUILD_ROOT}$(USR_X11R6)/bin
++ install -d 0755 ${RPM_BUILD_ROOT}$(USR_X11R6)/$(MAN)/man1
++ install -d 0755 $(RPM_BUILD_ROOT)$(USR_X11R6)/include/X11/pixmaps
++
+ install -m 0755 alevt ${RPM_BUILD_ROOT}$(USR_X11R6)/bin
+ install -m 0755 alevt-date ${RPM_BUILD_ROOT}$(USR_X11R6)/bin
+ install -m 0755 alevt-cap ${RPM_BUILD_ROOT}$(USR_X11R6)/bin
+ install -m 0644 alevt.1 ${RPM_BUILD_ROOT}$(USR_X11R6)/$(MAN)/man1
+ install -m 0644 alevt-date.1 ${RPM_BUILD_ROOT}$(USR_X11R6)/$(MAN)/man1
+ install -m 0644 alevt-cap.1 ${RPM_BUILD_ROOT}$(USR_X11R6)/$(MAN)/man1
+- install -d 0755 $(RPM_BUILD_ROOT)$(USR_X11R6)/include/X11/pixmaps
+- install -m 0644 alevt.png $(RPM_BUILD_ROOT)$(USR_X11R6)/include/X11/pixmaps
++ install -m 0644 icon.xbm $(RPM_BUILD_ROOT)$(USR_X11R6)/include/X11/pixmaps/alevt.xbm
+
+ install: all
++ install -d 0755 $(DESTDIR)$(PREFIX)/bin
++ install -d 0755 $(DESTDIR)$(PREFIX)/share/man/man1
++ install -d 0755 $(DESTDIR)$(PREFIX)/share/pixmaps
++ install -d 0755 $(DESTDIR)$(PREFIX)/share/applications
++
+ install -m 0755 alevt $(DESTDIR)$(PREFIX)/bin
+ install -m 0755 alevt-date $(DESTDIR)$(PREFIX)/bin
+ install -m 0755 alevt-cap $(DESTDIR)$(PREFIX)/bin
+ install -m 0644 alevt.1 $(DESTDIR)$(PREFIX)/share/man/man1
+ install -m 0644 alevt-date.1 $(DESTDIR)$(PREFIX)/share/man/man1
+ install -m 0644 alevt-cap.1 $(DESTDIR)$(PREFIX)/share/man/man1
+- install -m 0644 alevt.png $(DESTDIR)$(PREFIX)/share/pixmaps
++ install -m 0644 icon.xbm $(DESTDIR)$(PREFIX)/share/pixmaps/alevt.xbm
+ install -m 0644 alevt.desktop $(DESTDIR)$(PREFIX)/share/applications
+
+ uninstall: clean
+ rm -f /usr/bin/alevt /usr/bin/alevt-cap /usr/bin/alevt-date \
+- /usr/share/pixmaps/alevt.png /usr/share/applications/alevt.desktop \
++ /usr/share/pixmaps/alevt.xbm /usr/share/applications/alevt.desktop \
+ /usr/share/man/man1/alevt.1 /usr/share/man/man1/alevt-cap.1 \
+ /usr/share/man/man1/alevt-date.1
+
diff --git a/debian/patches/apps_manpages.patch b/debian/patches/apps_manpages.patch
new file mode 100644
index 0000000..a459446
--- /dev/null
+++ b/debian/patches/apps_manpages.patch
@@ -0,0 +1,889 @@
+--- a/Make.rules
++++ b/Make.rules
+@@ -33,6 +33,7 @@
+ includedir ?= $(prefix)/include
+ libdir ?= $(prefix)/lib
+ sharedir ?= $(prefix)/share
++mandir ?= $(prefix)/share/man/man1
+
+ ifneq ($(DESTDIR),)
+ DESTDIR := $(DESTDIR)/
+@@ -64,6 +65,11 @@
+ mkdir -p $(DESTDIR)$(bindir)
+ install -m 755 $(inst_bin) $(DESTDIR)$(bindir)/
+ endif
++ifneq ($(inst_man),)
++ @echo installing manpages
++ @mkdir -p $(DESTDIR)$(mandir)
++ @install -m 755 $(inst_man) $(DESTDIR)$(mandir)/
++endif
+ else
+ %.o: %.c
+ @echo CC $@
+@@ -99,6 +105,11 @@
+ @mkdir -p $(DESTDIR)$(bindir)
+ @install -m 755 $(inst_bin) $(DESTDIR)$(bindir)/
+ endif
++ifneq ($(inst_man),)
++ @echo installing manpages
++ @mkdir -p $(DESTDIR)$(mandir)
++ @install -m 755 $(inst_man) $(DESTDIR)$(mandir)/
++endif
+ endif
+
+ -include $(prerequisites)
+--- a/Makefile
++++ b/Makefile
+@@ -6,6 +6,7 @@
+ $(MAKE) -C lib $@
+ $(MAKE) -C test $@
+ $(MAKE) -C util $@
++ $(MAKE) -C man $@
+
+ update:
+ @echo "Pulling changes & updating from master repository"
+--- a/man/Makefile
++++ b/man/Makefile
+@@ -0,0 +1,14 @@
++manpages = *.1
++inst_man = $(manpages)
++
++.PHONY: all
++all: $(manpages)
++$(manpages): atsc_epg.1 av7110_loadkeys.1 azap.1 czap.1 dib3000-watch.1 \
++dst_test.1 dvbdate.1 dvbnet.1 dvbscan.1 dvbtraffic.1 femon.1 gnutv.1 gotox.1 \
++scan.1 szap.1 tzap.1 zap.1
++include ../Make.rules
++
++install::
++ @echo installing manpages
++ @mkdir -p $(DESTDIR)$(mandir)
++ @install -m 644 *.1 $(DESTDIR)$(mandir)/
+--- a/man/atsc_epg.1
++++ b/man/atsc_epg.1
+@@ -0,0 +1,35 @@
++.TH atsc_epg 1 "February 14, 2010"
++.SH NAME
++atsc_epg \- an electronic program guide using ATSC devices.
++.SH SYNOPSIS
++.B atsc_epg
++.RI [ options ]
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B atsc_epg
++commands.
++.PP
++\fBatsc_epg\fP is an electronic program guide for ATSC devices.
++.SH OPTIONS
++.TP
++.B \-a
++adapter index to use, (default 0)
++.TP
++.B \-f
++tuning frequency
++.TP
++.B \-h
++print this help text
++.TP
++.B \-p
++period in hours, (default 12)
++.TP
++.B \-m
++modulation ATSC vsb_8|vsb_16 (default vsb_8)
++.TP
++.B \-t
++enable ETT to receive program details, if available
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/av7110_loadkeys.1
++++ b/man/av7110_loadkeys.1
+@@ -0,0 +1,26 @@
++.TH av7110_loadkeys 1 "February 14, 2010"
++.SH NAME
++av7110_loadkeys \- a program to load keymaps.
++.SH SYNOPSIS
++.B av7110_loadkeys
++.RI [ options ] keymap_filename.(rc5|rcmm
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B av7110_loadkeys
++commands.
++.PP
++\fBav7110_loadkeys\fP is a program to load keymaps.
++.SH OPTIONS
++.TP
++.B \-i
++invert
++.TP
++.B \-a
++address <num>
++.TP
++.B \-h
++print this help text
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/azap.1
++++ b/man/azap.1
+@@ -0,0 +1,35 @@
++.TH azap 1 "February 14, 2010"
++.SH NAME
++azap \- a program to process channels.conf files.
++.SH SYNOPSIS
++.B azap
++.RI [ options ] <channel name>
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B azap
++commands.
++.PP
++\fBazap\fP is a program to process a channels.conf file.
++.SH OPTIONS
++.TP
++.B \-a adapter_num
++use given adapter (default 0)
++.TP
++.B \-f frontend_id
++use given frontend (default 0)
++.TP
++.B \-d demux_id
++use given demux (default 0)
++.TP
++.B \-c conf_file
++read channels list from 'file'
++.TP
++.B \-r
++set up /dev/dvb/adapterX/dvr0 for TS recording
++.TP
++.B \-h
++print this help text
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/czap.1
++++ b/man/czap.1
+@@ -0,0 +1,46 @@
++.TH czap 1 "February 14, 2010"
++.SH NAME
++czap \- a program to process channels.conf files.
++.SH SYNOPSIS
++.B czap
++.RI [ options ] <channel name>
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B czap
++commands.
++.PP
++\fBczap\fP is a program to process a channels.conf file.
++.SH OPTIONS <channel name>
++.TP
++.B \-a adapter_num
++use given adapter (default 0)
++.TP
++.B \-f frontend_id
++use given frontend (default 0)
++.TP
++.B \-d demux_id
++use given demux (default 0)
++.TP
++.B \-c conf_file
++read channels list from 'file'
++.TP
++.B \-H
++produce human readable output
++.TP
++.B \-n channel_num
++use given channel number
++.TP
++.B \-x
++exit after tuning
++.TP
++.B \-c conf_file -l
++list channel names in channels.conf file
++.B \-r
++set up /dev/dvb/adapterX/dvr0 for TS recording
++.TP
++.B \-h
++print this help text
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/dib3000-watch.1
++++ b/man/dib3000-watch.1
+@@ -0,0 +1,34 @@
++.TH dib3000-watch 1 "February 14, 2010"
++.SH NAME
++dib3000-watch \- a program to check DVB cards.
++.SH SYNOPSIS
++.B dib3000-watch
++.RI [ options ] <channel name>
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B dib3000-watch
++commands.
++.PP
++\fBdib3000-watch\fP is a program to check DVB cards.
++.SH OPTIONS
++.TP
++.B \-d <i2c-device>
++-d: normally one of /dev/i2c-[0-255]
++.TP
++.B \-a <i2c-address>
++-a: is 8 for DiB3000M-B and 9, 10, 11 or 12 for DiB3000M-C or DiB3000-P
++.TP
++.B \-o <type>
++-o: output type (print|csv) (default: print)
++.TP
++.B \-i <seconds>
++-i: query interval in seconds (default: 0.1)
++.TP
++.B \-h
++print this help text
++.br
++.SH AUTHOR
++Copyright (C) 2005 by Patrick Boettcher <patrick.boettcher@desy.de>
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/dst_test.1
++++ b/man/dst_test.1
+@@ -0,0 +1,41 @@
++.TH dst_test 1 "February 14, 2010"
++.SH NAME
++dst_test \- a Twinhan DST and clones test utility.
++.SH SYNOPSIS
++.B dst_test
++.RI [ options ]
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B dst_test
++commands.
++.PP
++\fBdst_test\fP is a Twinhan DST and clones test utility.
++.SH OPTIONS
++.TP
++.B \-c
++capabilities
++.TP
++.B \-i
++info
++.TP
++.B \-r
++reset
++.TP
++.B \-p
++pid
++.TP
++.B \-g
++get descr
++.TP
++.B \-s
++set_descr
++.TP
++.B \-a
++app_info
++.TP
++.B \-t
++session test
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/dvbdate.1
++++ b/man/dvbdate.1
+@@ -0,0 +1,38 @@
++.TH dvbdate 1 "February 14, 2010"
++.SH NAME
++dvbdate \- a program to show the actual time.
++.SH SYNOPSIS
++.B dvbdate
++.RI [ options ]
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B dvbdate
++commands.
++.PP
++\fBdvbdate\fP is a program to show the actual time.
++.SH OPTIONS
++.TP
++.B \-a --adapter
++adapter to use, default: 0
++.TP
++.B \-p --print
++print current time, received time and delta
++.TP
++.B \-s --set
++set the system clock to received time
++.TP
++.B \-f --force
++force the setting of the clock
++.TP
++.B \-q --quiet
++be silent
++.TP
++.B \-h --help
++display this message
++.TP
++.B \-t --timeout n
++max seconds to wait, default: 25
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/dvbnet.1
++++ b/man/dvbnet.1
+@@ -0,0 +1,38 @@
++.TH dvbnet 1 "February 14, 2009"
++.SH NAME
++dvbnet \- a DVB Network Interface Manager.
++.SH SYNOPSIS
++.B dvbnet
++.RI [ options ]
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B dvbnet
++commands.
++.PP
++\fBdvbnet\fP is a DVB Network Interface Manager.
++.SH OPTIONS
++.TP
++.B \-a AD
++Adapter card (default 0)
++.TP
++.B \-n DD
++Demux (default 0)
++.TP
++.B \-p PID
++Add interface listening on PID
++.TP
++.B \-d NUM
++Remove interface NUM
++.TP
++.B \-l
++List currently available interfaces
++.TP
++.B \-U
++use ULE framing (default: MPE)
++.TP
++.B \-v
++Print current version
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/dvbscan.1
++++ b/man/dvbscan.1
+@@ -0,0 +1,72 @@
++.TH dvbscan 1 "February 14, 2009"
++.SH NAME
++dvbscan \- a program to produce DVB-T channels.conf files.
++.SH SYNOPSIS
++.B dvbscan
++.RI [ options ] <initial scan file>
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B dvbscan
++commands.
++.PP
++\fBdvbscan\fP is a program to produce DVB-T channels.conf files.
++.SH OPTIONS
++.TP
++.B \ -h
++print this help text
++.TP
++.B \-adapter <id>
++adapter to use (default 0)
++.TP
++.B \-frontend <id>
++frontend to use (default 0)
++.TP
++.B \-demux <id>
++demux to use (default 0)
++.TP
++.B \-secfile <filename>
++Optional sec.conf file
++.TP
++.B \-secid <secid>
++ID of the SEC configuration to use, one of:
++ * UNIVERSAL (default) - Europe, 10800 to 11800 MHz and 11600 to 12700 Mhz,\
++ Dual LO, loband 9750, hiband 10600 MHz
++ * DBS - Expressvu, North America, 12200 to 12700 MHz, Single LO, 11250 MHz
++ * STANDARD - 10945 to 11450 Mhz, Single LO, 10000 Mhz
++ * ENHANCED - Astra, 10700 to 11700 MHz, Single LO, 9750 MHz
++ * C-BAND - Big Dish, 3700 to 4200 MHz, Single LO, 5150 Mhz
++ * C-MULTI - Big Dish - Multipoint LNBf, 3700 to 4200 MHz, Dual LO, H:5150MHz, V:5750MHz
++ * One of the sec definitions from the secfile if supplied
++.TP
++.B \-satpos <position>
++Specify DISEQC switch position for DVB-S
++.TP
++.B \-inversion <on|off|auto>
++Specify inversion (default: auto)
++.TP
++.B \-uk-ordering
++Use UK DVB-T channel ordering if present.
++.TP
++.B \-timeout <secs>
++Specify filter timeout to use (standard specced values will be used by default)
++.TP
++.B \-filter <filter>
++Specify service filter, a comma seperated list of the following tokens:
++If no filter is supplied, all services will be output
++ * tv - Output TV channels
++ * radio - Output radio channels
++ * other - Output other channels
++ * encrypted - Output encrypted channels
++.TP
++.B \-out raw <filename>|-
++Output in raw format to <filename> or stdout
++.B \-out channels <filename>|-
++Output in channels.conf format to <filename> or stdout
++.B \-out vdr12 <filename>|-
++Output in vdr 1.2.x format to <filename> or stdout
++.B \-out vdr13 <filename>|-
++Output in vdr 1.3.x format to <filename> or stdout
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/dvbtraffic.1
++++ b/man/dvbtraffic.1
+@@ -0,0 +1,26 @@
++.TH dvbtraffic 1 "February 14, 2010"
++.SH NAME
++dvbtraffic \- a program to show satellite traffic.
++.SH SYNOPSIS
++.B dvbtraffic
++.RI [ options ]
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B dvbtraffic
++commands.
++.PP
++\fBdvbtraffic\fP is a program to show satellite traffic.
++.SH OPTIONS
++.TP
++.B \-a N
++use dvb adapter N
++.TP
++.B \-d N
++use demux N
++.TP
++.B \-h
++display this help
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/femon.1
++++ b/man/femon.1
+@@ -0,0 +1,32 @@
++.TH femon 1 "February 14, 2010"
++.SH NAME
++femon \- a program to monitor DVB frontend signal input.
++.SH SYNOPSIS
++.B femon
++.RI [ options ]
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B femon
++commands.
++.PP
++\fBfemon\fP is a program to monitor DVB frontend signal input.
++.SH OPTIONS
++.TP
++.B \-h
++print this help text
++.TP
++.B \-H
++human readable output
++.TP
++.B \-a number
++use given adapter (default 0)
++.TP
++.B \-f number
++use given frontend (default 0)
++.TP
++.B \-c number
++samples to take (default 0 = infinite)
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/gnutv.1
++++ b/man/gnutv.1
+@@ -0,0 +1,79 @@
++.TH gnutv 1 "February 14, 2010"
++.SH NAME
++gnutv \- a digital tv utility.
++.SH SYNOPSIS
++.B gnutv
++.RI [ options ] <channel name>
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B gnutv
++commands.
++.PP
++\fBgnutv\fP is a digital tv utility.
++.SH OPTIONS
++.TP
++.B \-adapter <id>
++adapter to use (default 0)
++.TP
++.B \-frontend <id>
++frontend to use (default 0)
++.TP
++.B \-demux <id>
++demux to use (default 0)
++.TP
++.B \-caslotnum <id>
++ca slot number to use (default 0)
++.TP
++.B \-channels <filename>
++channels.conf file
++.TP
++.B \-secfile <filename>
++Optional sec.conf file
++.TP
++.B \-secid <secid>
++ID of the SEC configuration to use, one of:
++ * UNIVERSAL (default) - Europe, 10800 to 11800 MHz and 11600 to 12700 Mhz,\
++ Dual LO, loband 9750, hiband 10600 MHz
++ * DBS - Expressvu, North America, 12200 to 12700 MHz, Single LO, 11250 MHz
++ * STANDARD - 10945 to 11450 Mhz, Single LO, 10000 Mhz
++ * ENHANCED - Astra, 10700 to 11700 MHz, Single LO, 9750 MHz
++ * C-BAND - Big Dish, 3700 to 4200 MHz, Single LO, 5150 Mhz
++ * C-MULTI - Big Dish - Multipoint LNBf, 3700 to 4200 MHz, Dual LO, H:5150MHz, V:5750MHz
++ * One of the sec definitions from the secfile if supplied
++.TP
++.B \-out decoder
++Output to hardware decoder (default)
++.TP
++.B -out decoderabypass
++Output to hardware decoder using audio bypass
++.B -out dvr
++Output stream to dvr device
++.B -out null
++Do not output anything
++.B -out stdout
++Output to stdout
++.B -out file <filename>
++Output stream to file
++.B -out udp <address> <port>
++Output stream to address:port using udp
++.B -out udpif <address> <port> <interface>
++Output stream to address:port using udp forcing the specified interface
++.B -out rtp <address> <port>
++Output stream to address:port using udp-rtp
++.B -out rtpif <address> <port> <interface>
++Output stream to address:port using udp-rtp forcing the specified interface
++.TP
++.B \-timeout <secs>
++Number of seconds to output channel for (0=>exit immediately after successful tuning, default is to output forever)
++.TP
++.B \-cammenu
++Show the CAM menu
++.TP
++.B \-nomoveca
++Do not attempt to move CA descriptors from stream to programme level
++.B \-h
++print this help text
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/gotox.1
++++ b/man/gotox.1
+@@ -0,0 +1,33 @@
++.TH gotox 1 "February 14, 2010"
++.SH NAME
++gotox \- a program to operate a rotor of a satellite dish.
++.SH SYNOPSIS
++.B gotox
++.RI [ options ]
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B gotox
++commands.
++.PP
++\fBgotox \fP is a program to operate a rotor set to tune a satellite dish.
++.SH OPTIONS
++.TP
++.B \-h
++print this help text
++.TP
++.B \-d degrees
++Goto the specified angle. Positive value for East rotation,
++negative value for West rotation on Northern Hemisphere (default 0)
++.TP
++.B \-a number
++use given adapter (default 0)
++.TP
++.B \-f number
++use given frontend (default 0)
++.TP
++.B \-t seconds
++leave power on to rotor for at least specified seconds of time (default 30)
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/scan.1
++++ b/man/scan.1
+@@ -0,0 +1,85 @@
++.TH scan 1 "February 14, 2010"
++.SH NAME
++scan \- a program to produce channel.conf files.
++.SH SYNOPSIS
++.B scan
++.RI [ options ]
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B scan
++commands.
++.PP
++\fBscan\fP is a program to produce channels.conf files.
++.SH OPTIONS
++.TP
++.B \-c [initial-tuning-data-file]
++scan on currently tuned transponder only
++.TP
++.B \-v
++verbose (repeat for more)
++.TP
++.B \-q
++quiet (repeat for less)
++.TP
++.B \-a N
++use DVB /dev/dvb/adapterN/
++.TP
++.B \-f N
++use DVB /dev/dvb/adapter?/frontendN
++.TP
++.B \-d N
++use DVB /dev/dvb/adapter?/demuxN
++.TP
++.B \-s N
++use DiSEqC switch position N (DVB-S only)
++.TP
++.B \-i N
++spectral inversion setting (0: off, 1: on, 2: auto [default])
++.TP
++.B \-n
++evaluate NIT-other for full network scan (slow!)
++.TP
++.B \-5
++multiply all filter timeouts by factor 5 for non-DVB-compliant section repitition rates
++.TP
++.B \-o fmt
++output format: 'zap' (default), 'vdr' or 'pids' (default with -c)
++.TP
++.B \-x N
++Conditional Access, (default -1)
++ N=0 gets only FTA channels
++ N=-1 gets all channels
++ N=xxx sets ca field in vdr output to :xxx:
++.TP
++.B \-t N
++Service select, Combined bitfield parameter.
++1 = TV, 2 = Radio, 4 = Other, (default 7)
++.TP
++.B \-p
++for vdr output format: dump provider name
++.TP
++.B \-e N
++ VDR version, default 3 for VDR-1.3.x and newer value 2 sets NIT and TID to zero
++ Vdr version 1.3.x and up implies -p.
++.TP
++.B \-l
++lnb-type (DVB-S Only) (use -l help to print types) or
++.TP
++.B \-l
++low[,high[,switch]] in Mhz
++.TP
++.B \-u
++UK DVB-T Freeview channel numbering for VDR
++.TP
++.B \-P
++do not use ATSC PSIP tables for scanning (but only PAT and PMT) (applies for ATSC only)
++.TP
++.B \-A N
++check for ATSC 1=Terrestrial [default], 2=Cable or 3=both
++.TP
++.B \-U
++Uniquely name unknown services
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/szap.1
++++ b/man/szap.1
+@@ -0,0 +1,57 @@
++.TH szap 1 "February 14, 2010"
++.SH NAME
++szap \- a program to process channels.conf files.
++.SH SYNOPSIS
++.B szap
++.RI [ options ]
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B szap
++commands.
++.PP
++\fBszap\fP is a program to process a channels.conf file.
++.SH OPTIONS
++.TP
++.B \-n channel-number | channel_name
++zap to channel via number or full name (case insensitive)
++.TP
++.B \-q
++list known channels
++.TP
++.B \-a number
++use given adapter (default 0)
++.TP
++.B \-f number
++use given frontend (default 0)
++.TP
++.B \-d number
++use given demux (default 0)
++.TP
++.B \-c file
++read channels list from 'file'
++.TP
++.B \-b
++enable Audio Bypass (default no)
++.TP
++.B \-x
++exit after tuning
++.TP
++.B \-H
++human readable output
++.TP
++.B \-r
++set up /dev/dvb/adapterX/dvr0 for TS recording
++.TP
++.B \-l lnb-type (DVB-S Only) (use -l help to print types) or
++.TP
++.B \-l low[,high[,switch]] in Mhz
++.TP
++.B \-i
++run interactively, allowing you to type in channel names
++.TP
++.B \-p
++add pat and pmt to TS recording (implies -r) or -n numbers for zapping
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/tzap.1
++++ b/man/tzap.1
+@@ -0,0 +1,56 @@
++.TH tzap 1 "February 14, 2010"
++.SH NAME
++tzap \- a program to process channels.conf files.
++.SH SYNOPSIS
++.B tzap
++.RI [ options ] <channel_name>
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B tzap
++commands.
++.PP
++\fBtzap\fP is a program to process channels.conf files.
++.SH OPTIONS
++.TP
++.B \-a number
++use given adapter (default 0)
++.TP
++.B \-f number
++use given frontend (default 0)
++.TP
++.B \-d number
++use given demux (default 0)
++.TP
++.B \-c file
++read channels list from 'file'
++.TP
++.B \-x
++exit after tuning
++.TP
++.B \-H
++human readable output
++.TP
++.B \-r
++set up /dev/dvb/adapterX/dvr0 for TS recording
++.TP
++.B \-s
++only print summary
++.TP
++.B \-S
++run silently (no output)
++.TP
++.B \-F
++set up frontend only, don't touch demux
++.TP
++.B \-t number
++timeout (seconds)
++.TP
++.B \-o file
++output filename (use -o - for stdout)
++.TP
++.B \-h
++display this help and exit
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
+--- a/man/zap.1
++++ b/man/zap.1
+@@ -0,0 +1,44 @@
++.TH zap 1 "February 14, 2010"
++.SH NAME
++zap \- a program to process channels.conf files.
++.SH SYNOPSIS
++.B zap
++.RI [ options ] <channel name>
++.br
++.SH DESCRIPTION
++This manual page documents briefly the
++.B zap
++commands.
++.PP
++\fBzap\fP is a program to process a channels.conf file.
++.SH OPTIONS
++.TP
++.B \-adapter <id>
++adapter to use (default 0)
++.TP
++.B \-frontend <id>
++frontend to use (default 0)
++.TP
++.B \-demux <id>
++demux to use (default 0)
++.TP
++.B \-caslotnum <id>
++ca slot number to use (default 0)
++.TP
++.B \-channels <filename>
++channels.conf file
++.TP
++.B \-secfile <filename>
++Optional sec.conf file
++.TP
++.B \-secid <secid>
++ID of the SEC configuration to use
++.TP
++.B \-nomoveca
++Do not attempt to move CA descriptors from stream to program level
++.TP
++.B \-h
++print this help text
++.br
++.PP
++This manual page was written by Uwe Bugla <uwe.bugla@gmx.de>.
diff --git a/debian/patches/dbug606728.diff b/debian/patches/dbug606728.diff
new file mode 100644
index 0000000..6704acc
--- /dev/null
+++ b/debian/patches/dbug606728.diff
@@ -0,0 +1,12 @@
+Index: linuxtv-dvb-apps-1.1.1+rev1483/util/dvbscan/dvbscan.c
+===================================================================
+--- linuxtv-dvb-apps-1.1.1+rev1483.orig/util/dvbscan/dvbscan.c 2012-04-11 00:44:06.000000000 +1000
++++ linuxtv-dvb-apps-1.1.1+rev1483/util/dvbscan/dvbscan.c 2012-05-13 20:14:41.000000000 +1000
+@@ -225,6 +225,7 @@
+ output_filename = argv[argpos+2];
+ if (!strcmp(output_filename, "-"))
+ output_filename = NULL;
++ argpos+=3;
+ } else {
+ if ((argc - argpos) != 1)
+ usage();
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..290f0ff
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,8 @@
+01_README.scan.dpatch
+02_dtv-scan-tables.patch
+09_x_zap_flush_stdout.dpatch
+15_stdint_include.dpatch
+apps_manpages.patch
+alevt.patch
+dbug606728.diff
+use-ldflags.patch
diff --git a/debian/patches/use-ldflags.patch b/debian/patches/use-ldflags.patch
new file mode 100644
index 0000000..f929027
--- /dev/null
+++ b/debian/patches/use-ldflags.patch
@@ -0,0 +1,50 @@
+Description: Use LDFLAGS passed in from dpkg-buildflags
+ The alevt and lib binaries are not linked with the hardening options
+ provided by dpkg-buildflags because LDFLAGS isn't used there.
+ This patch simple adds the LDFLAGS to the Makefiles.
+Author: Tobias Grimm <etobi@debian.org>
+Date: Thu, 19 Sep 2013 23:04:58 +0200
+
+Index: linuxtv-dvb-apps/util/alevt/Makefile
+===================================================================
+--- linuxtv-dvb-apps.orig/util/alevt/Makefile 2013-09-19 23:00:31.000000000 +0200
++++ linuxtv-dvb-apps/util/alevt/Makefile 2013-09-19 23:00:34.000000000 +0200
+@@ -25,13 +25,13 @@
+ all: alevt alevt-date alevt-cap alevt.1 alevt-date.1 alevt-cap.1
+
+ alevt: $(OBJS)
+- $(CC) $(OPT) $(OBJS) -o alevt -L$(PREFIX)/lib -L$(PREFIX)/lib64 -lX11 $(EXPLIBS)
++ $(CC) $(OPT) $(OBJS) $(LDFLAGS) -o alevt -L$(PREFIX)/lib -L$(PREFIX)/lib64 -lX11 $(EXPLIBS)
+
+ alevt-date: $(TOBJS)
+- $(CC) $(OPT) $(TOBJS) -o alevt-date $(ZVBILIB)
++ $(CC) $(OPT) $(TOBJS) $(LDFLAGS) -o alevt-date $(ZVBILIB)
+
+ alevt-cap: $(COBJS)
+- $(CC) $(OPT) $(COBJS) -o alevt-cap $(EXPLIBS)
++ $(CC) $(OPT) $(COBJS) $(LDFLAGS) -o alevt-cap $(EXPLIBS)
+
+ font.o: font1.xbm font2.xbm font3.xbm font4.xbm
+ fontsize.h: font1.xbm font2.xbm font3.xbm font4.xbm
+Index: linuxtv-dvb-apps/Make.rules
+===================================================================
+--- linuxtv-dvb-apps.orig/Make.rules 2013-09-19 23:00:29.000000000 +0200
++++ linuxtv-dvb-apps/Make.rules 2013-09-19 23:00:34.000000000 +0200
+@@ -47,7 +47,7 @@
+ %: %.c
+ $(CC) $(CPPFLAGS) $(CFLAGS) -MMD $(LDFLAGS) -o $@ $< $(filter-out %.h %.c,$^) $(LOADLIBES) $(LDLIBS)
+ %.so:
+- $(CC) -shared -o $@ $^
++ $(CC) -shared $(LDFLAGS) -o $@ $^
+ %.a:
+ $(AR) rcs $@ $^
+ clean::
+@@ -82,7 +82,7 @@
+ @$(CC) $(CPPFLAGS) $(CFLAGS) -MMD $(LDFLAGS) -o $@ $< $(filter-out %.h %.c,$^) $(LOADLIBES) $(LDLIBS)
+ %.so:
+ @echo CC $@
+- @$(CC) -shared -o $@ $^
++ @$(CC) -shared $(LDFLAGS) -o $@ $^
+ %.a:
+ @echo AR $@
+ @$(AR) rcs $@ $^
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..5bbad86
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,12 @@
+#!/usr/bin/make -f
+
+%:
+ dh $@
+
+override_dh_installdocs:
+ dh_installdocs
+ # install READMEs into doc/dvb-apps
+ cp -a util/av7110_loadkeys/README debian/dvb-apps/usr/share/doc/dvb-apps/README.av7110_loadkeys
+ cp -a util/scan/README debian/dvb-apps/usr/share/doc/dvb-apps/README.scan
+ cp -a util/szap/README debian/dvb-apps/usr/share/doc/dvb-apps/README.szap
+ cp -a util/ttusb_dec_reset/README debian/dvb-apps/usr/share/doc/dvb-apps/README.ttusb_dec_reset
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..136a542
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,5 @@
+version=3
+http://www.linuxtv.org/downloads/legacy/ linuxtv-dvb-apps-(.*)\.tar\.bz2
+
+# Latest HG revision available from:
+# http://linuxtv.org/hg/dvb-apps
diff --git a/lib/libucsi/dvb/mosaic_descriptor.h b/lib/libucsi/dvb/mosaic_descriptor.h
index 6da1e95..ef2b7aa 100644
--- a/lib/libucsi/dvb/mosaic_descriptor.h
+++ b/lib/libucsi/dvb/mosaic_descriptor.h
@@ -129,7 +129,6 @@ static inline struct dvb_mosaic_descriptor*
struct dvb_mosaic_info *e =
(struct dvb_mosaic_info*) (buf+pos);
struct dvb_mosaic_info_part2 *e2;
- struct dvb_mosaic_linkage *linkage;
if ((pos + sizeof(struct dvb_mosaic_info)) > len)
return NULL;
@@ -149,8 +148,6 @@ static inline struct dvb_mosaic_descriptor*
if (pos > len)
return NULL;
- linkage = (struct dvb_mosaic_linkage*) (buf+pos);
-
switch(e2->cell_linkage_info) {
case 0x01:
if ((pos + sizeof(struct dvb_mosaic_linkage_01)) > len)
diff --git a/test/libesg/testesg.c b/test/libesg/testesg.c
index f2183ac..c9788ae 100644
--- a/test/libesg/testesg.c
+++ b/test/libesg/testesg.c
@@ -199,7 +199,7 @@ int main(int argc, char *argv[]) {
struct esg_namespace_prefix *namespace_prefix = NULL;
struct esg_xml_fragment_type *xml_fragment_type = NULL;
struct esg_bim_encoding_parameters *bim_encoding_parameters = NULL;
- struct esg_bim_decoder_init *bim_decoder_init = NULL;
+// struct esg_bim_decoder_init *bim_decoder_init = NULL;
struct esg_session_partition_declaration *partition = NULL;
struct esg_session_field *field = NULL;
struct esg_session_ip_stream *ip_stream = NULL;
diff --git a/test/libucsi/testucsi.c b/test/libucsi/testucsi.c
index e0a16c1..1e17104 100644
--- a/test/libucsi/testucsi.c
+++ b/test/libucsi/testucsi.c
@@ -2022,9 +2022,8 @@ void parse_dvb_descriptor(struct descriptor *d, int indent, int data_type)
int network_id = dvb_linkage_data_08_network_id(dx, d08);
int initial_service_id = dvb_linkage_data_08_initial_service_id(dx, d08);
int length = 0;
- uint8_t *data;
- data = dvb_linkage_data_08_data(dx, d08, &length);
+ dvb_linkage_data_08_data(dx, d08, &length);
iprintf(indent, "DSC hand_over_type:%i origin_type:%i\n",
d08->hand_over_type, d08->origin_type);
if (network_id != -1) {
diff --git a/test/lock_s.c b/test/lock_s.c
index 7bbab59..b3bcd70 100644
--- a/test/lock_s.c
+++ b/test/lock_s.c
@@ -451,7 +451,7 @@ int main(int argc, char *argv[])
{
int opt;
int ret, fd, adapter=0, frontend=0, pos;
- int simple;
+// int simple;
struct lnb_types_st lnb;
struct sec_params sec;
@@ -486,7 +486,7 @@ int main(int argc, char *argv[])
}
break;
case 'H':
- simple = 1; /* human readable */
+// simple = 1; /* human readable */
break;
}
}
diff --git a/test/test_av_play.c b/test/test_av_play.c
index b7ad867..2b342db 100644
--- a/test/test_av_play.c
+++ b/test/test_av_play.c
@@ -245,7 +245,7 @@ static void copy_to_dvb(int vfd, int afd, int cfd, const uint8_t* ptr, const uns
{
struct pollfd pfd[NFD];
unsigned short pos = 0;
- int stopped = 0;
+// int stopped = 0;
pfd[0].fd = STDIN_FILENO;
pfd[0].events = POLLIN;
@@ -284,7 +284,7 @@ static void copy_to_dvb(int vfd, int afd, int cfd, const uint8_t* ptr, const uns
}
deviceClear(afd, -1);
printf("playback frozen\n");
- stopped = 1;
+// stopped = 1;
break;
case 's':
@@ -296,7 +296,7 @@ static void copy_to_dvb(int vfd, int afd, int cfd, const uint8_t* ptr, const uns
deviceClear(afd, vfd);
}
printf("playback stopped\n");
- stopped = 1;
+// stopped = 1;
break;
case 'c':
@@ -310,7 +310,7 @@ static void copy_to_dvb(int vfd, int afd, int cfd, const uint8_t* ptr, const uns
videoContinue(vfd);
}
printf("playback continued\n");
- stopped = 0;
+// stopped = 0;
break;
case 'p':
@@ -326,7 +326,7 @@ static void copy_to_dvb(int vfd, int afd, int cfd, const uint8_t* ptr, const uns
}
audioSetMute(afd, 0);
printf("playback started\n");
- stopped = 0;
+// stopped = 0;
break;
case 'f':
@@ -336,21 +336,21 @@ static void copy_to_dvb(int vfd, int afd, int cfd, const uint8_t* ptr, const uns
videoFastForward(vfd,0);
}
printf("fastforward\n");
- stopped = 0;
+// stopped = 0;
break;
case 'm':
audioSetAVSync(afd, 0);
audioSetMute(afd, 1);
printf("mute\n");
- stopped = 0;
+// stopped = 0;
break;
case 'u':
audioSetAVSync(afd, 1);
audioSetMute(afd, 0);
printf("unmute\n");
- stopped = 0;
+// stopped = 0;
break;
case 'd':
@@ -367,7 +367,7 @@ static void copy_to_dvb(int vfd, int afd, int cfd, const uint8_t* ptr, const uns
videoSlowMotion(vfd,2);
}
printf("slowmotion\n");
- stopped = 0;
+// stopped = 0;
break;
case 'q':
diff --git a/test/test_video.c b/test/test_video.c
index fe2f440..286b1d1 100644
--- a/test/test_video.c
+++ b/test/test_video.c
@@ -229,7 +229,7 @@ void play_file_video(int filefd, int fd)
int count;
int written;
struct pollfd pfd[NFD];
- int stopped = 0;
+// int stopped = 0;
pfd[0].fd = STDIN_FILENO;
pfd[0].events = POLLIN;
@@ -258,37 +258,37 @@ void play_file_video(int filefd, int fd)
case 'z':
videoFreeze(fd);
printf("playback frozen\n");
- stopped = 1;
+// stopped = 1;
break;
case 's':
videoStop(fd);
printf("playback stopped\n");
- stopped = 1;
+// stopped = 1;
break;
case 'c':
videoContinue(fd);
printf("playback continued\n");
- stopped = 0;
+// stopped = 0;
break;
case 'p':
videoPlay(fd);
printf("playback started\n");
- stopped = 0;
+// stopped = 0;
break;
case 'f':
videoFastForward(fd,0);
printf("fastforward\n");
- stopped = 0;
+// stopped = 0;
break;
case 'm':
videoSlowMotion(fd,2);
printf("slowmotion\n");
- stopped = 0;
+// stopped = 0;
break;
case 'q':
diff --git a/util/lsdvb/lsdvb.c b/util/lsdvb/lsdvb.c
index 7a206aa..065a844 100644
--- a/util/lsdvb/lsdvb.c
+++ b/util/lsdvb/lsdvb.c
@@ -139,7 +139,7 @@ int read_device_uevent(char *uevent,
char line[128];
char *token = NULL;
char *tmp;
- int i;
+ unsigned int i;
/* get uevent file */
sprintf(uf_name, "%s/%s", uevent, "device/uevent");
diff --git a/util/scan/Makefile b/util/scan/Makefile
index 32d1f1c..ac7fb6e 100644
--- a/util/scan/Makefile
+++ b/util/scan/Makefile
@@ -14,7 +14,7 @@ inst_bin = $(binaries)
removing = atsc_psip_section.c atsc_psip_section.h
-CPPFLAGS += -DDATADIR=\"$(prefix)/share\"
+CPPFLAGS += -Wno-packed-bitfield-compat -D__KERNEL_STRICT_NAMES
.PHONY: all
diff --git a/util/scan/dvb-c/fi-sonera b/util/scan/dvb-c/fi-sonera
index 54f3fe9..2eee9f9 100644
--- a/util/scan/dvb-c/fi-sonera
+++ b/util/scan/dvb-c/fi-sonera
@@ -5,8 +5,19 @@
C 154000000 6900000 NONE QAM128
C 162000000 6900000 NONE QAM128
C 170000000 6900000 NONE QAM128
+C 234000000 6900000 NONE QAM256
+C 242000000 6900000 NONE QAM256
+C 250000000 6900000 NONE QAM256
+C 258000000 6900000 NONE QAM256
+C 266000000 6900000 NONE QAM256
C 314000000 6900000 NONE QAM128
C 322000000 6900000 NONE QAM128
C 338000000 6900000 NONE QAM128
C 346000000 6900000 NONE QAM128
C 354000000 6900000 NONE QAM128
+C 362000000 6900000 NONE QAM128
+C 370000000 6900000 NONE QAM128
+C 378000000 6900000 NONE QAM128
+C 386000000 6900000 NONE QAM128
+C 394000000 6900000 NONE QAM128
+C 402000000 6900000 NONE QAM128
diff --git a/util/scan/dvb-c/nl-UPC b/util/scan/dvb-c/nl-UPC
new file mode 100644
index 0000000..83c8951
--- /dev/null
+++ b/util/scan/dvb-c/nl-UPC
@@ -0,0 +1,7 @@
+# Initial Tuning file for nl-UPC
+# This file only lists the main
+# frequencies. You still need to do
+# a network scan to find other
+# transponders.
+
+C 164000000 6900000 NONE QAM64
diff --git a/util/scan/dvb-c/nl-Ziggo-Zwolle b/util/scan/dvb-c/nl-Ziggo-Zwolle
deleted file mode 100644
index e47b4ac..0000000
--- a/util/scan/dvb-c/nl-Ziggo-Zwolle
+++ /dev/null
@@ -1,26 +0,0 @@
-C 313000000 6875000 NONE QAM64 # TS 1
-C 361000000 6875000 NONE QAM64 # TS 2
-C 353000000 6875000 NONE QAM64 # TS 3
-C 345000000 6875000 NONE QAM64 # TS 4
-C 818000000 6875000 NONE QAM64 # TS 5
-C 329000000 6875000 NONE QAM64 # TS 6
-C 810000000 6875000 NONE QAM64 # TS 7
-C 305000000 6875000 NONE QAM64 # TS 8
-C 762000000 6875000 NONE QAM64 # TS 9
-C 618000000 6875000 NONE QAM64 # TS 10
-C 610000000 6875000 NONE QAM64 # TS 11
-C 337000000 6875000 NONE QAM64 # TS 12
-C 321000000 6875000 NONE QAM64 # TS 13
-C 385000000 6875000 NONE QAM64 # TS 14
-C 393000000 6875000 NONE QAM64 # TS 15
-C 401000000 6875000 NONE QAM64 # TS 16
-C 369000000 6875000 NONE QAM64 # TS 18 (main TS)
-C 297000000 6875000 NONE QAM64 # TS 19
-C 377000000 6875000 NONE QAM64 # TS 22
-C 754000000 6875000 NONE QAM64 # TS 23
-C 642000000 6875000 NONE QAM64 # TS 24
-C 650000000 6875000 NONE QAM64 # TS 25
-C 794000000 6875000 NONE QAM64 # TS 26
-C 409000000 6875000 NONE QAM64 # TS 27
-C 425000000 6875000 NONE QAM64 # TS 206
-C 417000000 6875000 NONE QAM64 # TS 207
diff --git a/util/scan/dvb-h/README b/util/scan/dvb-h/README
deleted file mode 100644
index 50e137d..0000000
--- a/util/scan/dvb-h/README
+++ /dev/null
@@ -1,3 +0,0 @@
-These files are mainly for informational and experimental purposes.
-The DVB-H file format hasn't been specified in any way; currently it's just
-a copy of the DVB-T format.
diff --git a/util/scan/dvb-h/fi-Helsinki b/util/scan/dvb-h/fi-Helsinki
deleted file mode 100644
index c593929..0000000
--- a/util/scan/dvb-h/fi-Helsinki
+++ /dev/null
@@ -1,2 +0,0 @@
-# H freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-H 586000000 8MHz 1/2 NONE QAM16 8k 1/8 NONE
diff --git a/util/scan/dvb-h/fi-Oulu b/util/scan/dvb-h/fi-Oulu
deleted file mode 100644
index 7a6be88..0000000
--- a/util/scan/dvb-h/fi-Oulu
+++ /dev/null
@@ -1,2 +0,0 @@
-# H freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-H 498000000 8MHz 1/2 NONE QAM16 8k 1/8 NONE
diff --git a/util/scan/dvb-h/fi-Oulu-Nokia-devel b/util/scan/dvb-h/fi-Oulu-Nokia-devel
deleted file mode 100644
index 6213607..0000000
--- a/util/scan/dvb-h/fi-Oulu-Nokia-devel
+++ /dev/null
@@ -1,4 +0,0 @@
-# Nokia Oulu delelopment network
-# Network Name 'Nokia Oulu'
-# H freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-H 690000000 8MHz 1/2 NONE QPSK 8k 1/8 NONE
diff --git a/util/scan/dvb-h/fi-Turku b/util/scan/dvb-h/fi-Turku
deleted file mode 100644
index 7a6be88..0000000
--- a/util/scan/dvb-h/fi-Turku
+++ /dev/null
@@ -1,2 +0,0 @@
-# H freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-H 498000000 8MHz 1/2 NONE QAM16 8k 1/8 NONE
diff --git a/util/scan/dvb-s/AMC2-85w b/util/scan/dvb-s/AMC16-85.0W
index 0cd0611..0cd0611 100644
--- a/util/scan/dvb-s/AMC2-85w
+++ b/util/scan/dvb-s/AMC16-85.0W
diff --git a/util/scan/dvb-s/AMC9-83w b/util/scan/dvb-s/AMC9-83.0W
index b7d0882..b7d0882 100644
--- a/util/scan/dvb-s/AMC9-83w
+++ b/util/scan/dvb-s/AMC9-83.0W
diff --git a/util/scan/dvb-s/BrasilSat-B3-84.0W b/util/scan/dvb-s/BrasilsatB4-84.0W
index 5ad005e..5ad005e 100644
--- a/util/scan/dvb-s/BrasilSat-B3-84.0W
+++ b/util/scan/dvb-s/BrasilsatB4-84.0W
diff --git a/util/scan/dvb-s/Chinastar1_C-87.5E b/util/scan/dvb-s/ChinaSat5A-87.5E
index 0c03cfc..0c03cfc 100644
--- a/util/scan/dvb-s/Chinastar1_C-87.5E
+++ b/util/scan/dvb-s/ChinaSat5A-87.5E
diff --git a/util/scan/dvb-s/Eurobird9-9.0E b/util/scan/dvb-s/Eutelsat9-9.0E
index 925980a..925980a 100644
--- a/util/scan/dvb-s/Eurobird9-9.0E
+++ b/util/scan/dvb-s/Eutelsat9-9.0E
diff --git a/util/scan/dvb-s/Galaxy11-91w b/util/scan/dvb-s/Galaxy17-91.0W
index 81aa25b..365e541 100644
--- a/util/scan/dvb-s/Galaxy11-91w
+++ b/util/scan/dvb-s/Galaxy17-91.0W
@@ -1,6 +1,5 @@
-# Galaxy 11 @ 91W
+# Galaxy 17 @ 91W
# freq pol sr fec
-
S 10964000 V 19850000 AUTO
S 10994000 V 20000000 AUTO
S 11024000 V 20000000 AUTO
diff --git a/util/scan/dvb-s/IA5-97w b/util/scan/dvb-s/Galaxy19-97.0W
index 76c3297..3422b69 100644
--- a/util/scan/dvb-s/IA5-97w
+++ b/util/scan/dvb-s/Galaxy19-97.0W
@@ -1,11 +1,11 @@
-# Intelsat Americas 5 @ 97W
+# Galaxy 19 @ 97W
# freq pol sr fec
-
-S 11789000 V 25000000 AUTO
+S 11789000 V 28125000 AUTO
S 11836000 V 20765000 AUTO
S 11867000 V 22000000 AUTO
S 11874000 H 22000000 AUTO
S 11898000 V 22000000 AUTO
+S 11936000 H 20000000 AUTO
S 11966000 H 22000000 AUTO
S 11991000 V 22000000 AUTO
S 12053000 V 22000000 AUTO
diff --git a/util/scan/dvb-s/IA6-93w b/util/scan/dvb-s/Galaxy25-93.0W
index eb5d93a..37f1a4a 100644
--- a/util/scan/dvb-s/IA6-93w
+++ b/util/scan/dvb-s/Galaxy25-93.0W
@@ -1,18 +1,17 @@
-# Intelsat Americas 6 @ 93W
+# Galaxy 25 @ 93W
# freq pol sr fec
-
S 11711000 V 14312000 AUTO
S 11721000 V 03979000 AUTO
S 11727000 V 03979000 AUTO
S 11732000 V 03979000 AUTO
-S 11737000 V 03979000 AUTO
S 11737000 H 03979000 AUTO
+S 11737000 V 03979000 AUTO
S 11742000 V 03979000 AUTO
S 11748000 V 03979000 AUTO
S 11753000 V 03979000 AUTO
S 11767000 V 03979000 AUTO
-S 11772000 V 03979000 AUTO
S 11772000 H 03979000 AUTO
+S 11772000 V 03979000 AUTO
S 11777000 V 03979000 AUTO
S 11782000 V 03979000 AUTO
S 11788000 V 03979000 AUTO
@@ -25,6 +24,7 @@ S 11841000 H 04000000 AUTO
S 11865000 V 03516000 AUTO
S 11887000 V 03979000 AUTO
S 11893000 V 03979000 AUTO
+S 11904000 H 03010000 AUTO
S 11904000 V 05000000 AUTO
S 11919000 V 03979000 AUTO
S 11924000 V 03979000 AUTO
diff --git a/util/scan/dvb-s/Galaxy25-97w b/util/scan/dvb-s/Galaxy25-97w
deleted file mode 100644
index be6e7cc..0000000
--- a/util/scan/dvb-s/Galaxy25-97w
+++ /dev/null
@@ -1,19 +0,0 @@
-# Galaxy 25 @ 97W
-# freq pol sr fec
-
-S 11789000 V 28125000 AUTO
-S 11836000 V 20770000 AUTO
-S 11867000 V 22000000 AUTO
-S 11874000 H 22000000 AUTO
-S 11898000 V 22000000 AUTO
-S 11936000 H 20000000 AUTO
-S 11966000 H 22000000 AUTO
-S 11991000 V 22000000 AUTO
-S 11999000 H 20000000 AUTO
-S 12053000 V 22000000 AUTO
-S 12084000 V 22000000 AUTO
-S 12090000 H 20000000 AUTO
-S 12115000 V 22425000 AUTO
-S 12146000 V 22000000 AUTO
-S 12152000 H 20000000 AUTO
-S 12177000 V 23000000 AUTO
diff --git a/util/scan/dvb-s/Galaxy26-93w b/util/scan/dvb-s/Galaxy26-93w
deleted file mode 100644
index 9388a1a..0000000
--- a/util/scan/dvb-s/Galaxy26-93w
+++ /dev/null
@@ -1,58 +0,0 @@
-# Galaxy 26 @ 93W
-# freq pol sr fec
-
-S 11711000 V 14312000 AUTO
-S 11721000 V 03979000 AUTO
-S 11727000 V 03979000 AUTO
-S 11732000 V 03979000 AUTO
-S 11737000 V 03979000 AUTO
-S 11737000 H 03979000 AUTO
-S 11742000 V 03979000 AUTO
-S 11748000 V 03979000 AUTO
-S 11753000 V 03979000 AUTO
-S 11767000 V 03979000 AUTO
-S 11772000 V 03979000 AUTO
-S 11772000 H 03979000 AUTO
-S 11777000 V 03979000 AUTO
-S 11782000 V 03979000 AUTO
-S 11788000 V 03979000 AUTO
-S 11793000 V 03979000 AUTO
-S 11809000 V 03979000 AUTO
-S 11814000 V 03979000 AUTO
-S 11841000 H 04000000 AUTO
-S 11887000 V 03979000 AUTO
-S 11893000 V 03979000 AUTO
-S 11904000 H 03010000 AUTO
-S 11919000 V 03979000 AUTO
-S 11924000 V 03979000 AUTO
-S 11926000 H 08848000 AUTO
-S 11929000 V 03979000 AUTO
-S 11935000 V 03979000 AUTO
-S 11936000 H 08848000 AUTO
-S 11944000 H 08848000 AUTO
-S 11949000 V 03979000 AUTO
-S 11954000 V 03979000 AUTO
-S 11956000 H 03979000 AUTO
-S 11960000 V 03979000 AUTO
-S 11961000 H 03979000 AUTO
-S 11965000 V 03979000 AUTO
-S 11967000 H 03979000 AUTO
-S 11970000 V 03979000 AUTO
-S 11972000 H 03979000 AUTO
-S 11977000 H 03979000 AUTO
-S 12047000 V 03979000 AUTO
-S 12048000 H 03979000 AUTO
-S 12054000 H 03979000 AUTO
-S 12058000 V 03979000 AUTO
-S 12059000 H 03979000 AUTO
-S 12063000 V 03979000 AUTO
-S 12064000 H 03979000 AUTO
-S 12069000 H 03979000 AUTO
-S 12076000 V 08681000 AUTO
-S 12089000 V 06511000 AUTO
-S 12110000 H 04104000 AUTO
-S 12116000 H 03979000 AUTO
-S 12121000 H 03979000 AUTO
-S 12126000 H 03979000 AUTO
-S 12132000 H 03979000 AUTO
-S 12175000 V 05147000 AUTO
diff --git a/util/scan/dvb-s/Galaxy28-89w b/util/scan/dvb-s/Galaxy28-89.0W
index 15a6e54..79592bd 100644
--- a/util/scan/dvb-s/Galaxy28-89w
+++ b/util/scan/dvb-s/Galaxy28-89.0W
@@ -1,6 +1,6 @@
# Galaxy 28 @ 89W
+# Intelsat Americas 8 @ 89W
# freq pol sr fec
-
S 11717000 H 04411000 AUTO
S 11747000 H 06620000 AUTO
S 11756000 H 06620000 AUTO
@@ -16,11 +16,12 @@ S 11936000 H 06000000 AUTO
S 11940000 H 03979000 AUTO
S 11945000 H 03979000 AUTO
S 11950000 H 03979000 AUTO
-S 11955000 V 19532000 AUTO
+S 11955000 H 03979000 AUTO
S 11960000 H 28800000 AUTO
S 11965000 H 03979000 AUTO
S 11970000 H 03979000 AUTO
-S 11975000 V 03979000 AUTO
+S 11970000 V 03979000 AUTO
+S 11975000 H 03979000 AUTO
S 11980000 H 03979000 AUTO
S 11985000 H 03979000 AUTO
S 11989000 V 06111000 AUTO
diff --git a/util/scan/dvb-s/Galaxy3C-95w b/util/scan/dvb-s/Galaxy3C-95.0W
index 9d1e0d6..c62fff4 100644
--- a/util/scan/dvb-s/Galaxy3C-95w
+++ b/util/scan/dvb-s/Galaxy3C-95.0W
@@ -1,4 +1,3 @@
# Galaxy 3C @ 95W
# freq pol sr fec
-
S 11780000 H 20760000 AUTO
diff --git a/util/scan/dvb-s/IA8-89w b/util/scan/dvb-s/IA8-89w
deleted file mode 100644
index ba1dd84..0000000
--- a/util/scan/dvb-s/IA8-89w
+++ /dev/null
@@ -1,34 +0,0 @@
-# Intelsat Americas 8 @ 89W
-# freq pol sr fec
-
-S 11780000 H 29000000 AUTO
-S 11925000 H 03979000 AUTO
-S 11930000 H 03979000 AUTO
-S 11935000 H 03979000 AUTO
-S 11940000 H 03979000 AUTO
-S 11945000 H 03979000 AUTO
-S 11945000 V 03979000 AUTO
-S 11950000 H 03979000 AUTO
-S 11950000 V 03979000 AUTO
-S 11955000 H 03979000 AUTO
-S 11955000 V 03979000 AUTO
-S 11960000 V 03979000 AUTO
-S 11965000 V 03979000 AUTO
-S 11965000 H 03979000 AUTO
-S 11970000 V 03979000 AUTO
-S 11970000 H 03979000 AUTO
-S 11975000 V 03979000 AUTO
-S 11975000 H 03979000 AUTO
-S 11980000 H 03979000 AUTO
-S 11985000 H 03979000 AUTO
-S 11989000 V 06111000 AUTO
-S 11990000 H 03979000 AUTO
-S 11995000 H 03979000 AUTO
-S 12009000 V 06111000 AUTO
-S 12164000 H 03979000 AUTO
-S 12170000 H 03979000 AUTO
-S 12175000 H 03979000 AUTO
-S 12180000 H 03979000 AUTO
-S 12185000 H 03979000 AUTO
-S 12191000 H 03979000 AUTO
-S 12196000 H 03979000 AUTO
diff --git a/util/scan/dvb-s/AMC3-87w b/util/scan/dvb-s/SES2-87.0W
index a081c57..a081c57 100644
--- a/util/scan/dvb-s/AMC3-87w
+++ b/util/scan/dvb-s/SES2-87.0W
diff --git a/util/scan/dvb-t/ar-Argentina b/util/scan/dvb-t/ar-Argentina
new file mode 100644
index 0000000..fb2e3d0
--- /dev/null
+++ b/util/scan/dvb-t/ar-Argentina
@@ -0,0 +1,63 @@
+# ISDB-T channel frequencies as defined in Brazil
+# By ABNT NBR 15608-1
+# VHF channels 7 to 13 are also specified but not in usage yet
+#
+# UHF channels 14 to 69
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+T 473142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 14
+T 479142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 15
+T 485142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 16
+T 491142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 17
+T 497142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 18
+T 503142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 19
+T 509142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 20
+T 515142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 21
+T 521142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 22
+T 527142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 23
+T 533142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 24
+T 539142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 25
+T 545142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 26
+T 551142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 27
+T 557142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 28
+T 563142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 29
+T 569142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 30
+T 575142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 31
+T 581142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 32
+T 587142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 33
+T 593142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 34
+T 599142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 35
+T 605142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 36
+# channel 37 not used
+T 617142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 38
+T 623142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 39
+T 629142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 40
+T 635142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 41
+T 641142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 42
+T 647142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 43
+T 653142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 44
+T 659142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 45
+T 665142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 46
+T 671142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 47
+T 677142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 48
+T 683142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 49
+T 689142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 50
+T 695142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 51
+T 701142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 52
+T 707142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 53
+T 713142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 54
+T 719142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 55
+T 725142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 56
+T 731142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 57
+T 737142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 58
+T 743142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 59
+T 749142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 60
+T 755142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 61
+T 761142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 62
+T 767142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 63
+T 773142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 64
+T 779142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 65
+T 785142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 66
+T 791142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 67
+T 797142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 68
+T 803142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 69
+
diff --git a/util/scan/dvb-t/auto-Italy b/util/scan/dvb-t/auto-Italy
deleted file mode 100644
index 160bf73..0000000
--- a/util/scan/dvb-t/auto-Italy
+++ /dev/null
@@ -1,72 +0,0 @@
-# for $freq (177500000, 186000000, 194500000, 203500000, 212500000, 219500000, 226500000) {
-# print "T $freq 7MHz AUTO NONE AUTO AUTO AUTO NONE\n";
-# print "T $freq 8MHz AUTO NONE AUTO AUTO AUTO NONE\n";
-# }
-# for ($freq = 474000000; $freq <= 858000000; $freq += 8000000) {
-# print "T $freq 8MHz AUTO NONE AUTO AUTO AUTO NONE\n";
-# }
-#
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-T 177500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
-T 177500000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 186000000 7MHz AUTO NONE AUTO AUTO AUTO NONE
-T 186000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 194500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
-T 194500000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 203500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
-T 203500000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 212500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
-T 212500000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 219500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
-T 219500000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 226500000 7MHz AUTO NONE AUTO AUTO AUTO NONE
-T 226500000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 474000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 482000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 490000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 498000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 506000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 514000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 522000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 530000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 538000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 546000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 554000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 562000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 570000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 578000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 586000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 594000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 602000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 610000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 618000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 626000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 634000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 642000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 650000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 658000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 666000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 674000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 682000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 690000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 698000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 706000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 714000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 722000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 730000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 738000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 746000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 754000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 762000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 770000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 778000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 786000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 794000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 802000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 810000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 818000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 826000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 834000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 842000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 850000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
-T 858000000 8MHz AUTO NONE AUTO AUTO AUTO NONE
diff --git a/util/scan/dvb-t/br-Brazil b/util/scan/dvb-t/br-Brazil
new file mode 100644
index 0000000..fb2e3d0
--- /dev/null
+++ b/util/scan/dvb-t/br-Brazil
@@ -0,0 +1,63 @@
+# ISDB-T channel frequencies as defined in Brazil
+# By ABNT NBR 15608-1
+# VHF channels 7 to 13 are also specified but not in usage yet
+#
+# UHF channels 14 to 69
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+T 473142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 14
+T 479142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 15
+T 485142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 16
+T 491142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 17
+T 497142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 18
+T 503142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 19
+T 509142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 20
+T 515142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 21
+T 521142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 22
+T 527142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 23
+T 533142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 24
+T 539142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 25
+T 545142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 26
+T 551142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 27
+T 557142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 28
+T 563142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 29
+T 569142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 30
+T 575142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 31
+T 581142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 32
+T 587142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 33
+T 593142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 34
+T 599142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 35
+T 605142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 36
+# channel 37 not used
+T 617142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 38
+T 623142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 39
+T 629142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 40
+T 635142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 41
+T 641142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 42
+T 647142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 43
+T 653142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 44
+T 659142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 45
+T 665142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 46
+T 671142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 47
+T 677142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 48
+T 683142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 49
+T 689142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 50
+T 695142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 51
+T 701142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 52
+T 707142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 53
+T 713142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 54
+T 719142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 55
+T 725142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 56
+T 731142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 57
+T 737142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 58
+T 743142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 59
+T 749142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 60
+T 755142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 61
+T 761142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 62
+T 767142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 63
+T 773142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 64
+T 779142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 65
+T 785142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 66
+T 791142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 67
+T 797142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 68
+T 803142857 6MHz AUTO AUTO AUTO AUTO AUTO NONE # channel 69
+
diff --git a/util/scan/dvb-t/cz-All b/util/scan/dvb-t/cz-All
index 7c6d601..29875b1 100644
--- a/util/scan/dvb-t/cz-All
+++ b/util/scan/dvb-t/cz-All
@@ -3,39 +3,50 @@
# and http://www.digizone.cz/texty/mapy-pokryti-multiplex-2-radiokomunikace/
# and http://www.digizone.cz/texty/mapy-pokryti-multiplex-3-czech-digital-group/
# and http://www.digizone.cz/texty/mapy-pokryti-multiplex-4-telefonica-o2/
+# and http://www.digitalnitelevize.cz/informace/dvb-t/vysilaci-sit-1.html
+# and http://www.digitalnitelevize.cz/informace/dvb-t/vysilaci-sit-2.html
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-T 482000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
+# multiplexes 1+2
T 506000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 538000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 546000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 562000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 570000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 578000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 586000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 594000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 602000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
+T 610000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 618000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 626000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 634000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 650000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
-T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
-T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
+T 674000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 690000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 698000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 706000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 714000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 722000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 730000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 746000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
+T 762000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 770000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 778000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 786000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
T 794000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 802000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
-T 810000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
-T 818000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
-T 826000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
+# multiplex 3
+T 482000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 506000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 546000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 578000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 698000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 714000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 722000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 746000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 778000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 786000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+# multiplex 4
+T 506000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 546000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 642000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 658000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 666000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 754000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 810000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 818000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/de-Baden-Wuerttemberg b/util/scan/dvb-t/de-Baden-Wuerttemberg
index 200ef17..bc69e09 100644
--- a/util/scan/dvb-t/de-Baden-Wuerttemberg
+++ b/util/scan/dvb-t/de-Baden-Wuerttemberg
@@ -10,7 +10,7 @@ T 618000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH39: SWR-BW, Bayerisches Fernsehe
T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: SWR-BW, Bayerisches Fernsehen, hr, WDR
T 634000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH41: SWR-BW, Bayerisches Fernsehen, hr, WDR
T 650000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH43: Das Erste, arte, Phoenix, EinsPlus
-T 666000000 8MHz 3/4 NONE QAM16 8k 1/8 NONE # CH45: RTL, RTL 2, Super RTL, VOX, RTL Crime, Passion [Sendenorm: MPEG-4]
+T 666000000 8MHz 3/4 NONE QAM16 8k 1/8 NONE # CH45: RTL, RTL2, Super RTL, VOX, RTL Crime, Passion [Sendenorm: MPEG-4]
T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH49: SWR-BW, Bayerisches Fernsehen, hr, WDR
T 706000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH50: SWR-BW, Bayerisches Fernsehen, hr, WDR
T 722000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH52: Das Erste, arte, Phoenix, EinsPlus
diff --git a/util/scan/dvb-t/de-Bayern b/util/scan/dvb-t/de-Bayern
index 6839380..bf3b55e 100644
--- a/util/scan/dvb-t/de-Bayern
+++ b/util/scan/dvb-t/de-Bayern
@@ -1,7 +1,6 @@
# DVB-T Bayern
# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-T 191500000 7MHz 3/4 NONE QAM16 8k 1/4 NONE # CH07: Das Erste, arte, Phoenix, EinsPlus (bis zum 11.12.2011)
T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH23: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
T 506000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH25: Bayerisches Fernsehen, BR-alpha, SWR, EinsExtra
# CH25: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
@@ -17,7 +16,6 @@ T 618000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH39: Bayerisches Fernsehen, BR-al
T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: Bayerisches Fernsehen, BR-alpha, MDR, hr
# CH40: Das Erste, arte, Phoenix, EinsPlus
T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: Das Erste, arte, Phoenix, EinsPlus
- # CH42: Das Erste, arte, Phoenix, EinsPlus (Kanalwechsel am 12.12.2011)
# CH42: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
T 658000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH44: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: Das Erste, arte, Phoenix, EinsPlus
diff --git a/util/scan/dvb-t/de-Berlin b/util/scan/dvb-t/de-Berlin
index d66a54d..4881a88 100644
--- a/util/scan/dvb-t/de-Berlin
+++ b/util/scan/dvb-t/de-Berlin
@@ -6,7 +6,7 @@ T 522000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH27: Das Erste, RBB, Phoenix, Ein
T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE # CH39: QVC, DasVierte, Bibel.TV, BR-Fernsehen, n-tv, EuroNews/Channe21 Shop + 7 Radioprogr
T 658000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH44: ProSieben, Sat.1, Kabel1, N24
-T 682000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH47: MDR, NDR, arte
+T 682000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH47: MDR, NDR, arte, hr
T 706000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH50: Tele5, HSE 24, WDR, SWR (BW / RP)
T 754000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH56: Eurosport, TV.B, Music1, sixx,
-T 778000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH59: BerlinMix1, (freie Kapazitäten)
+T 778000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH59: BerlinerSpreekanal / JuveloTV, ServusTV, Anixe
diff --git a/util/scan/dvb-t/de-Bremen b/util/scan/dvb-t/de-Bremen
index 3be3735..1b4a86c 100644
--- a/util/scan/dvb-t/de-Bremen
+++ b/util/scan/dvb-t/de-Bremen
@@ -4,6 +4,6 @@
T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: Das Erste (RB), RB TV (NDR NDS), arte, Phoenix
T 538000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH29: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
T 562000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH32: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
-T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: RTL, RTL 2, Super RTL, VOX
-T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: Tele 5, SIXX, QVC, Mona/Das Vierte
+T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: RTL, RTL2, Super RTL, VOX
+T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: Tele 5, SIXX, QVC, Mona / Bibel TV / Das Vierte
T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH49: ProSieben, Sat.1, Kabel1, N24
diff --git a/util/scan/dvb-t/de-Hamburg b/util/scan/dvb-t/de-Hamburg
index 7e5bca3..806e2d6 100644
--- a/util/scan/dvb-t/de-Hamburg
+++ b/util/scan/dvb-t/de-Hamburg
@@ -5,7 +5,7 @@ T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH23: ZDF, 3sat, KiKa / ZDFneo, ZD
T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH28: NDR SH, WDR/NDR NDS, MDR/NDR MVP, BR Fernsehen/NDR HH
T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: ProSieben, Sat.1/ Sat.1Regional, Kabel1, N24
T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: Das Erste, arte, Phoenix, EinsExtra
-T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH36: Tele 5, Das Vierte, QVC, Channel21/ Euronews
-T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: RTL / Guten Abend RTL, RTL 2, Super RTL, VOX
+T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH36: Tele5, Das Vierte, QVC, Channel21/ Euronews
+T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: RTL, RTL2, Super RTL, VOX
T 674000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH46: SIXX, Hamburg 1, Bibel TV, Eurosport
T 738000000 8MHz 1/2 NONE QAM64 8k 1/8 NONE # CH54: NDR HH, WDR/NDR NDS, MDR/NDR MVP, BR Fernsehen/NDR SH
diff --git a/util/scan/dvb-t/de-Hessen b/util/scan/dvb-t/de-Hessen
index 132c02a..b1fca3a 100644
--- a/util/scan/dvb-t/de-Hessen
+++ b/util/scan/dvb-t/de-Hessen
@@ -3,17 +3,17 @@
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
T 474000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH21: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
-T 498000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH24: Phoenix, Bayerisches Fernsehen, SWR-RP, WDR
+T 498000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH24: hr, Bayerisches Fernsehen, SWR-RP, WDR
T 506000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH25: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
-T 562000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH32: Das Erste, hr, arte / EinsExtra
-T 578000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH34: RTL, RTL 2, Super RTL, VOX
-T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH35: Phoenix, Bayerisches Fernsehen, SWR-RP, MDR
-T 602000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH37: Das Erste, hr, arte / EinsExtra
-T 618000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH39: Phoenix, Bayerisches Fernsehen, SWR-RP
+T 562000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH32: Das Erste, Phoenix, arte, EinsExtra
+T 578000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH34: RTL, RTL2, Super RTL, VOX
+T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH35: hr, Bayerisches Fernsehen, SWR-RP, MDR
+T 602000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH37: Das Erste, Phoenix, arte, EinsExtra
+T 618000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH39: hr, Bayerisches Fernsehen, SWR-RP, rbb
T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
-T 650000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH43: Das Erste, hr, arte / EinsExtra
+T 650000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH43: Das Erste, Phoenix, arte, EinsExtra
T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
-T 722000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH52: Tele5, QVC, rheinmaintv / Channel21, Bibel.TV
-T 730000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH53: Bayerisches Fernsehen, hr, SWR-BW, WDR
+T 722000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH52: Tele5, QVC, rheinmaintv / Channel21, iMusic1 / Anixe
+T 730000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH53: hr, Bayerisches Fernsehen, SWR-BW, WDR
T 738000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH54: ProSieben, Sat.1, Kabel1, N24
-T 746000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH55: Phoenix, NDR, MDR, WDR
+T 746000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH55: hr, NDR, MDR, WDR
diff --git a/util/scan/dvb-t/de-Niedersachsen b/util/scan/dvb-t/de-Niedersachsen
index cf474d2..a02bd59 100644
--- a/util/scan/dvb-t/de-Niedersachsen
+++ b/util/scan/dvb-t/de-Niedersachsen
@@ -5,9 +5,9 @@ T 474000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH21: NDR NDS, WDR/NDR SH, MDR/NDR
T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: Das Erste (RB), RB TV (NDR NDS), arte, Phoenix
# CH22: Das Erste, arte, Phoenix, EinsExtra
T 490000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH23: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
-T 498000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH24: RTL, RTL 2, Super RTL, VOX
+T 498000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH24: RTL, RTL2, Super RTL, VOX
T 514000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH26: Das Erste, arte, Phoenix, EinsExtra
-T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH28: Tele 5, Nickelodeon/Comedy Central, Eurosport, Mona/Das Vierte
+T 530000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH28: Tele 5, Nickelodeon/Comedy Central, Eurosport, Mona / Bibel TV / Das Vierte
T 538000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH29: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
T 554000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH31: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
T 562000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH32: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
@@ -15,15 +15,15 @@ T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH35: ZDF, 3sat, KiKa / ZDFneo, ZD
T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH36: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
T 610000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH38: Das Erste, arte, Phoenix, EinsExtra
# CH38: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
-T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: RTL, RTL 2, Super RTL, VOX
+T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: RTL, RTL2, Super RTL, VOX
# CH42: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
T 650000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH43: Das Erste, arte, Phoenix, EinsExtra
# CH43: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
T 658000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH44: ProSieben, Sat.1, Kabel1, N24
-T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: Tele 5, SIXX, QVC, Mona/Das Vierte
+T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: Tele 5, SIXX, QVC, Mona / Bibel TV / Das Vierte
T 682000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH47: Das Erste, arte, Phoenix, EinsExtra
T 690000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH48: Das Erste, arte, Phoenix, EinsExtra
T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH49: ProSieben, Sat.1, Kabel1, N24
T 770000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH58: NDR NDS, WDR/NDR SH, MDR/NDR MVP, HR/NDR HH
T 778000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH59: Das Erste, arte, Phoenix, EinsExtra
-T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH60: Tele 5, Nickelodeon/Comedy Central, Eurosport, Mona/Das Vierte
+T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH60: Tele 5, Nickelodeon/Comedy Central, Eurosport, Mona / Bibel TV / Das Vierte
diff --git a/util/scan/dvb-t/de-Nordrhein-Westfalen b/util/scan/dvb-t/de-Nordrhein-Westfalen
index 0d60591..e0fbec3 100644
--- a/util/scan/dvb-t/de-Nordrhein-Westfalen
+++ b/util/scan/dvb-t/de-Nordrhein-Westfalen
@@ -1,23 +1,23 @@
# DVB-T Nordrhein-Westfalen
# Created from http://www.ueberallfernsehen.de/data/senderliste.pdf
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-T 506000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH25: WDR-Dortmund, NDR/WDR-Essen, MDR, SWR
+T 506000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH25: WDR-Dortmund, NDR/WDR-Ruhr, MDR, SWR
T 514000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH26: Das Erste, arte, Phoenix, EinsFestival
# CH26: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
-T 522000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE # CH27: WDR-Siegen, NDR, MDR, SWR
+T 522000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE # CH27: WDR-Südwestfalen, NDR, MDR, SWR
T 538000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH29: RTL, RTL2, Super RTL, VOX
T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
-T 554000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE # CH31: WDR-Bielefeld, NDR/WDR-Siegen, MDR, SWR
+T 554000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE # CH31: WDR-OWL_aktuell, NDR/WDR-Südwestfalen, MDR, SWR
T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH35: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH36: Tele5, CNN, Eurosport, VIVA
T 602000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE # CH37: WDR-Aachen, NDR/WDR-Köln, MDR, SWR
-T 674000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE # CH46: WDR-Düsseldorf, MDR/WDR-Duisburg, NDR/WDR-Wuppertal, SWR
+T 674000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE # CH46: WDR-Düsseldorf, MDR/WDR-Duisburg, NDR/WDR-Berg.Land, SWR
T 690000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH48: Das Erste, arte, Phoenix, EinsFestival
T 698000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE # CH49: WDR-Köln, MDR/WDR-Bonn, NDR/WDR-Aachen, SWR
T 706000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH50: Das Erste, arte, Phoenix, EinsFestival
T 722000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH52: Tele5, CNN, Eurosport, VIVA
T 730000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH53: ProSieben, Sat.1, Kabel1, N24
T 746000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH55: ProSieben, Sat.1, Kabel1, N24
-T 762000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH57: WDR-Essen, NDR/WDR-Dortmund, MDR, SWR
+T 762000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE # CH57: WDR-Ruhr, NDR/WDR-Dortmund, MDR, SWR
T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH60: Das Erste, arte, Phoenix, EinsFestival
diff --git a/util/scan/dvb-t/de-Rheinland-Pfalz b/util/scan/dvb-t/de-Rheinland-Pfalz
index 6eabe6d..c8f4b9e 100644
--- a/util/scan/dvb-t/de-Rheinland-Pfalz
+++ b/util/scan/dvb-t/de-Rheinland-Pfalz
@@ -9,4 +9,3 @@ T 674000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH46: Das Erste, arte, Phoenix, Ei
T 690000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH48: SWR-RP, Bayerisches Fernsehen, hr, WDR
T 754000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH56: Das Erste, arte, Phoenix, EinsPlus
T 762000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH57: Das Erste, arte, Phoenix, EinsPlus
-T 786000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH60: Das Erste, arte, Phoenix, EinsPlus
diff --git a/util/scan/dvb-t/de-Saarland b/util/scan/dvb-t/de-Saarland
index 7ac26b3..a55037d 100644
--- a/util/scan/dvb-t/de-Saarland
+++ b/util/scan/dvb-t/de-Saarland
@@ -4,4 +4,4 @@
T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
T 642000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH42: Das Erste, SR Fernsehen, arte, Phoenix
T 658000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH44: SWR-RP, Bayerisches Fernsehen, hr, WDR
-T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH49: Tele 5, QVC, Bibel.TV, freie Kapazität
+T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH49: Tele5, QVC, Bibel.TV, freie Kapazität
diff --git a/util/scan/dvb-t/de-Sachsen b/util/scan/dvb-t/de-Sachsen
index e56762f..274a949 100644
--- a/util/scan/dvb-t/de-Sachsen
+++ b/util/scan/dvb-t/de-Sachsen
@@ -5,7 +5,7 @@ T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: ZDF, 3sat, KiKa / ZDFneo, ZD
T 498000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH24: Das Erste, arte, Phoenix, EinsFestival
T 506000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH25: Das Erste, arte, Phoenix, EinsFestival
T 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH27: MDR-SN, rbb, Bayerisches Fernsehen, WDR
-T 530000000 8MHz 3/4 NONE QAM16 8k 1/8 NONE # CH28: RTL, RTL 2, Super RTL, VOX, RTL Crime, RTL Passion [Sendenorm: MPEG-4]
+T 530000000 8MHz 3/4 NONE QAM16 8k 1/8 NONE # CH28: RTL, RTL2, Super RTL, VOX, RTL Crime, Passion [Sendenorm: MPEG-4]
T 538000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH29: MDR-SN, rbb, Bayerisches Fernsehen, WDR
T 554000000 8MHz 2/3 NONE QAM16 8k 1/16 NONE # CH31: LF Leipzg.Ferns., InfoTVLeipzig, BBCWorld, Bibel.TV, RadioLeipzig, RadioHoreb
T 562000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH32: MDR-SN, rbb, Bayerisches Fernsehen, WDR
diff --git a/util/scan/dvb-t/de-Sachsen-Anhalt b/util/scan/dvb-t/de-Sachsen-Anhalt
index 9ff5de3..2b2afba 100644
--- a/util/scan/dvb-t/de-Sachsen-Anhalt
+++ b/util/scan/dvb-t/de-Sachsen-Anhalt
@@ -3,7 +3,7 @@
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
T 482000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH22: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
T 498000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH24: Das Erste, arte, Phoenix, EinsFestival
-T 530000000 8MHz 3/4 NONE QAM16 8k 1/8 NONE # CH28: RTL, RTL 2, Super RTL, VOX, RTL Crime, RTL Passion [Sendenorm: MPEG-4]
+T 530000000 8MHz 3/4 NONE QAM16 8k 1/8 NONE # CH28: RTL, RTL2, Super RTL, VOX, RTL Crime, Passion [Sendenorm: MPEG-4]
T 538000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH29: Das Erste, arte, Phoenix, EinsFestival
T 546000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH30: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
T 554000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH31: ZDF, 3sat, KiKa / ZDFneo, ZDFinfo
diff --git a/util/scan/dvb-t/de-Schleswig-Holstein b/util/scan/dvb-t/de-Schleswig-Holstein
index a4b905e..634f51b 100644
--- a/util/scan/dvb-t/de-Schleswig-Holstein
+++ b/util/scan/dvb-t/de-Schleswig-Holstein
@@ -11,8 +11,8 @@ T 554000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH31: ZDF, 3sat, KiKa / ZDFneo, ZD
T 570000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH33: Das Erste, arte, Phoenix, EinsExtra
T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH35: ProSieben, Sat.1/ Sat.1Regional, Kabel1, N24
T 618000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH39: NDR SH, WDR/NDR NDS, MDR/NDR MVP, BR Fernsehen/NDR HH
-T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: RTL / Guten Abend RTL, RTL 2, Super RTL, VOX
-T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: RTL / Guten Abend RTL, RTL 2, Super RTL, VOX
+T 626000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH40: RTL, RTL2, Super RTL, VOX
+T 666000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH45: RTL, RTL2, Super RTL, VOX
T 682000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH47: Das Erste, arte, Phoenix, EinsExtra
T 762000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH57: Tele 5, SIXX, das Vierte, Bibel TV
T 778000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # CH59: Tele 5, SIXX, das Vierte, Bibel TV
diff --git a/util/scan/dvb-t/es-Huesca b/util/scan/dvb-t/es-Huesca
index 8079b83..aaada34 100644
--- a/util/scan/dvb-t/es-Huesca
+++ b/util/scan/dvb-t/es-Huesca
@@ -1,8 +1,15 @@
-# DVB-T Huesca (Aragón) [Spain] [es-Huesca]
+# DVB-T Huesca (Aragon) [Spain] [es-Huesca]
# Generated by Vicente Hernando Ara <bizenton@gmail.com>
-T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE # Canal 57: ARAGON TV, ARAGON RADIO, ARAGON HD
-T 794000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 61: La 1, La 2, 24h, Clan, RNE1, RNEC, RNE3
-T 834000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 66: Teledeporte, Canal Ingenieria, VEO7, SONY TV en VEO, Tienda en VEO, GUIDE PLUS+, Intereconomia, Radio Intereconomia, RADIO MARCA
-T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 67: laSexta, CUATRO, CNN+, 40 LATINO, PROMO, SER, 40 PRINCIPALES, CADENA DIAL
-T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 68: Telecinco, FDF, Telecinco 2, Disney Channel, Cincoshop
-T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # Canal 69: ANTENA 3, ANTENA.NEOX, ANTENA.NOVA, ONDA CERO, EUROPA FM, ONDA MELODÃA, HOGAR 10
+# T[2] [plp_id] [system_id] <freq> <bw> <fec_hi> <fec_lo> <mod> <tm> <guard> <hi> [# comment]
+#------------------------------------------------------------------------------
+
+T 650000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH 43 HTV-HuescaTelevision
+T 658000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH 44 La Sexta 2
+T 666000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH 45 TVE HD
+T 690000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH 48 NITRO
+T 738000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH 54 BOING
+T 762000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH 57 ARAGON TV
+T 794000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH 61 TVE
+T 842000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH 67
+T 850000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH 68
+T 858000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE # CH 69
diff --git a/util/scan/dvb-t/fi-Espoo b/util/scan/dvb-t/fi-Espoo
index 2764c44..ed5e30f 100644
--- a/util/scan/dvb-t/fi-Espoo
+++ b/util/scan/dvb-t/fi-Espoo
@@ -4,3 +4,4 @@ T 562000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 658000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 674000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
+T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/fi-Eurajoki b/util/scan/dvb-t/fi-Eurajoki
index 6ed4e1b..625d5a7 100644
--- a/util/scan/dvb-t/fi-Eurajoki
+++ b/util/scan/dvb-t/fi-Eurajoki
@@ -4,3 +4,4 @@ T 610000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 666000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 722000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
+T 594000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/fi-Jyvaskyla b/util/scan/dvb-t/fi-Jyvaskyla
index a85ec1e..b443b70 100644
--- a/util/scan/dvb-t/fi-Jyvaskyla
+++ b/util/scan/dvb-t/fi-Jyvaskyla
@@ -4,3 +4,4 @@ T 546000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
+T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/fi-Lahti b/util/scan/dvb-t/fi-Lahti
index 23f3b29..a24074f 100644
--- a/util/scan/dvb-t/fi-Lahti
+++ b/util/scan/dvb-t/fi-Lahti
@@ -4,3 +4,4 @@ T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 682000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
+T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/fi-Lohja b/util/scan/dvb-t/fi-Lohja
index 68287ee..92ce45a 100644
--- a/util/scan/dvb-t/fi-Lohja
+++ b/util/scan/dvb-t/fi-Lohja
@@ -1,6 +1,6 @@
# automatically generated from http://www.digitv.fi/sivu.asp?path=1;8224;9519
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-T 706000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
+T 690000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 746000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 754000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
-T 650000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
+T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/fi-Oulu b/util/scan/dvb-t/fi-Oulu
index e0b88da..e9fc242 100644
--- a/util/scan/dvb-t/fi-Oulu
+++ b/util/scan/dvb-t/fi-Oulu
@@ -4,3 +4,4 @@ T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 602000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
+T 570000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/fi-Tampere b/util/scan/dvb-t/fi-Tampere
index 408e9d4..d3839f3 100644
--- a/util/scan/dvb-t/fi-Tampere
+++ b/util/scan/dvb-t/fi-Tampere
@@ -4,3 +4,4 @@ T 578000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 490000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 770000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 778000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
+T 730000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/fi-Turku b/util/scan/dvb-t/fi-Turku
index 187d618..7a63bbb 100644
--- a/util/scan/dvb-t/fi-Turku
+++ b/util/scan/dvb-t/fi-Turku
@@ -4,3 +4,4 @@ T 714000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 738000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 762000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 786000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
+T 698000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/hu-Bekescsaba b/util/scan/dvb-t/hu-Bekescsaba
index e906111..61aed7b 100644
--- a/util/scan/dvb-t/hu-Bekescsaba
+++ b/util/scan/dvb-t/hu-Bekescsaba
@@ -1,17 +1,21 @@
# Hungary / Bekescsaba
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
#
-# A.multiplex UHF-54:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 738000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+# A.multiplex UHF-38:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 610000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-54:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 738000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
#
# C.multiplex UHF-65:
# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 826000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 826000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Budapest b/util/scan/dvb-t/hu-Budapest
index 09796a9..f890986 100644
--- a/util/scan/dvb-t/hu-Budapest
+++ b/util/scan/dvb-t/hu-Budapest
@@ -1,17 +1,21 @@
# Hungary / Budapest
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
#
-# A.multiplex UHF-55:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 746000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+# A.multiplex UHF-38:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 610000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-55:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 746000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
#
# C.multiplex UHF-62:
# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 802000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 802000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Csavoly-Kiskoros b/util/scan/dvb-t/hu-Csavoly-Kiskoros
index 8091798..f17d75b 100644
--- a/util/scan/dvb-t/hu-Csavoly-Kiskoros
+++ b/util/scan/dvb-t/hu-Csavoly-Kiskoros
@@ -2,16 +2,20 @@
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
#
# A.multiplex UHF-45:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 666000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 666000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-00:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+# T 746000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
#
# C.multiplex UHF-68:
# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 850000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 850000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Debrecen-Komadi b/util/scan/dvb-t/hu-Debrecen-Komadi
new file mode 100644
index 0000000..fd2d49b
--- /dev/null
+++ b/util/scan/dvb-t/hu-Debrecen-Komadi
@@ -0,0 +1,21 @@
+# Hungary / Debrecen-Komadi
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-46:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 674000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-51:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 714000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-62:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 802000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Fehergyarmat b/util/scan/dvb-t/hu-Fehergyarmat
new file mode 100644
index 0000000..e9b27af
--- /dev/null
+++ b/util/scan/dvb-t/hu-Fehergyarmat
@@ -0,0 +1,21 @@
+# Hungary / Fehergyarmat
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-58:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 770000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-00:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+# T 714000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-38:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 610000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Gerecse b/util/scan/dvb-t/hu-Gerecse
deleted file mode 100644
index ee8a0c4..0000000
--- a/util/scan/dvb-t/hu-Gerecse
+++ /dev/null
@@ -1,17 +0,0 @@
-# Hungary / Gerecse
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#
-# A.multiplex UHF-64:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 818000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-#
-# C.multiplex UHF-63:
-# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
-# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 810000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/hu-Gerecse-Dorog-Tatabanya b/util/scan/dvb-t/hu-Gerecse-Dorog-Tatabanya
new file mode 100644
index 0000000..2030a21
--- /dev/null
+++ b/util/scan/dvb-t/hu-Gerecse-Dorog-Tatabanya
@@ -0,0 +1,21 @@
+# Hungary / Gerecse-Dorog-Tatabanya
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-64:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-29:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 538000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-63:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 810000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Gyor b/util/scan/dvb-t/hu-Gyor
new file mode 100644
index 0000000..9b7d0dd
--- /dev/null
+++ b/util/scan/dvb-t/hu-Gyor
@@ -0,0 +1,21 @@
+# Hungary / Gyor
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-42:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 642000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-25:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-61:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 794000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Gyor-Tatabanya b/util/scan/dvb-t/hu-Gyor-Tatabanya
deleted file mode 100644
index 3ed9bdf..0000000
--- a/util/scan/dvb-t/hu-Gyor-Tatabanya
+++ /dev/null
@@ -1,17 +0,0 @@
-# Hungary / Gyor-Tatabanya
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#
-# A.multiplex UHF-42:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 642000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-#
-# C.multiplex UHF-61:
-# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
-# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 794000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/hu-Kabhegy-Kaposvar-Tamasi b/util/scan/dvb-t/hu-Kabhegy-Kaposvar-Tamasi
new file mode 100644
index 0000000..54a52b0
--- /dev/null
+++ b/util/scan/dvb-t/hu-Kabhegy-Kaposvar-Tamasi
@@ -0,0 +1,21 @@
+# Hungary / Kabhegy-Kaposvar-Tamasi
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-64:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-00:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+# T 506000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-61:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 794000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Kabhegy-Mor-Siofok b/util/scan/dvb-t/hu-Kabhegy-Mor-Siofok
deleted file mode 100644
index 706a134..0000000
--- a/util/scan/dvb-t/hu-Kabhegy-Mor-Siofok
+++ /dev/null
@@ -1,17 +0,0 @@
-# Hungary / Kabhegy-Mor-Siofok
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#
-# A.multiplex UHF-64:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 818000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-#
-# C.multiplex UHF-61:
-# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
-# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 794000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/hu-Karancs-Nagy-Hideg-hegy-Balassagyarmat-Godollo-Salgotarjan-Vac b/util/scan/dvb-t/hu-Karancs-Nagy-Hideg-hegy-Balassagyarmat-Godollo-Salgotarjan-Vac
new file mode 100644
index 0000000..6054377
--- /dev/null
+++ b/util/scan/dvb-t/hu-Karancs-Nagy-Hideg-hegy-Balassagyarmat-Godollo-Salgotarjan-Vac
@@ -0,0 +1,21 @@
+# Hungary / Karancs-Nagy-Hideg-hegy-Balassagyarmat-Godollo-Salgotarjan-Vac
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-38:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 610000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-55:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 746000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-62:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 802000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Karcag b/util/scan/dvb-t/hu-Karcag
index 9c2b909..7a70d0e 100644
--- a/util/scan/dvb-t/hu-Karcag
+++ b/util/scan/dvb-t/hu-Karcag
@@ -2,16 +2,20 @@
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
#
# A.multiplex UHF-46:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 674000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 674000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-30:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 546000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
#
# C.multiplex UHF-64:
# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 818000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Kecskemet b/util/scan/dvb-t/hu-Kecskemet
new file mode 100644
index 0000000..37ab7c0
--- /dev/null
+++ b/util/scan/dvb-t/hu-Kecskemet
@@ -0,0 +1,21 @@
+# Hungary / Kecskemet
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-56:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 754000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-39:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 618000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-68:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 850000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Kekes-Cegled-Eger-Miskolctapolca-Ozd b/util/scan/dvb-t/hu-Kekes-Cegled-Eger-Miskolctapolca-Ozd
new file mode 100644
index 0000000..6ad14bc
--- /dev/null
+++ b/util/scan/dvb-t/hu-Kekes-Cegled-Eger-Miskolctapolca-Ozd
@@ -0,0 +1,21 @@
+# Hungary / Kekes-Cegled-Miskolctapolca
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-44:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 658000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-39:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 618000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-69:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 858000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Kekes-Ozd b/util/scan/dvb-t/hu-Kekes-Ozd
deleted file mode 100644
index a943652..0000000
--- a/util/scan/dvb-t/hu-Kekes-Ozd
+++ /dev/null
@@ -1,17 +0,0 @@
-# Hungary / Kekes-Ozd
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#
-# A.multiplex UHF-44:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 658000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-#
-# C.multiplex UHF-69:
-# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
-# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 858000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/hu-Kiskoros b/util/scan/dvb-t/hu-Kiskoros
deleted file mode 100644
index 82cc97e..0000000
--- a/util/scan/dvb-t/hu-Kiskoros
+++ /dev/null
@@ -1,17 +0,0 @@
-# Hungary / Kiskoros
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#
-# A.multiplex UHF-45:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 666000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-#
-# C.multiplex UHF-68:
-# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
-# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 850000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/hu-Komadi-Debrecen b/util/scan/dvb-t/hu-Komadi-Debrecen
deleted file mode 100644
index 12f903e..0000000
--- a/util/scan/dvb-t/hu-Komadi-Debrecen
+++ /dev/null
@@ -1,17 +0,0 @@
-# Hungary / Debrecen-Komadi
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#
-# A.multiplex UHF-46:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 674000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-#
-# C.multiplex UHF-62:
-# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
-# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 802000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/hu-Miskolc-Aggtelek-Fony b/util/scan/dvb-t/hu-Miskolc-Aggtelek-Fony
new file mode 100644
index 0000000..c287a95
--- /dev/null
+++ b/util/scan/dvb-t/hu-Miskolc-Aggtelek-Fony
@@ -0,0 +1,21 @@
+# Hungary / Miskolc-Aggtelek-Fony
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-45:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 666000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-31:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 554000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-63:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 810000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Mor-Siofok-Veszprem-Zirc b/util/scan/dvb-t/hu-Mor-Siofok-Veszprem-Zirc
new file mode 100644
index 0000000..2ac4cec
--- /dev/null
+++ b/util/scan/dvb-t/hu-Mor-Siofok-Veszprem-Zirc
@@ -0,0 +1,21 @@
+# Hungary / Mor-Siofok-Veszprem-Zirc
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-64:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-29:
+# NON-FREE ----------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 538000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-61:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 794000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Nagykanizsa-Barcs-Keszthely b/util/scan/dvb-t/hu-Nagykanizsa-Barcs-Keszthely
new file mode 100644
index 0000000..5b2a455
--- /dev/null
+++ b/util/scan/dvb-t/hu-Nagykanizsa-Barcs-Keszthely
@@ -0,0 +1,21 @@
+# Hungary / Nagykanizsa-Barcs-Keszthely
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-24:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 498000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-55:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 746000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-65:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 826000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Nagykanizsa-Kaposvar b/util/scan/dvb-t/hu-Nagykanizsa-Kaposvar
deleted file mode 100644
index 7a7c24f..0000000
--- a/util/scan/dvb-t/hu-Nagykanizsa-Kaposvar
+++ /dev/null
@@ -1,17 +0,0 @@
-# Hungary / Kaposvar-Nagykanizsa
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#
-# A.multiplex UHF-24:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 498000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-#
-# C.multiplex UHF-65:
-# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
-# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 826000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/hu-Nyiregyhaza-Tokaj-Kazincbarcika-Saly-Satoraljaujhely b/util/scan/dvb-t/hu-Nyiregyhaza-Tokaj-Kazincbarcika-Saly-Satoraljaujhely
new file mode 100644
index 0000000..2f3eedd
--- /dev/null
+++ b/util/scan/dvb-t/hu-Nyiregyhaza-Tokaj-Kazincbarcika-Saly-Satoraljaujhely
@@ -0,0 +1,21 @@
+# Hungary / Nyíregyhaza-Tokaj-Kzincbarcika-Saly-Satoraljaujhely
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-68:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 850000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-31:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 554000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-63:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 810000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Pecs-Siklos b/util/scan/dvb-t/hu-Pecs-Siklos
new file mode 100644
index 0000000..d78ba84
--- /dev/null
+++ b/util/scan/dvb-t/hu-Pecs-Siklos
@@ -0,0 +1,21 @@
+# Hungary / Pecs-Siklos
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-52:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 722000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-00:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+# T 554000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-67:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 842000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Pecs-Uzd b/util/scan/dvb-t/hu-Pecs-Uzd
deleted file mode 100644
index 188711b..0000000
--- a/util/scan/dvb-t/hu-Pecs-Uzd
+++ /dev/null
@@ -1,17 +0,0 @@
-# Hungary / Pecs-Uzd
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#
-# A.multiplex UHF-52:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 722000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-#
-# C.multiplex UHF-67:
-# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
-# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 842000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/hu-Salgotarjan b/util/scan/dvb-t/hu-Salgotarjan
deleted file mode 100644
index dbd4870..0000000
--- a/util/scan/dvb-t/hu-Salgotarjan
+++ /dev/null
@@ -1,17 +0,0 @@
-# Hungary / Salgotarjan
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#
-# A.multiplex UHF-55:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 746000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-#
-# C.multiplex UHF-62:
-# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
-# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 802000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/hu-Sopron b/util/scan/dvb-t/hu-Sopron
deleted file mode 100644
index 07b1037..0000000
--- a/util/scan/dvb-t/hu-Sopron
+++ /dev/null
@@ -1,17 +0,0 @@
-# Hungary / Sopron
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#
-# A.multiplex UHF-42:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 642000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-#
-# C.multiplex UHF-68:
-# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
-# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 850000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/hu-Sopron-Koszeg b/util/scan/dvb-t/hu-Sopron-Koszeg
new file mode 100644
index 0000000..297390c
--- /dev/null
+++ b/util/scan/dvb-t/hu-Sopron-Koszeg
@@ -0,0 +1,21 @@
+# Hungary / Sopron-Koszeg
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-42:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 642000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-40:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 626000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-68:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 850000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Szeged b/util/scan/dvb-t/hu-Szeged
new file mode 100644
index 0000000..6dcc0e4
--- /dev/null
+++ b/util/scan/dvb-t/hu-Szeged
@@ -0,0 +1,21 @@
+# Hungary / Szeged
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-60:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 786000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-22:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 482000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-65:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 826000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Szekesfehervar b/util/scan/dvb-t/hu-Szekesfehervar
new file mode 100644
index 0000000..a68f357
--- /dev/null
+++ b/util/scan/dvb-t/hu-Szekesfehervar
@@ -0,0 +1,21 @@
+# Hungary / Szekesfehervar
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-30:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 546000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-29:
+# NON-FREE --------------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 538000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-63:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 810000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Szentes-Battonya b/util/scan/dvb-t/hu-Szentes-Battonya
new file mode 100644
index 0000000..cfc683b
--- /dev/null
+++ b/util/scan/dvb-t/hu-Szentes-Battonya
@@ -0,0 +1,21 @@
+# Hungary / Szentes-Battonya
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-60:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 786000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-00:
+# NON-FREE ----------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+# T 538000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-65:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 826000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Szentes-Szeged b/util/scan/dvb-t/hu-Szentes-Szeged
deleted file mode 100644
index 864c1b9..0000000
--- a/util/scan/dvb-t/hu-Szentes-Szeged
+++ /dev/null
@@ -1,17 +0,0 @@
-# Hungary / Szentes-Szeged
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#
-# A.multiplex UHF-60:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 786000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-#
-# C.multiplex UHF-65:
-# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
-# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 826000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/hu-Szolnok b/util/scan/dvb-t/hu-Szolnok
new file mode 100644
index 0000000..98da473
--- /dev/null
+++ b/util/scan/dvb-t/hu-Szolnok
@@ -0,0 +1,21 @@
+# Hungary / Szolnok
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-56:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 754000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-30:
+# NON-FREE ----------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 546000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-64:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 818000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Szombathely-Vasvar-Lenti-Zalaegerszeg b/util/scan/dvb-t/hu-Szombathely-Vasvar-Lenti-Zalaegerszeg
new file mode 100644
index 0000000..af1ddb2
--- /dev/null
+++ b/util/scan/dvb-t/hu-Szombathely-Vasvar-Lenti-Zalaegerszeg
@@ -0,0 +1,21 @@
+# Hungary / Szombathely-Vasvar-Lenti-Zalaegerszeg
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-38:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 610000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-58:
+# NON-FREE ----------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 770000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-68:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 850000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Tokaj-Kazincbarcika b/util/scan/dvb-t/hu-Tokaj-Kazincbarcika
deleted file mode 100644
index 1435271..0000000
--- a/util/scan/dvb-t/hu-Tokaj-Kazincbarcika
+++ /dev/null
@@ -1,17 +0,0 @@
-# Hungary / Tokaj-Kazincbarcika
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#
-# A.multiplex UHF-68:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 850000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-#
-# C.multiplex UHF-63:
-# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
-# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 810000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/hu-Uzd-Bonyhad-Dunaujvaros-Szekszard-Szigetvar b/util/scan/dvb-t/hu-Uzd-Bonyhad-Dunaujvaros-Szekszard-Szigetvar
new file mode 100644
index 0000000..029ebbb
--- /dev/null
+++ b/util/scan/dvb-t/hu-Uzd-Bonyhad-Dunaujvaros-Szekszard-Szigetvar
@@ -0,0 +1,21 @@
+# Hungary / Uzd-Bonyhad-Dunaujvaros-Szekszard-Szigetvar
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+#
+# A.multiplex UHF-52:
+# FREE -----------------------------------------------------------------------------------
+# m1 HD, m2 HD, Duna World, Duna HD, MR1 Kossuth Radio, MR2 Petofi Radio, MR3 Bartok Radio
+T 722000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# B.multiplex UHF-37:
+# NON-FREE ----------------------------------------------------------------------------
+# PRO4, VIASAT3, Prizma TV, Muzsika TV, Universal Channel, Comedy Central, Minimax,
+# Cartoon Network, Spektrum, History, Sport1, Sport2, Dorcel TV
+T 602000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
+#
+# C.multiplex UHF-67:
+# FREE --------------------------------------------------------------------------------
+# RTL Klub, TV2, Euronews Test, Info csatorna, Neo FM
+# NON-FREE ----------------------------------------------------------------------------
+# Cool, Film+, HBO, National Geographic, Disney Channel, AXN, FEM3, Private spice, ATV,
+# HirTV, Sportklub
+T 842000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/hu-Vasvar b/util/scan/dvb-t/hu-Vasvar
deleted file mode 100644
index a889d9c..0000000
--- a/util/scan/dvb-t/hu-Vasvar
+++ /dev/null
@@ -1,17 +0,0 @@
-# Hungary / Vasvar
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#
-# A.multiplex UHF-58:
-# FREE --------------------------------------------------------------------------------
-# m1 HD, m2 HD, RTL Klub, TV2, Euronews EN Teszt, Euronews FR Teszt, Euronews GER Teszt
-# Radio DVB-T Teszt 1, Radio DVB-T Teszt 2,Radio DVB-T Teszt 3
-# NON-FREE ----------------------------------------------------------------------------
-# ATV, HirTV
-T 770000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-#
-# C.multiplex UHF-68:
-# FREE --------------------------------------------------------------------------------
-# DunaTV HD, Autonomia
-# NON-FREE ----------------------------------------------------------------------------
-# Cool, Film+, Sportklub, National Geographic, Disney, AXN, FEM3, Private spice
-T 850000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/ie-CairnHill b/util/scan/dvb-t/ie-CairnHill
new file mode 100644
index 0000000..002881a
--- /dev/null
+++ b/util/scan/dvb-t/ie-CairnHill
@@ -0,0 +1,5 @@
+# Ireland, Cairn Hill
+# Generated from http://www.comreg.ie/_fileupload/File/Technical%20Parameters_20111004.xlsx
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+T 682000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH47: Saorview MUX1
+T 658000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH44: Saorview MUX2
diff --git a/util/scan/dvb-t/ie-ClermontCarn b/util/scan/dvb-t/ie-ClermontCarn
new file mode 100644
index 0000000..680ffce
--- /dev/null
+++ b/util/scan/dvb-t/ie-ClermontCarn
@@ -0,0 +1,5 @@
+# Ireland, Clermont Carn
+# Generated from http://www.comreg.ie/_fileupload/File/Technical%20Parameters_20111004.xlsx
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+T 730000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH53: Saorview MUX1
+T 762000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH57: Saorview MUX2
diff --git a/util/scan/dvb-t/ie-Dungarvan b/util/scan/dvb-t/ie-Dungarvan
new file mode 100644
index 0000000..7f5d6a3
--- /dev/null
+++ b/util/scan/dvb-t/ie-Dungarvan
@@ -0,0 +1,5 @@
+# Ireland, Dungarvan
+# Generated from http://www.comreg.ie/_fileupload/File/Technical%20Parameters_20111004.xlsx
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+T 746000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH55: Saorview MUX1
+T 778000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH59: Saorview MUX2
diff --git a/util/scan/dvb-t/ie-HolywellHill b/util/scan/dvb-t/ie-HolywellHill
new file mode 100644
index 0000000..4557ec1
--- /dev/null
+++ b/util/scan/dvb-t/ie-HolywellHill
@@ -0,0 +1,5 @@
+# Ireland, Holywell Hill
+# Generated from http://www.comreg.ie/_fileupload/File/Technical%20Parameters_20111004.xlsx
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+T 546000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH30: Saorview MUX1
+T 506000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH25: Saorview MUX2
diff --git a/util/scan/dvb-t/ie-Kippure b/util/scan/dvb-t/ie-Kippure
new file mode 100644
index 0000000..723f7be
--- /dev/null
+++ b/util/scan/dvb-t/ie-Kippure
@@ -0,0 +1,5 @@
+# Ireland, Kippure
+# Generated from http://www.comreg.ie/_fileupload/File/Technical%20Parameters_20111004.xlsx
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+T 738000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH54: Saorview MUX1
+T 770000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH58: Saorview MUX2
diff --git a/util/scan/dvb-t/ie-Maghera b/util/scan/dvb-t/ie-Maghera
new file mode 100644
index 0000000..8144c38
--- /dev/null
+++ b/util/scan/dvb-t/ie-Maghera
@@ -0,0 +1,5 @@
+# Ireland, Maghera
+# Generated from http://www.comreg.ie/_fileupload/File/Technical%20Parameters_20111004.xlsx
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+T 690000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH48: Saorview MUX1
+T 746000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH55: Saorview MUX2
diff --git a/util/scan/dvb-t/ie-MountLeinster b/util/scan/dvb-t/ie-MountLeinster
new file mode 100644
index 0000000..780ac0a
--- /dev/null
+++ b/util/scan/dvb-t/ie-MountLeinster
@@ -0,0 +1,5 @@
+# Ireland, Mount Leinster
+# Generated from http://www.comreg.ie/_fileupload/File/Technical%20Parameters_20111004.xlsx
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+T 666000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH45: Saorview MUX1
+T 618000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH39: Saorview MUX2
diff --git a/util/scan/dvb-t/ie-Mullaghanish b/util/scan/dvb-t/ie-Mullaghanish
new file mode 100644
index 0000000..aae3e97
--- /dev/null
+++ b/util/scan/dvb-t/ie-Mullaghanish
@@ -0,0 +1,5 @@
+# Ireland, Mullaghanish
+# Generated from http://www.comreg.ie/_fileupload/File/Technical%20Parameters_20111004.xlsx
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+T 474000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH21: Saorview MUX1
+T 498000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH24: Saorview MUX2
diff --git a/util/scan/dvb-t/ie-SpurHill b/util/scan/dvb-t/ie-SpurHill
new file mode 100644
index 0000000..e8db8a5
--- /dev/null
+++ b/util/scan/dvb-t/ie-SpurHill
@@ -0,0 +1,5 @@
+# Ireland, Spur Hill
+# Generated from http://www.comreg.ie/_fileupload/File/Technical%20Parameters_20111004.xlsx
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+T 666000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH45: Saorview MUX1
+T 698000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH49: Saorview MUX2
diff --git a/util/scan/dvb-t/ie-ThreeRock b/util/scan/dvb-t/ie-ThreeRock
new file mode 100644
index 0000000..ba4d43f
--- /dev/null
+++ b/util/scan/dvb-t/ie-ThreeRock
@@ -0,0 +1,5 @@
+# Ireland, Three Rock
+# Generated from http://www.comreg.ie/_fileupload/File/Technical%20Parameters_20111004.xlsx
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+T 738000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH54: Saorview MUX1
+T 770000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH58: Saorview MUX2
diff --git a/util/scan/dvb-t/ie-Truskmore b/util/scan/dvb-t/ie-Truskmore
new file mode 100644
index 0000000..2418f16
--- /dev/null
+++ b/util/scan/dvb-t/ie-Truskmore
@@ -0,0 +1,5 @@
+# Ireland, Truskmore
+# Generated from http://www.comreg.ie/_fileupload/File/Technical%20Parameters_20111004.xlsx
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+T 730000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH53: Saorview MUX1
+T 762000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH57: Saorview MUX2
diff --git a/util/scan/dvb-t/ie-WoodcockHill b/util/scan/dvb-t/ie-WoodcockHill
new file mode 100644
index 0000000..6ca3d15
--- /dev/null
+++ b/util/scan/dvb-t/ie-WoodcockHill
@@ -0,0 +1,5 @@
+# Ireland, Woodcock Hill
+# Generated from http://www.comreg.ie/_fileupload/File/Technical%20Parameters_20111004.xlsx
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+T 682000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH47: Saorview MUX1
+T 658000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE # CH44: Saorview MUX2
diff --git a/util/scan/dvb-t/it-All b/util/scan/dvb-t/it-All
new file mode 100644
index 0000000..e1134c3
--- /dev/null
+++ b/util/scan/dvb-t/it-All
@@ -0,0 +1,135 @@
+# This file lists all frequencies used in Western Europe for DVB-T.
+# The transmission parameters listed here are the ones generally used in
+# Italy, broadcast neworks in other countries do use different parameters.
+# Moreover, other countries use a bandwidth of 8 MHz also for Band III
+# channels.
+#
+# Compiled in December 2010 by Marco d'Itri <md@linux.it>.
+#
+# References:
+# http://en.wikipedia.org/wiki/Band_I#Europe
+# http://en.wikipedia.org/wiki/Band_III#Europe
+# http://en.wikipedia.org/wiki/File:VHF_Usage.svg
+# http://en.wikipedia.org/wiki/Television_channel_frequencies
+
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+
+### VHF - Band III ###
+# 5
+T 177500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 6
+T 184500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 7
+T 191500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 8
+T 198500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 9
+T 205500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 10
+T 212500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 11
+T 219500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 12
+T 226500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
+
+### UHF - Band IV ###
+# 21
+T 474000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 22
+T 482000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 23
+T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 24
+T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 25
+T 506000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 26
+T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 27
+T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 28
+T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 29
+T 538000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 30
+T 546000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 31
+T 554000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 32
+T 562000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 33
+T 570000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 34
+T 578000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 35
+T 586000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 36
+T 594000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 37
+T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+
+### UHF - Band V ###
+# 38
+T 610000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 39
+T 618000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 40
+T 626000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 41
+T 634000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 42
+T 642000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 43
+T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 44
+T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 45
+T 666000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 46
+T 674000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 47
+T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 48
+T 690000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 49
+T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 50
+T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 51
+T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 52
+T 722000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 53
+T 730000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 54
+T 738000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 55
+T 746000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 56
+T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 57
+T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 58
+T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 59
+T 778000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 60
+T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 61
+T 794000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 62
+T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 63
+T 810000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 64
+T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 65
+T 826000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 66
+T 834000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 67
+T 842000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 68
+T 850000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
+# 69
+T 858000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Aosta b/util/scan/dvb-t/it-Aosta
deleted file mode 100644
index 28c32ae..0000000
--- a/util/scan/dvb-t/it-Aosta
+++ /dev/null
@@ -1,21 +0,0 @@
-# Italia / Aosta (it-Aosta) -- mailto: Marco <lovebuzz@email.it>
-#
-# A me funziona solo il Mux Mediaset 2 non riesco a capire come mai...
-# (magari colpa della mia pinnacle pctv 301i saa7133)
-# Gli altri Mux inseriti li ho inseriti come da sito http://www.digitv.it...
-#
-# Chi avesse news o riuscisse a venirne a capo usando anche gli altri mux potrebbe scrivermi
-# inviare una maila kaffeine-user@lists.sf.net per aggiornare/correggere questo file...
-#
-# MUX-A RAI
-T 226500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 1
-T 474000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MBONE
-T 746000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX DFREE
-T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 2
-T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# TIMB1
-T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Bari b/util/scan/dvb-t/it-Bari
deleted file mode 100644
index efcc852..0000000
--- a/util/scan/dvb-t/it-Bari
+++ /dev/null
@@ -1,18 +0,0 @@
-# Italy, Bari
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-# MUX-A RAI
-T 219500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX-B RAI
-T 546000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 1
-T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX DFREE
-T 226500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 2
-T 826000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MBONE
-T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# TIMB1
-T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# TeleNorba, TelePuglia, altro...
-T 794000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Bologna b/util/scan/dvb-t/it-Bologna
deleted file mode 100644
index 8f5a136..0000000
--- a/util/scan/dvb-t/it-Bologna
+++ /dev/null
@@ -1,28 +0,0 @@
-# DVB-T Collserola (Barcelona)
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#TeleSanterno
-T 186000000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
-#RaiA
-T 203500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Sestarete / Rete 7
-T 212500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Modena
-T 219500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
-#ReteA, Camera e Senato
-T 594000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Sestarete / Rete 7
-T 610000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#DFree
-T 634000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mediaset Mux-B
-T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#La7
-T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#RaiB
-T 722000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mediaset Mux-A
-T 794000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#TeleSanterno
-T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#LA7-2
-T 842000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Bolzano b/util/scan/dvb-t/it-Bolzano
deleted file mode 100644
index f4a8e9b..0000000
--- a/util/scan/dvb-t/it-Bolzano
+++ /dev/null
@@ -1,5 +0,0 @@
-# DVB-T Bolzano
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-
-#RAS DVB-t NETWORK
-T 698000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE
diff --git a/util/scan/dvb-t/it-Cagliari b/util/scan/dvb-t/it-Cagliari
deleted file mode 100644
index 2cfb4c1..0000000
--- a/util/scan/dvb-t/it-Cagliari
+++ /dev/null
@@ -1,23 +0,0 @@
-# DVB-T Cagliari
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-T 205500000 7MHz 3/4 NONE QAM64 8k 1/32 NONE
-T 506000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 514000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-T 522000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
-T 546000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 562000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-T 594000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
-T 618000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
-T 626000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 642000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
-T 650000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 674000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
-T 682000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 698000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 722000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
-T 730000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-T 746000000 8MHz 3/4 NONE QAM64 8k 1/4 NONE
-T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 762000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-T 786000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
-T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Caivano b/util/scan/dvb-t/it-Caivano
deleted file mode 100644
index 86a9847..0000000
--- a/util/scan/dvb-t/it-Caivano
+++ /dev/null
@@ -1,17 +0,0 @@
-# DVB-T Caivano (Naples) 80023
-# 30/10/2008 by Nicola Costanzo
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 690000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX DFREE
-T 546000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 1
-T 810000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 2
-T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX LA7/MTV
-T 834000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# TIMB1
-T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX-A RAI
-T 722000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Catania b/util/scan/dvb-t/it-Catania
deleted file mode 100644
index 20bacd6..0000000
--- a/util/scan/dvb-t/it-Catania
+++ /dev/null
@@ -1,27 +0,0 @@
-# it-Catania
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-
-# MUX DFREE (Canale 5,Italia1,SportItalia,LCI,RadioItalia Tv)
-T 810000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 690000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 618000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-
-# MUX LA7/MTV (La 7,MTV ITALIA,Canale D,Music Box)
-#T 586000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-
-# MUX RTI (Rete 4,Class News,Sole 24 Ore TV,BBC World)
-T 586000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-
-# MUX MEDIASET 1
-T 226500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 834000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-
-# MUX MEDIASET 2
-T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-
-# MUX-A RAI (Rai Utile,Rai Doc,RaiSportSAT,RaiNews24,Rai EDU1)
-T 610000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-
-# MUX-B RAI (Rai Utile,Rai Doc,RaiSportSAT,RaiNews24,Rai EDU1)
-T 482000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Conero b/util/scan/dvb-t/it-Conero
deleted file mode 100644
index 2d48138..0000000
--- a/util/scan/dvb-t/it-Conero
+++ /dev/null
@@ -1,8 +0,0 @@
-# Italia / Conero (it-Conero) -- mailto: simon <f.simon@email.it>
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-# C50
-T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# C46
-T 674000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# C21
-T 474000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Firenze b/util/scan/dvb-t/it-Firenze
deleted file mode 100644
index eca721a..0000000
--- a/util/scan/dvb-t/it-Firenze
+++ /dev/null
@@ -1,20 +0,0 @@
-# This channel list is made by Michele Ficarra
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-# MUX-A RAI
-T 554000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX-B RAI
-T 842000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 1
-T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 2
-T 826000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX La7/MTV
-T 618000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX DFREE
-T 738000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MBON
-T 778000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX Digitoscana
-T 219500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX Tele37
-T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Genova b/util/scan/dvb-t/it-Genova
deleted file mode 100644
index 5a1b6dd..0000000
--- a/util/scan/dvb-t/it-Genova
+++ /dev/null
@@ -1,12 +0,0 @@
-# Italia / Genova (it-Genova) - Angelo Conforti <angeloxx@angeloxx.it>
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-# MUX-A RAI
-T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX-B RAI
-T 219500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX La7/MTV
-T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX DFREE
-T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX Mediaset
-T 850000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Livorno b/util/scan/dvb-t/it-Livorno
deleted file mode 100644
index 075d8b4..0000000
--- a/util/scan/dvb-t/it-Livorno
+++ /dev/null
@@ -1,15 +0,0 @@
-# This channel list is made by G.U.L.LI. LIvorno's Linux Users Group
-# Thanks to: Alessandro Guarguaglini, Stefano Lenzi
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-# MUX-A RAI
-T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX-B RAI
-T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 1
-T 618000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 2
-T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX La7/MTV
-T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX DFREE
-T 586000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Milano b/util/scan/dvb-t/it-Milano
deleted file mode 100644
index a0a5da2..0000000
--- a/util/scan/dvb-t/it-Milano
+++ /dev/null
@@ -1,49 +0,0 @@
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-# MUX-A RAI
-T 800000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX-B RAI
-T 482000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX-A MEDIASET
-T 842000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX-A MEDIASET-2
-T 618000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MEDIASET LA 5
-T 538000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX La7/MTV
-T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX DFREE
-T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX DFREE 2
-T 538000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX RETE A
-T 714000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX STUDIO1
-T 184500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX STUDIO NORD
-T 191500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX VIDEO STAR NOVARA
-T 219500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX TELENOVA
-T 474000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX TELE 7 LAGHI
-T 495250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX VIDEO BERGAMO
-T 594000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX TELE MILANO
-T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# RETE 55
-T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# TELE LIBERTA'
-T 735250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# RSI
-T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# TELE COLOR PRIMARETE
-T 783250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# TELESTAR
-T 807250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 810000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# TELECAMPIONE
-T 847250000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 850000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Modena b/util/scan/dvb-t/it-Modena
deleted file mode 100644
index 56dd106..0000000
--- a/util/scan/dvb-t/it-Modena
+++ /dev/null
@@ -1,50 +0,0 @@
-# DVB-T Collserola (Barcelona)
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#Mux 1 Rai
-T 177500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux 2 Rai
-T 546000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux 3 Rai
-T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux 4 Rai
-# T 626000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Timb 1
-T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Timb 2
-T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Timb 3
-T 690000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Mediaset 1
-T 722000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Mediaset 2
-T 594000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Mediaset 4
-T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Mediaset 5
-T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Mediaset 6
-T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Rete A 1
-T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux DFree
-T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Di. TV
-T 184500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux TV Rete 7
-T 642000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Telestudio Modena
-T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Sesta Rete
-T 666000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Trc Telemodena
-T 674000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Canale Italia
-T 730000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Telecentro Emilia Romagna
-T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Canale 24
-T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux VMT
-T 826000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#Mux Nuovarete
-T 834000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Montevergine b/util/scan/dvb-t/it-Montevergine
deleted file mode 100644
index 0d7c30d..0000000
--- a/util/scan/dvb-t/it-Montevergine
+++ /dev/null
@@ -1,18 +0,0 @@
-# DVB-T Montevergine (Avellino) 83100
-# 12/12/2009 by Antonio Galasso anto1714@libero.it
-# (ricordati di mettere il lettore in posizione stop orima di iniziare la scansione dei canali)
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-# C-MUX
-T 177500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 482000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 498000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 514000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 546000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 554000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 594000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 642000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
-T 682000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 690000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
-T 698000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/it-Pagnacco b/util/scan/dvb-t/it-Pagnacco
deleted file mode 100644
index c6f482d..0000000
--- a/util/scan/dvb-t/it-Pagnacco
+++ /dev/null
@@ -1,27 +0,0 @@
-# Italia / Pagnacco (it-Pagnacco)
-# DVB-T Pagnacco (Italia)
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-
-# MUX-A RAI
-
-T 602000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE
-
-# MUX-B RAI
-
-T 490000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE
-T 226500000 8MHz 3/4 NONE QAM64 8k 1/32 NONE
-
-# MUX-Dfree
-
-T 634000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE
-T 594000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE
-
-# MUX-LA7/MTV
-
-T 522000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE
-
-# Mediaset
-
-T 818000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE
-
-# Europa
diff --git a/util/scan/dvb-t/it-Palermo b/util/scan/dvb-t/it-Palermo
deleted file mode 100644
index e375565..0000000
--- a/util/scan/dvb-t/it-Palermo
+++ /dev/null
@@ -1,23 +0,0 @@
-# Palermo, Italy
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-
-# MUX DFREE (Canale 5,Italia1,SportItalia,LCI,RadioItalia Tv)
-T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 850000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-
-# MUX LA7/MTV (La 7,MTV ITALIA,Canale D,Music Box)
-#T 730000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-
-# MUX RTI (Rete 4,Class News,Sole 24 Ore TV,BBC World)
-T 842000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-
-# MUX MEDIASET 2
-T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-
-# MUX-A RAI (Rai Utile,Rai Doc,RaiSportSAT,RaiNews24,Rai EDU1)
-T 610000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-
-# MUX-B RAI (Rai Utile,Rai Doc,RaiSportSAT,RaiNews24,Rai EDU1)
-T 482000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Pescara b/util/scan/dvb-t/it-Pescara
deleted file mode 100644
index 1c89646..0000000
--- a/util/scan/dvb-t/it-Pescara
+++ /dev/null
@@ -1,15 +0,0 @@
-# Italy, Pescara San Silvestro
-# Antonio de Vincentiis, www.devincentiis.it, Montesilvano (PE)
-# update 06.02.2009
-# MUX-A RAI canale: VHF-E polarizzazione: O
-T 186000000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX-B RAI canale: VHF-F polarizzazione: O
-T 194500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 1 canale: UHF-69 polarizzazione: V
-T 858000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX DFREE canale: UHF-56 polarizzazione: V
-T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 2 canale: UHF-49 polarizzazione: V
-T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MBONE canale: UHF-34 polarizzazione: V
-T 578000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Pisa b/util/scan/dvb-t/it-Pisa
deleted file mode 100644
index 8723d99..0000000
--- a/util/scan/dvb-t/it-Pisa
+++ /dev/null
@@ -1,18 +0,0 @@
-# This channel list is made by G.U.L.LI. LIvorno's Linux Users Group
-# Thanks to: Alessandro Guarguaglini, Stefano Lenzi
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-# MUX-A RAI
-T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX-B RAI
-T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 1
-T 634000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 618000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX DFREE
-T 746000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 2
-T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MBONE
-T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX TIMB1
-T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Roma b/util/scan/dvb-t/it-Roma
deleted file mode 100644
index 7e84900..0000000
--- a/util/scan/dvb-t/it-Roma
+++ /dev/null
@@ -1,16 +0,0 @@
-# DVB-T Roma
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-# MUX DFREE
-T 810000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX La7/MTV
-T 730000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 1
-T 626000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET 2
-T 762000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX-A RAI
-T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX-B RAI
-T 186000000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
-# SUPER 3
-T 538000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-S-Stefano_al_mare b/util/scan/dvb-t/it-S-Stefano_al_mare
deleted file mode 100644
index 7dd0275..0000000
--- a/util/scan/dvb-t/it-S-Stefano_al_mare
+++ /dev/null
@@ -1,19 +0,0 @@
-#DVB Santo Stefano al mare (IM)
-#Aggiornato al 10/08/2008
-#Fonte: DGTVI.it
-#s-stefano@email.it
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#MUX-A RAI
-T 586000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#MUX-B RAI
-T 666000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#MUX MEDIASET 1
-T 570000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#MUX MEDIASET 2
-T 482000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#MUX MBONE
-T 522000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#MUX DFREE
-T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#MUX TIMB 1
-T 594000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Sassari b/util/scan/dvb-t/it-Sassari
deleted file mode 100644
index 23ba817..0000000
--- a/util/scan/dvb-t/it-Sassari
+++ /dev/null
@@ -1,33 +0,0 @@
-# DVB-T Sassari Channels List by frippertronics@alice.it ;)
-# MUX DFREE
-T 746000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX LA7/MTV
-T 826000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET1
-T 802000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX MEDIASET2
-T 634000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX-A RAI
-T 786000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 530000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX-B RAI
-T 842000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 858000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MBONE
-T 738000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# TCS
-T 658000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# VIDEOLINA
-T 610000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# TIMEDIA MUX A
-T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 850000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# T 474000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 810000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# TIMEDIA MUX B
-T 177500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# T 177500000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# SUPER TV
-# T 650000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Torino b/util/scan/dvb-t/it-Torino
deleted file mode 100644
index 4587a21..0000000
--- a/util/scan/dvb-t/it-Torino
+++ /dev/null
@@ -1,13 +0,0 @@
-# DVB-T Torino (Italia)
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#MUX-A RAI
-T 834000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE
-#MUX-B RAI
-T 514000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE
-#MUX RTI
-T 474000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE
-#MUX LA7
-T 850000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE
-T 602000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE
-#MUX DFREE
-T 650000000 8MHz 1/2 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/it-Trieste b/util/scan/dvb-t/it-Trieste
deleted file mode 100644
index 0f92785..0000000
--- a/util/scan/dvb-t/it-Trieste
+++ /dev/null
@@ -1,23 +0,0 @@
-# Trieste, Italy
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-# MUX MEDIASET 1 (Class News, 24Ore TV, Coming soon, BBC World, Boing, Mediaset Premium)
-T 778000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-T 474000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#
-# MUX-B RAI (Rai Doc-Futura, RaiSportSAT, RaiNotizie24, Rai EDU1, Sat2000, Radio1, Radio2, Radio3, FDAuditorium)
-T 682000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#
-# MUX-A RAI (Rai Uno, Rai Due, Rai Tre, Rai Utile)
-T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#
-# MUX DFREE (Rete 4, Italia 1, Sportitalia, LCI / Prima, Si Live24)
-T 754000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#
-# MUX (All Music)
-T 666000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#
-# MUX (Triveneta)
-T 698000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-#
-# MUX (La7 Telemarket Retecapri MTv italia Sitcom Uno)
-T 674000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Varese b/util/scan/dvb-t/it-Varese
deleted file mode 100644
index 7ee9bb5..0000000
--- a/util/scan/dvb-t/it-Varese
+++ /dev/null
@@ -1,16 +0,0 @@
-# Italia / Varese -- mailto: b.gabriele <gb.dvbch@dveprojects.com>
-#
-# From: http://www.dgtvi.it/copertura.aspx
-#
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#
-# MUX-A RAI VHF H2 226,5 O CAMPO DEI FIORI
-T 226500000 7MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX DFREE UHF C50 706 V CAMPO DEI FIORI
-T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX LA7-MTV UHF C37 602 V CAMPO DEI FIORI
-T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX RTI UHF C26 514 O CAMPO DEI FIORI PRIMA CAPPELLA
-T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# MUX RTI UHF C38 514 V CAMPO DEI FIORI ALBERGO
-T 610000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Venezia b/util/scan/dvb-t/it-Venezia
deleted file mode 100644
index af9f4a1..0000000
--- a/util/scan/dvb-t/it-Venezia
+++ /dev/null
@@ -1,19 +0,0 @@
-# Italia / Venzia (it-Venezia) -- mailto: Rob <rob.davis@libero.it>
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-#
-# According to Eurosat 1/2006
-#
-# C50 - MediaSet
-T 706000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# C37 - Rai A - Doesn't work in Mestre though
-T 602000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# C23 -Rai B
-T 490000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# C64 DFree
-T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# C65 La 7
-T 826000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# C58 Mediaset 2
-T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# C36 DFree
-T 594000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/it-Verona b/util/scan/dvb-t/it-Verona
deleted file mode 100644
index b7df944..0000000
--- a/util/scan/dvb-t/it-Verona
+++ /dev/null
@@ -1,19 +0,0 @@
-# Italia / Verona / Sommacampagna - 02/03/2009
-# Italia / Verona / Zevio - 28/02/2009
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-# C26 - TIMB1
-T 514000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# C34 - Mux B Rai
-T 578000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# C41 - Mux DFree
-T 634000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# C54 - MBone
-T 738000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# C58 - Rete All Music
-T 770000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# C61 - Mux Mediaset 2
-T 794000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# C64 - Mux DFree
-T 818000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
-# C67 - Mediaset 1
-T 842000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE
diff --git a/util/scan/dvb-t/pl-Gdansk b/util/scan/dvb-t/pl-Gdansk
new file mode 100644
index 0000000..3b64d73
--- /dev/null
+++ b/util/scan/dvb-t/pl-Gdansk
@@ -0,0 +1,4 @@
+# Gdańsk, Poland
+# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
+T 610000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
+T 722000000 8MHz 3/4 NONE QAM64 8k 1/8 NONE
diff --git a/util/scan/dvb-t/pl-Krakow b/util/scan/dvb-t/pl-Krakow
new file mode 100644
index 0000000..d81b77d
--- /dev/null
+++ b/util/scan/dvb-t/pl-Krakow
@@ -0,0 +1,17 @@
+#------------------------------------------------------------------------------
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20091230 1 0 OFDM PL </w_scan>
+#------------------------------------------------------------------------------
+# location and provider: Poland, Krakow
+# date (yyyy-mm-dd) : 2011-10-29
+# provided by (opt) : Damian Golda
+#
+# T[2] <freq> <bw> <fec_hi> <fec_lo> <mod> <tm> <guard> <hi> [# comment]
+#------------------------------------------------------------------------------
+T 490000000 8MHz 5/6 NONE QAM64 8k 1/4 NONE # Ch.23, Mux2 Tarnow/g.Sw.Marcina
+T 690000000 8MHz 5/6 NONE QAM64 8k 1/4 NONE # NW 04 Malopolskie, Ch.48, Mux3 Krakow/Choragwica 2kW
+T 698000000 8MHz 5/6 NONE QAM64 8k 1/4 NONE # Ch.49, Mux2 Katowice/Kosztowy
+T 714000000 8MHz 5/6 NONE QAM64 8k 1/4 NONE # Ch.51, Mux3 Katowice/Kosztowy 2.5kW
+T 802000000 8MHz 5/6 NONE QAM64 8k 1/4 NONE # Ch.62, Mux1 Wisla/Skrzyczne
+T 818000000 8MHz 5/6 NONE QAM64 8k 1/4 NONE # TP EmiTel Ch.64, Mux3 Krakow/Choragwica
diff --git a/util/scan/dvb-t/sk-Bratislava b/util/scan/dvb-t/sk-Bratislava
index 8d4fb83..ded67d0 100644
--- a/util/scan/dvb-t/sk-Bratislava
+++ b/util/scan/dvb-t/sk-Bratislava
@@ -7,3 +7,10 @@ T 754000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
# 3.st multiplex (public) - on channel 27
T 522000000 8MHz 2/3 NONE QAM64 8k 1/4 NONE
+
+#
+# T- Video Agency
+# (TODO: http://www.zive.sk/bratislava-sa-dockala-novych-programov-v-dvb-t-divaci-si-naladia-uz-aj-ta3/sc-4-a-298830/default.aspx)
+#
+# regional multiplex - on channel 55
+T 746000000 8MHz 2/1 NONE QAM64 8k 1/4 NONE
diff --git a/util/scan/dvb-t/uk-CrystalPalace b/util/scan/dvb-t/uk-CrystalPalace
index fc7e55e..9251b81 100644
--- a/util/scan/dvb-t/uk-CrystalPalace
+++ b/util/scan/dvb-t/uk-CrystalPalace
@@ -1,10 +1,17 @@
-# UK, Crystal Palace
-# Auto-generated from http://www.dtg.org.uk/retailer/dtt_channels.html
-# and http://www.ofcom.org.uk/static/reception_advice/index.asp.html
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-T 505833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
-T 481833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
-T 561833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
-T 529833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
-T 578167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
-T 537833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
+#------------------------------------------------------------------------------
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20120112 1 0 TERRESTRIAL GB </w_scan>
+#------------------------------------------------------------------------------
+# location and provider: Crystal Palace, UK
+# date (yyyy-mm-dd) : 2012-02-12
+#
+# T[2] [plp_id] [system_id] <freq> <bw> <fec_hi> <fec_lo> <mod> <tm> <guard> <hi> [# comment]
+#------------------------------------------------------------------------------
+T 481833330 8MHz 2/3 NONE QAM64 2k 1/32 NONE # London.
+T 537833330 8MHz 3/4 NONE QAM16 2k 1/32 NONE # London.
+T 505833330 8MHz 3/4 NONE QAM16 2k 1/32 NONE # London.
+T 561833330 8MHz 2/3 NONE QAM64 2k 1/32 NONE # London.
+T 529833330 8MHz 3/4 NONE QAM16 2k 1/32 NONE # London.
+T 578166670 8MHz 3/4 NONE QAM16 2k 1/32 NONE # London.
+T2 0 16435 554000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO # London.
diff --git a/util/scan/dvb-t/uk-EmleyMoor b/util/scan/dvb-t/uk-EmleyMoor
index 16df648..af57649 100644
--- a/util/scan/dvb-t/uk-EmleyMoor
+++ b/util/scan/dvb-t/uk-EmleyMoor
@@ -1,10 +1,7 @@
# UK, Emley Moor
-# Auto-generated from http://www.dtg.org.uk/retailer/dtt_channels.html
-# and http://www.ofcom.org.uk/static/reception_advice/index.asp.html
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-T 722167000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
-T 625833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
-T 649833000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
-T 673833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
-T 705833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
-T 697833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
+T 682000000 8MHz 2/3 1/2 QAM64 8k 1/32 NONE # PSB1/BBCA
+T 658000000 8MHz 2/3 1/2 QAM64 8k 1/32 NONE # PSB2/D3&4
+T 714000000 8MHz 2/3 1/2 QAM64 8k 1/32 NONE # COM4/SDN
+T 722000000 8MHz 2/3 1/2 QAM64 8k 1/32 NONE # COM5/ARQA
+T 690000000 8MHz 2/3 1/2 QAM64 8k 1/32 NONE # COM6/ARQB
diff --git a/util/scan/dvb-t/uk-Tacolneston b/util/scan/dvb-t/uk-Tacolneston
index b062cca..3d0ee06 100644
--- a/util/scan/dvb-t/uk-Tacolneston
+++ b/util/scan/dvb-t/uk-Tacolneston
@@ -1,10 +1,16 @@
-# UK, Tacolneston
-# Auto-generated from http://www.dtg.org.uk/retailer/dtt_channels.html
-# and http://www.ofcom.org.uk/static/reception_advice/index.asp.html
-# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
-T 810000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
-T 786000000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
-T 730167000 8MHz 2/3 NONE QAM64 2k 1/32 NONE
-T 769833000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
-T 794000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
-T 818000000 8MHz 3/4 NONE QAM16 2k 1/32 NONE
+#------------------------------------------------------------------------------
+# file automatically generated by w_scan
+# (http://wirbel.htpc-forum.de/w_scan/index2.html)
+#! <w_scan> 20120128 1 0 TERRESTRIAL GB </w_scan>
+#------------------------------------------------------------------------------
+# location and provider: Tacolneston UK
+# date (yyyy-mm-dd) : 2012-03-10
+#
+# T[2] [plp_id] [system_id] <freq> <bw> <fec_hi> <fec_lo> <mod> <tm> <guard> <hi> [# comment]
+#------------------------------------------------------------------------------
+T 642000000 8MHz 2/3 NONE QAM64 8k 1/32 NONE # East Anglia
+T 745833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE # East Anglia
+T 777833000 8MHz 2/3 NONE QAM64 8k 1/32 NONE # East Anglia
+T 666000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE # East Anglia
+T 706000000 8MHz 3/4 NONE QAM64 8k 1/32 NONE # East Anglia
+T2 0 16417 802000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO # East Anglia
diff --git a/util/scan/scan.c b/util/scan/scan.c
index 972d529..71a20db 100644
--- a/util/scan/scan.c
+++ b/util/scan/scan.c
@@ -1304,7 +1304,7 @@ static void parse_sdt (const unsigned char *buf, int section_length,
int descriptors_loop_len = ((buf[3] & 0x0f) << 8) | buf[4];
struct service *s;
- if (section_length < descriptors_loop_len || !descriptors_loop_len)
+ if (section_length < descriptors_loop_len)
{
warning("section too short: service_id == 0x%02x, section_length == %i, "
"descriptors_loop_len == %i\n",
@@ -1934,14 +1934,54 @@ static int __tune_to_transponder (int frontend_fd, struct transponder *t)
return -1;
}
+static int set_delivery_system(int fd, unsigned type)
+{
+ struct dtv_properties props;
+ struct dtv_property dvb_prop[1];
+ unsigned delsys;
+
+ switch (type) {
+ case FE_QPSK:
+ delsys = SYS_DVBS;
+ break;
+ case FE_QAM:
+ delsys = SYS_DVBC_ANNEX_AC;
+ break;
+ case FE_OFDM:
+ delsys = SYS_DVBT;
+ break;
+ case FE_ATSC:
+ delsys = SYS_ATSC;
+ break;
+ default:
+ return -1;
+ }
+
+ dvb_prop[0].cmd = DTV_DELIVERY_SYSTEM;
+ dvb_prop[0].u.data = delsys;
+ props.num = 1;
+ props.props = dvb_prop;
+ if (ioctl(fd, FE_SET_PROPERTY, &props) >= 0)
+ return 0;
+ return errno;
+}
+
static int tune_to_transponder (int frontend_fd, struct transponder *t)
{
+ int rc;
+
/* move TP from "new" to "scanned" list */
list_del_init(&t->list);
list_add_tail(&t->list, &scanned_transponders);
t->scan_done = 1;
if (t->type != fe_info.type) {
+ rc = set_delivery_system(frontend_fd, t->type);
+ if (!rc)
+ fe_info.type = t->type;
+ }
+
+ if (t->type != fe_info.type) {
warning("frontend type (%s) is not compatible with requested tuning type (%s)\n",
fe_type2str(fe_info.type),fe_type2str(t->type));
/* ignore cable descriptors in sat NIT and vice versa */
diff --git a/util/szap/Makefile b/util/szap/Makefile
index 48d7149..837e989 100644
--- a/util/szap/Makefile
+++ b/util/szap/Makefile
@@ -1,5 +1,11 @@
# Makefile for linuxtv.org dvb-apps/util/szap
+# get DVB API version
+VERSION_FILE := "/usr/include/linux/dvb/version.h"
+
+DVB_API_MAJOR := $(word 3, $(shell grep -m1 "DVB_API_VERSION" $(VERSION_FILE)) )
+DVB_API_MINOR := $(word 3, $(shell grep -m1 "DVB_API_VERSION_MINOR" $(VERSION_FILE)) )
+
objects = lnb.o util.o
binaries = azap \
@@ -12,6 +18,7 @@ inst_bin = $(binaries)
.PHONY: all
all: $(binaries)
+$(info DVB API is $(DVB_API_MAJOR).$(DVB_API_MINOR))
$(binaries): $(objects)
diff --git a/util/szap/azap.c b/util/szap/azap.c
index ea13236..d024b46 100644
--- a/util/szap/azap.c
+++ b/util/szap/azap.c
@@ -21,18 +21,18 @@ static char DEMUX_DEV [80];
#define CHANNEL_FILE "/.azap/channels.conf"
#define ERROR(x...) \
- do { \
- fprintf(stderr, "ERROR: "); \
- fprintf(stderr, x); \
- fprintf (stderr, "\n"); \
- } while (0)
+ do { \
+ fprintf(stderr, "ERROR: "); \
+ fprintf(stderr, x); \
+ fprintf (stderr, "\n"); \
+ } while (0)
#define PERROR(x...) \
- do { \
- fprintf(stderr, "ERROR: "); \
- fprintf(stderr, x); \
- fprintf (stderr, " (%s)\n", strerror(errno)); \
- } while (0)
+ do { \
+ fprintf(stderr, "ERROR: "); \
+ fprintf(stderr, x); \
+ fprintf (stderr, " (%s)\n", strerror(errno)); \
+ } while (0)
typedef struct {
@@ -216,18 +216,14 @@ int parse(const char *fname, const char *channel,
static
int setup_frontend (int fe_fd, struct dvb_frontend_parameters *frontend)
{
- struct dvb_frontend_info fe_info;
+ uint32_t mstd;
- if (ioctl(fe_fd, FE_GET_INFO, &fe_info) < 0) {
- PERROR("ioctl FE_GET_INFO failed");
- return -1;
- }
-
- if (fe_info.type != FE_ATSC) {
- ERROR ("frontend device is not an ATSC (VSB/QAM) device");
+ if (check_frontend(fe_fd, FE_ATSC, &mstd) < 0) {
+ close(fe_fd);
return -1;
}
+ /* TODO! Some frontends need to be explicit delivery system */
printf ("tuning to %i Hz\n", frontend->frequency);
if (ioctl(fe_fd, FE_SET_FRONTEND, frontend) < 0) {
@@ -240,7 +236,7 @@ int setup_frontend (int fe_fd, struct dvb_frontend_parameters *frontend)
static
-int check_frontend (int fe_fd)
+int monitor_frontend (int fe_fd)
{
fe_status_t status;
uint16_t snr, signal;
@@ -344,7 +340,7 @@ int main(int argc, char **argv)
if (parse (confname, channel, &frontend_param, &vpid, &apid, &sid))
return -1;
- if ((frontend_fd = open(FRONTEND_DEV, O_RDWR)) < 0) {
+ if ((frontend_fd = open(FRONTEND_DEV, O_RDWR | O_NONBLOCK)) < 0) {
PERROR ("failed opening '%s'", FRONTEND_DEV);
return -1;
}
@@ -353,49 +349,49 @@ int main(int argc, char **argv)
return -1;
- if (rec_psi) {
- pmtpid = get_pmt_pid(DEMUX_DEV, sid);
- if (pmtpid <= 0) {
- fprintf(stderr,"couldn't find pmt-pid for sid %04x\n",sid);
- return -1;
- }
-
- if ((pat_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
- perror("opening pat demux failed");
- return -1;
- }
- if (set_pesfilter(pat_fd, 0, DMX_PES_OTHER, dvr) < 0)
- return -1;
-
- if ((pmt_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
- perror("opening pmt demux failed");
- return -1;
- }
- if (set_pesfilter(pmt_fd, pmtpid, DMX_PES_OTHER, dvr) < 0)
- return -1;
- }
-
- if ((video_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
- PERROR("failed opening '%s'", DEMUX_DEV);
- return -1;
- }
+ if (rec_psi) {
+ pmtpid = get_pmt_pid(DEMUX_DEV, sid);
+ if (pmtpid <= 0) {
+ fprintf(stderr,"couldn't find pmt-pid for sid %04x\n",sid);
+ return -1;
+ }
+
+ if ((pat_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
+ perror("opening pat demux failed");
+ return -1;
+ }
+ if (set_pesfilter(pat_fd, 0, DMX_PES_OTHER, dvr) < 0)
+ return -1;
+
+ if ((pmt_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
+ perror("opening pmt demux failed");
+ return -1;
+ }
+ if (set_pesfilter(pmt_fd, pmtpid, DMX_PES_OTHER, dvr) < 0)
+ return -1;
+ }
+
+ if ((video_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
+ PERROR("failed opening '%s'", DEMUX_DEV);
+ return -1;
+ }
printf ("video pid 0x%04x, audio pid 0x%04x\n", vpid, apid);
if (set_pesfilter (video_fd, vpid, DMX_PES_VIDEO, dvr) < 0)
return -1;
if ((audio_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
- PERROR("failed opening '%s'", DEMUX_DEV);
- return -1;
- }
+ PERROR("failed opening '%s'", DEMUX_DEV);
+ return -1;
+ }
if (set_pesfilter (audio_fd, apid, DMX_PES_AUDIO, dvr) < 0)
return -1;
- check_frontend (frontend_fd);
+ monitor_frontend (frontend_fd);
- close (pat_fd);
- close (pmt_fd);
+ close (pat_fd);
+ close (pmt_fd);
close (audio_fd);
close (video_fd);
close (frontend_fd);
diff --git a/util/szap/czap.c b/util/szap/czap.c
index e04ed4b..f49c524 100644
--- a/util/szap/czap.c
+++ b/util/szap/czap.c
@@ -180,32 +180,30 @@ int parse(const char *fname, int list_channels, int chan_no, const char *channel
}
-static
-int setup_frontend(int fe_fd, struct dvb_frontend_parameters *frontend)
+static int setup_frontend(int fe_fd, struct dvb_frontend_parameters *frontend)
{
- struct dvb_frontend_info fe_info;
+ int ret;
+ uint32_t mstd;
- if (ioctl(fe_fd, FE_GET_INFO, &fe_info) < 0) {
- PERROR ("ioctl FE_GET_INFO failed");
+ if (check_frontend(fe_fd, FE_QAM, &mstd) < 0) {
+ close(fe_fd);
return -1;
}
-
- if (fe_info.type != FE_QAM) {
- ERROR ("frontend device is not a QAM (DVB-C) device");
+ ret = dvbfe_set_delsys(fe_fd, SYS_DVBC_ANNEX_A);
+ if (ret) {
+ PERROR("SET Delsys failed");
return -1;
}
-
if (ioctl(fe_fd, FE_SET_FRONTEND, frontend) < 0) {
PERROR ("ioctl FE_SET_FRONTEND failed");
return -1;
}
-
return 0;
}
static
-int check_frontend (int fe_fd, int human_readable)
+int monitor_frontend (int fe_fd, int human_readable)
{
fe_status_t status;
uint16_t snr, signal;
@@ -242,19 +240,18 @@ int check_frontend (int fe_fd, int human_readable)
static const char *usage =
- "\nusage: %s [options] -l\n"
- " list known channels\n"
- " %s [options] {-n channel-number|channel_name}\n"
- " zap to channel via number or full name (case insensitive)\n"
- " -a number : use given adapter (default 0)\n"
- " -f number : use given frontend (default 0)\n"
- " -d number : use given demux (default 0)\n"
- " -c file : read channels list from 'file'\n"
- " -x : exit after tuning\n"
- " -H : human readable output\n"
- " -r : set up /dev/dvb/adapterX/dvr0 for TS recording\n"
- " -p : add pat and pmt to TS recording (implies -r)\n"
-;
+ "\nusage: %s [options] -l\n"
+ " list known channels\n"
+ " %s [options] {-n channel-number|channel_name}\n"
+ " zap to channel via number or full name (case insensitive)\n"
+ " -a number : use given adapter (default 0)\n"
+ " -f number : use given frontend (default 0)\n"
+ " -d number : use given demux (default 0)\n"
+ " -c file : read channels list from 'file'\n"
+ " -x : exit after tuning\n"
+ " -H : human readable output\n"
+ " -r : set up /dev/dvb/adapterX/dvr0 for TS recording\n"
+ " -p : add pat and pmt to TS recording (implies -r)\n";
int main(int argc, char **argv)
{
@@ -348,7 +345,7 @@ int main(int argc, char **argv)
if (list_channels)
return 0;
- if ((frontend_fd = open(FRONTEND_DEV, O_RDWR)) < 0) {
+ if ((frontend_fd = open(FRONTEND_DEV, O_RDWR | O_NONBLOCK)) < 0) {
PERROR("failed opening '%s'", FRONTEND_DEV);
return -1;
}
@@ -394,7 +391,7 @@ int main(int argc, char **argv)
if (set_pesfilter (audio_fd, apid, DMX_PES_AUDIO, dvr) < 0)
return -1;
- check_frontend (frontend_fd, human_readable);
+ monitor_frontend (frontend_fd, human_readable);
close (pat_fd);
close (pmt_fd);
diff --git a/util/szap/lnb.c b/util/szap/lnb.c
index 9052d1c..3202da1 100644
--- a/util/szap/lnb.c
+++ b/util/szap/lnb.c
@@ -44,8 +44,7 @@ static struct lnb_types_st lnbs[] = {
* Increment curno each time
*/
-struct lnb_types_st *
-lnb_enum(int curno)
+struct lnb_types_st *lnb_enum(int curno)
{
if (curno >= (int) (sizeof(lnbs) / sizeof(lnbs[0])))
return (struct lnb_types_st *)NULL;
@@ -57,16 +56,16 @@ lnb_enum(int curno)
* otherwise low[,high[,switch]]
*/
-int
-lnb_decode(char *str, struct lnb_types_st *lnbp)
+int lnb_decode(char *str, struct lnb_types_st *lnbp)
{
-int i;
-char *cp, *np;
+ int i;
+ char *cp, *np;
memset(lnbp, 0, sizeof(*lnbp));
cp = str;
while(*cp && isspace(*cp))
cp++;
+
if (isalpha(*cp)) {
for (i = 0; i < (int)(sizeof(lnbs) / sizeof(lnbs[0])); i++) {
if (!strcasecmp(lnbs[i].name, cp)) {
diff --git a/util/szap/lnb.h b/util/szap/lnb.h
index 6370fd4..6cc9e1d 100644
--- a/util/szap/lnb.h
+++ b/util/szap/lnb.h
@@ -10,13 +10,11 @@ struct lnb_types_st {
* Increment curno each time
*/
-struct lnb_types_st *
-lnb_enum(int curno);
+struct lnb_types_st *lnb_enum(int curno);
/* Decode an lnb type, for example given on a command line
* If alpha and standard type, e.g. "Universal" then match that
* otherwise low[,high[,switch]]
*/
-int
-lnb_decode(char *str, struct lnb_types_st *lnbp);
+int lnb_decode(char *str, struct lnb_types_st *lnbp);
diff --git a/util/szap/szap.c b/util/szap/szap.c
index 78da3a6..90bdbfb 100644
--- a/util/szap/szap.c
+++ b/util/szap/szap.c
@@ -75,46 +75,46 @@ static int exit_after_tuning;
static int interactive;
static char *usage_str =
- "\nusage: szap -q\n"
- " list known channels\n"
- " szap [options] {-n channel-number|channel_name}\n"
- " zap to channel via number or full name (case insensitive)\n"
- " -a number : use given adapter (default 0)\n"
- " -f number : use given frontend (default 0)\n"
- " -d number : use given demux (default 0)\n"
- " -c file : read channels list from 'file'\n"
- " -b : enable Audio Bypass (default no)\n"
- " -x : exit after tuning\n"
- " -H : human readable output\n"
- " -r : set up /dev/dvb/adapterX/dvr0 for TS recording\n"
- " -l lnb-type (DVB-S Only) (use -l help to print types) or \n"
- " -l low[,high[,switch]] in Mhz\n"
- " -i : run interactively, allowing you to type in channel names\n"
- " -p : add pat and pmt to TS recording (implies -r)\n"
- " or -n numbers for zapping\n";
+ "\nusage: szap -q\n"
+ " list known channels\n"
+ " szap [options] {-n channel-number|channel_name}\n"
+ " zap to channel via number or full name (case insensitive)\n"
+ " -a number : use given adapter (default 0)\n"
+ " -f number : use given frontend (default 0)\n"
+ " -d number : use given demux (default 0)\n"
+ " -c file : read channels list from 'file'\n"
+ " -b : enable Audio Bypass (default no)\n"
+ " -x : exit after tuning\n"
+ " -H : human readable output\n"
+ " -r : set up /dev/dvb/adapterX/dvr0 for TS recording\n"
+ " -l lnb-type (DVB-S Only) (use -l help to print types) or \n"
+ " -l low[,high[,switch]] in Mhz\n"
+ " -i : run interactively, allowing you to type in channel names\n"
+ " -p : add pat and pmt to TS recording (implies -r)\n"
+ " or -n numbers for zapping\n";
struct diseqc_cmd {
- struct dvb_diseqc_master_cmd cmd;
- uint32_t wait;
+ struct dvb_diseqc_master_cmd cmd;
+ uint32_t wait;
};
void diseqc_send_msg(int fd, fe_sec_voltage_t v, struct diseqc_cmd *cmd,
fe_sec_tone_mode_t t, fe_sec_mini_cmd_t b)
{
- if (ioctl(fd, FE_SET_TONE, SEC_TONE_OFF) == -1)
- perror("FE_SET_TONE failed");
- if (ioctl(fd, FE_SET_VOLTAGE, v) == -1)
- perror("FE_SET_VOLTAGE failed");
- usleep(15 * 1000);
- if (ioctl(fd, FE_DISEQC_SEND_MASTER_CMD, &cmd->cmd) == -1)
- perror("FE_DISEQC_SEND_MASTER_CMD failed");
- usleep(cmd->wait * 1000);
- usleep(15 * 1000);
- if (ioctl(fd, FE_DISEQC_SEND_BURST, b) == -1)
- perror("FE_DISEQC_SEND_BURST failed");
- usleep(15 * 1000);
- if (ioctl(fd, FE_SET_TONE, t) == -1)
- perror("FE_SET_TONE failed");
+ if (ioctl(fd, FE_SET_TONE, SEC_TONE_OFF) == -1)
+ perror("FE_SET_TONE failed");
+ if (ioctl(fd, FE_SET_VOLTAGE, v) == -1)
+ perror("FE_SET_VOLTAGE failed");
+ usleep(15 * 1000);
+ if (ioctl(fd, FE_DISEQC_SEND_MASTER_CMD, &cmd->cmd) == -1)
+ perror("FE_DISEQC_SEND_MASTER_CMD failed");
+ usleep(cmd->wait * 1000);
+ usleep(15 * 1000);
+ if (ioctl(fd, FE_DISEQC_SEND_BURST, b) == -1)
+ perror("FE_DISEQC_SEND_BURST failed");
+ usleep(15 * 1000);
+ if (ioctl(fd, FE_SET_TONE, t) == -1)
+ perror("FE_SET_TONE failed");
}
@@ -125,89 +125,89 @@ void diseqc_send_msg(int fd, fe_sec_voltage_t v, struct diseqc_cmd *cmd,
*/
static int diseqc(int secfd, int sat_no, int pol_vert, int hi_band)
{
- struct diseqc_cmd cmd =
- { {{0xe0, 0x10, 0x38, 0xf0, 0x00, 0x00}, 4}, 0 };
+ struct diseqc_cmd cmd =
+ { {{0xe0, 0x10, 0x38, 0xf0, 0x00, 0x00}, 4}, 0 };
- /* param: high nibble: reset bits, low nibble set bits,
- * bits are: option, position, polarization, band
- */
- cmd.cmd.msg[3] =
- 0xf0 | (((sat_no * 4) & 0x0f) | (hi_band ? 1 : 0) | (pol_vert ? 0 : 2));
+ /* param: high nibble: reset bits, low nibble set bits,
+ * bits are: option, position, polarization, band
+ */
+ cmd.cmd.msg[3] =
+ 0xf0 | (((sat_no * 4) & 0x0f) | (hi_band ? 1 : 0) | (pol_vert ? 0 : 2));
- diseqc_send_msg(secfd, pol_vert ? SEC_VOLTAGE_13 : SEC_VOLTAGE_18,
- &cmd, hi_band ? SEC_TONE_ON : SEC_TONE_OFF,
- sat_no % 2 ? SEC_MINI_B : SEC_MINI_A);
+ diseqc_send_msg(secfd, pol_vert ? SEC_VOLTAGE_13 : SEC_VOLTAGE_18,
+ &cmd, hi_band ? SEC_TONE_ON : SEC_TONE_OFF,
+ sat_no % 2 ? SEC_MINI_B : SEC_MINI_A);
- return TRUE;
+ return TRUE;
}
static int do_tune(int fefd, unsigned int ifreq, unsigned int sr)
{
- struct dvb_frontend_parameters tuneto;
- struct dvb_frontend_event ev;
-
- /* discard stale QPSK events */
- while (1) {
- if (ioctl(fefd, FE_GET_EVENT, &ev) == -1)
- break;
- }
-
- tuneto.frequency = ifreq;
- tuneto.inversion = INVERSION_AUTO;
- tuneto.u.qpsk.symbol_rate = sr;
- tuneto.u.qpsk.fec_inner = FEC_AUTO;
-
- if (ioctl(fefd, FE_SET_FRONTEND, &tuneto) == -1) {
- perror("FE_SET_FRONTEND failed");
- return FALSE;
- }
-
- return TRUE;
+ struct dvb_frontend_parameters tuneto;
+ struct dvb_frontend_event ev;
+
+ /* discard stale QPSK events */
+ while (1) {
+ if (ioctl(fefd, FE_GET_EVENT, &ev) == -1)
+ break;
+ }
+
+ tuneto.frequency = ifreq;
+ tuneto.inversion = INVERSION_AUTO;
+ tuneto.u.qpsk.symbol_rate = sr;
+ tuneto.u.qpsk.fec_inner = FEC_AUTO;
+
+ if (ioctl(fefd, FE_SET_FRONTEND, &tuneto) == -1) {
+ perror("FE_SET_FRONTEND failed");
+ return FALSE;
+ }
+
+ return TRUE;
}
-static
-int check_frontend (int fe_fd, int dvr, int human_readable)
+static int monitor_frontend (int fe_fd, int dvr, int human_readable)
{
- (void)dvr;
- fe_status_t status;
- uint16_t snr, signal;
- uint32_t ber, uncorrected_blocks;
- int timeout = 0;
-
- do {
- if (ioctl(fe_fd, FE_READ_STATUS, &status) == -1)
- perror("FE_READ_STATUS failed");
- /* some frontends might not support all these ioctls, thus we
- * avoid printing errors */
- if (ioctl(fe_fd, FE_READ_SIGNAL_STRENGTH, &signal) == -1)
- signal = -2;
- if (ioctl(fe_fd, FE_READ_SNR, &snr) == -1)
- snr = -2;
- if (ioctl(fe_fd, FE_READ_BER, &ber) == -1)
- ber = -2;
- if (ioctl(fe_fd, FE_READ_UNCORRECTED_BLOCKS, &uncorrected_blocks) == -1)
- uncorrected_blocks = -2;
-
- if (human_readable) {
- printf ("status %02x | signal %3u%% | snr %3u%% | ber %d | unc %d | ",
- status, (signal * 100) / 0xffff, (snr * 100) / 0xffff, ber, uncorrected_blocks);
- } else {
- printf ("status %02x | signal %04x | snr %04x | ber %08x | unc %08x | ",
- status, signal, snr, ber, uncorrected_blocks);
- }
+ (void)dvr;
+ fe_status_t status;
+ uint16_t snr, signal;
+ uint32_t ber, uncorrected_blocks;
+ int timeout = 0;
+
+ do {
+ if (ioctl(fe_fd, FE_READ_STATUS, &status) == -1)
+ perror("FE_READ_STATUS failed");
+ /* some frontends might not support all these ioctls, thus we
+ * avoid printing errors
+ */
+ if (ioctl(fe_fd, FE_READ_SIGNAL_STRENGTH, &signal) == -1)
+ signal = -2;
+ if (ioctl(fe_fd, FE_READ_SNR, &snr) == -1)
+ snr = -2;
+ if (ioctl(fe_fd, FE_READ_BER, &ber) == -1)
+ ber = -2;
+ if (ioctl(fe_fd, FE_READ_UNCORRECTED_BLOCKS, &uncorrected_blocks) == -1)
+ uncorrected_blocks = -2;
+
+ if (human_readable) {
+ printf ("status %02x | signal %3u%% | snr %3u%% | ber %d | unc %d | ",
+ status, (signal * 100) / 0xffff, (snr * 100) / 0xffff, ber, uncorrected_blocks);
+ } else {
+ printf ("status %02x | signal %04x | snr %04x | ber %08x | unc %08x | ",
+ status, signal, snr, ber, uncorrected_blocks);
+ }
- if (status & FE_HAS_LOCK)
- printf("FE_HAS_LOCK");
- printf("\n");
+ if (status & FE_HAS_LOCK)
+ printf("FE_HAS_LOCK");
+ printf("\n");
- if (exit_after_tuning && ((status & FE_HAS_LOCK) || (++timeout >= 10)))
- break;
+ if (exit_after_tuning && ((status & FE_HAS_LOCK) || (++timeout >= 10)))
+ break;
- usleep(1000000);
- } while (1);
+ usleep(1000000);
+ } while (1);
- return 0;
+ return 0;
}
@@ -217,126 +217,115 @@ int zap_to(unsigned int adapter, unsigned int frontend, unsigned int demux,
unsigned int sr, unsigned int vpid, unsigned int apid, int sid,
int dvr, int rec_psi, int bypass, int human_readable)
{
- char fedev[128], dmxdev[128], auddev[128];
- static int fefd, dmxfda, dmxfdv, audiofd = -1, patfd, pmtfd;
- int pmtpid;
- uint32_t ifreq;
- int hiband, result;
- static struct dvb_frontend_info fe_info;
-
- if (!fefd) {
- snprintf(fedev, sizeof(fedev), FRONTENDDEVICE, adapter, frontend);
- snprintf(dmxdev, sizeof(dmxdev), DEMUXDEVICE, adapter, demux);
- snprintf(auddev, sizeof(auddev), AUDIODEVICE, adapter, demux);
- printf("using '%s' and '%s'\n", fedev, dmxdev);
-
- if ((fefd = open(fedev, O_RDWR | O_NONBLOCK)) < 0) {
- perror("opening frontend failed");
- return FALSE;
- }
-
- result = ioctl(fefd, FE_GET_INFO, &fe_info);
-
- if (result < 0) {
- perror("ioctl FE_GET_INFO failed");
- close(fefd);
- return FALSE;
- }
-
- if (fe_info.type != FE_QPSK) {
- fprintf(stderr, "frontend device is not a QPSK (DVB-S) device!\n");
- close(fefd);
- return FALSE;
- }
-
- if ((dmxfdv = open(dmxdev, O_RDWR)) < 0) {
- perror("opening video demux failed");
- close(fefd);
- return FALSE;
- }
-
- if ((dmxfda = open(dmxdev, O_RDWR)) < 0) {
- perror("opening audio demux failed");
- close(fefd);
- return FALSE;
- }
-
- if (dvr == 0) /* DMX_OUT_DECODER */
- audiofd = open(auddev, O_RDWR);
-
- if (rec_psi){
- if ((patfd = open(dmxdev, O_RDWR)) < 0) {
- perror("opening pat demux failed");
- close(audiofd);
- close(dmxfda);
- close(dmxfdv);
- close(fefd);
- return FALSE;
- }
-
- if ((pmtfd = open(dmxdev, O_RDWR)) < 0) {
- perror("opening pmt demux failed");
- close(patfd);
- close(audiofd);
- close(dmxfda);
- close(dmxfdv);
- close(fefd);
- return FALSE;
- }
- }
- }
-
- hiband = 0;
- if (lnb_type.switch_val && lnb_type.high_val &&
- freq >= lnb_type.switch_val)
- hiband = 1;
-
- if (hiband)
- ifreq = freq - lnb_type.high_val;
- else {
- if (freq < lnb_type.low_val)
- ifreq = lnb_type.low_val - freq;
- else
- ifreq = freq - lnb_type.low_val;
- }
- result = FALSE;
-
- if (diseqc(fefd, sat_no, pol, hiband))
- if (do_tune(fefd, ifreq, sr))
- if (set_pesfilter(dmxfdv, vpid, DMX_PES_VIDEO, dvr))
- if (audiofd >= 0)
- (void)ioctl(audiofd, AUDIO_SET_BYPASS_MODE, bypass);
- if (set_pesfilter(dmxfda, apid, DMX_PES_AUDIO, dvr)) {
- if (rec_psi) {
- pmtpid = get_pmt_pid(dmxdev, sid);
- if (pmtpid < 0) {
- result = FALSE;
- }
- if (pmtpid == 0) {
- fprintf(stderr,"couldn't find pmt-pid for sid %04x\n",sid);
- result = FALSE;
- }
- if (set_pesfilter(patfd, 0, DMX_PES_OTHER, dvr))
- if (set_pesfilter(pmtfd, pmtpid, DMX_PES_OTHER, dvr))
- result = TRUE;
- } else {
- result = TRUE;
- }
- }
-
- check_frontend (fefd, dvr, human_readable);
-
- if (!interactive) {
- close(patfd);
- close(pmtfd);
- if (audiofd >= 0)
- close(audiofd);
- close(dmxfda);
- close(dmxfdv);
- close(fefd);
- }
-
- return result;
+ char fedev[128], dmxdev[128], auddev[128];
+ static int fefd, dmxfda, dmxfdv, audiofd = -1, patfd, pmtfd;
+ int pmtpid;
+ uint32_t ifreq, mstd;
+ int hiband, result;
+
+ if (!fefd) {
+ snprintf(fedev, sizeof(fedev), FRONTENDDEVICE, adapter, frontend);
+ snprintf(dmxdev, sizeof(dmxdev), DEMUXDEVICE, adapter, demux);
+ snprintf(auddev, sizeof(auddev), AUDIODEVICE, adapter, demux);
+ printf("using '%s' and '%s'\n", fedev, dmxdev);
+
+ if ((fefd = open(fedev, O_RDWR | O_NONBLOCK)) < 0) {
+ perror("opening frontend failed");
+ return FALSE;
+ }
+ if (check_frontend(fefd, FE_QPSK, &mstd) < 0) {
+ close(fefd);
+ return FALSE;
+ }
+ /* TODO! Some frontends need to be explicit delivery system */
+ if ((dmxfdv = open(dmxdev, O_RDWR)) < 0) {
+ perror("opening video demux failed");
+ close(fefd);
+ return FALSE;
+ }
+
+ if ((dmxfda = open(dmxdev, O_RDWR)) < 0) {
+ perror("opening audio demux failed");
+ close(fefd);
+ return FALSE;
+ }
+
+ if (dvr == 0) /* DMX_OUT_DECODER */
+ audiofd = open(auddev, O_RDWR);
+
+ if (rec_psi) {
+ if ((patfd = open(dmxdev, O_RDWR)) < 0) {
+ perror("opening pat demux failed");
+ close(audiofd);
+ close(dmxfda);
+ close(dmxfdv);
+ close(fefd);
+ return FALSE;
+ }
+ if ((pmtfd = open(dmxdev, O_RDWR)) < 0) {
+ perror("opening pmt demux failed");
+ close(patfd);
+ close(audiofd);
+ close(dmxfda);
+ close(dmxfdv);
+ close(fefd);
+ return FALSE;
+ }
+ }
+ }
+
+ hiband = 0;
+ if (lnb_type.switch_val && lnb_type.high_val && freq >= lnb_type.switch_val)
+ hiband = 1;
+
+ if (hiband)
+ ifreq = freq - lnb_type.high_val;
+ else {
+ if (freq < lnb_type.low_val)
+ ifreq = lnb_type.low_val - freq;
+ else
+ ifreq = freq - lnb_type.low_val;
+ }
+ result = FALSE;
+
+ if (diseqc(fefd, sat_no, pol, hiband))
+ if (do_tune(fefd, ifreq, sr))
+ if (set_pesfilter(dmxfdv, vpid, DMX_PES_VIDEO, dvr))
+ if (audiofd >= 0)
+ (void)ioctl(audiofd, AUDIO_SET_BYPASS_MODE, bypass);
+
+ if (set_pesfilter(dmxfda, apid, DMX_PES_AUDIO, dvr)) {
+ if (rec_psi) {
+ pmtpid = get_pmt_pid(dmxdev, sid);
+ if (pmtpid < 0) {
+ result = FALSE;
+ }
+ if (pmtpid == 0) {
+ fprintf(stderr,"couldn't find pmt-pid for sid %04x\n",sid);
+ result = FALSE;
+ }
+ if (set_pesfilter(patfd, 0, DMX_PES_OTHER, dvr))
+ if (set_pesfilter(pmtfd, pmtpid, DMX_PES_OTHER, dvr))
+ result = TRUE;
+ } else {
+ result = TRUE;
+ }
+ }
+
+ monitor_frontend (fefd, dvr, human_readable);
+ if (!interactive) {
+ close(patfd);
+ close(pmtfd);
+
+ if (audiofd >= 0)
+ close(audiofd);
+
+ close(dmxfda);
+ close(dmxfdv);
+ close(fefd);
+ }
+
+ return result;
}
@@ -346,165 +335,174 @@ static int read_channels(const char *filename, int list_channels,
unsigned int demux, int dvr, int rec_psi,
int bypass, int human_readable)
{
- FILE *cfp;
- char buf[4096];
- char inp[256];
- char *field, *tmp, *p;
- unsigned int line;
- unsigned int freq, pol, sat_no, sr, vpid, apid, sid;
- int ret;
+ FILE *cfp;
+ char buf[4096];
+ char inp[256];
+ char *field, *tmp, *p;
+ unsigned int line;
+ unsigned int freq, pol, sat_no, sr, vpid, apid, sid;
+ int ret;
again:
- line = 0;
- if (!(cfp = fopen(filename, "r"))) {
- fprintf(stderr, "error opening channel list '%s': %d %m\n",
- filename, errno);
- return FALSE;
- }
+ line = 0;
+ if (!(cfp = fopen(filename, "r"))) {
+ fprintf(stderr, "error opening channel list '%s': %d %m\n",
+ filename, errno);
+ return FALSE;
+ }
+
+ if (interactive) {
+ fprintf(stderr, "\n>>> ");
+
+ if (!fgets(inp, sizeof(inp), stdin)) {
+ printf("\n");
+ return -1;
+ }
+ if (inp[0] == '-' && inp[1] == 'n') {
+ chan_no = strtoul(inp+2, NULL, 0);
+ chan_name = NULL;
+ if (!chan_no) {
+ fprintf(stderr, "bad channel number\n");
+ goto again;
+ }
+ } else {
+ p = strchr(inp, '\n');
+ if (p)
+ *p = '\0';
+ chan_name = inp;
+ chan_no = 0;
+ }
+ }
+
+ while (!feof(cfp)) {
+ if (fgets(buf, sizeof(buf), cfp)) {
+ line++;
+
+ if (chan_no && chan_no != line)
+ continue;
+
+ tmp = buf;
+ field = strsep(&tmp, ":");
+
+ if (!field)
+ goto syntax_err;
+
+ if (list_channels) {
+ printf("%03u %s\n", line, field);
+ continue;
+ }
+
+ if (chan_name && strcasecmp(chan_name, field) != 0)
+ continue;
+
+ printf("zapping to %d '%s':\n", line, field);
+
+ if (!(field = strsep(&tmp, ":")))
+ goto syntax_err;
+
+ freq = strtoul(field, NULL, 0);
+
+ if (!(field = strsep(&tmp, ":")))
+ goto syntax_err;
+
+ pol = (field[0] == 'h' ? 0 : 1);
+
+ if (!(field = strsep(&tmp, ":")))
+ goto syntax_err;
+
+ sat_no = strtoul(field, NULL, 0);
+
+ if (!(field = strsep(&tmp, ":")))
+ goto syntax_err;
- if (interactive) {
- fprintf(stderr, "\n>>> ");
- if (!fgets(inp, sizeof(inp), stdin)) {
- printf("\n");
- return -1;
- }
- if (inp[0] == '-' && inp[1] == 'n') {
- chan_no = strtoul(inp+2, NULL, 0);
- chan_name = NULL;
- if (!chan_no) {
- fprintf(stderr, "bad channel number\n");
- goto again;
- }
- } else {
- p = strchr(inp, '\n');
- if (p)
- *p = '\0';
- chan_name = inp;
- chan_no = 0;
- }
- }
-
- while (!feof(cfp)) {
- if (fgets(buf, sizeof(buf), cfp)) {
- line++;
-
- if (chan_no && chan_no != line)
- continue;
-
- tmp = buf;
- field = strsep(&tmp, ":");
-
- if (!field)
- goto syntax_err;
-
- if (list_channels) {
- printf("%03u %s\n", line, field);
- continue;
- }
-
- if (chan_name && strcasecmp(chan_name, field) != 0)
- continue;
-
- printf("zapping to %d '%s':\n", line, field);
-
- if (!(field = strsep(&tmp, ":")))
- goto syntax_err;
-
- freq = strtoul(field, NULL, 0);
-
- if (!(field = strsep(&tmp, ":")))
- goto syntax_err;
-
- pol = (field[0] == 'h' ? 0 : 1);
-
- if (!(field = strsep(&tmp, ":")))
- goto syntax_err;
-
- sat_no = strtoul(field, NULL, 0);
-
- if (!(field = strsep(&tmp, ":")))
- goto syntax_err;
-
- sr = strtoul(field, NULL, 0) * 1000;
-
- if (!(field = strsep(&tmp, ":")))
- goto syntax_err;
-
- vpid = strtoul(field, NULL, 0);
- if (!vpid)
- vpid = 0x1fff;
-
- if (!(field = strsep(&tmp, ":")))
- goto syntax_err;
-
- p = strchr(field, ';');
-
- if (p) {
- *p = '\0';
- p++;
- if (bypass) {
- if (!p || !*p)
- goto syntax_err;
- field = p;
- }
- }
-
- apid = strtoul(field, NULL, 0);
- if (!apid)
- apid = 0x1fff;
-
- if (!(field = strsep(&tmp, ":")))
- goto syntax_err;
-
- sid = strtoul(field, NULL, 0);
-
- printf("sat %u, frequency = %u MHz %c, symbolrate %u, "
- "vpid = 0x%04x, apid = 0x%04x sid = 0x%04x\n",
- sat_no, freq, pol ? 'V' : 'H', sr, vpid, apid, sid);
+ sr = strtoul(field, NULL, 0) * 1000;
- fclose(cfp);
-
- ret = zap_to(adapter, frontend, demux, sat_no, freq * 1000,
- pol, sr, vpid, apid, sid, dvr, rec_psi, bypass, human_readable);
- if (interactive)
- goto again;
+ if (!(field = strsep(&tmp, ":")))
+ goto syntax_err;
- if (ret)
- return TRUE;
+ vpid = strtoul(field, NULL, 0);
+ if (!vpid)
+ vpid = 0x1fff;
- return FALSE;
+ if (!(field = strsep(&tmp, ":")))
+ goto syntax_err;
- syntax_err:
- fprintf(stderr, "syntax error in line %u: '%s'\n", line, buf);
- } else if (ferror(cfp)) {
- fprintf(stderr, "error reading channel list '%s': %d %m\n",
- filename, errno);
- fclose(cfp);
- return FALSE;
- } else
- break;
- }
+ p = strchr(field, ';');
- fclose(cfp);
+ if (p) {
+ *p = '\0';
+ p++;
+ if (bypass) {
+ if (!p || !*p)
+ goto syntax_err;
+ field = p;
+ }
+ }
+ apid = strtoul(field, NULL, 0);
+ if (!apid)
+ apid = 0x1fff;
+
+ if (!(field = strsep(&tmp, ":")))
+ goto syntax_err;
+
+ sid = strtoul(field, NULL, 0);
+
+ printf("sat %u, frequency = %u MHz %c, symbolrate %u, "
+ "vpid = 0x%04x, apid = 0x%04x sid = 0x%04x\n",
+ sat_no, freq, pol ? 'V' : 'H', sr, vpid, apid, sid);
+
+ fclose(cfp);
+
+ ret = zap_to(adapter,
+ frontend,
+ demux,
+ sat_no,
+ freq * 1000,
+ pol,
+ sr,
+ vpid,
+ apid,
+ sid,
+ dvr,
+ rec_psi,
+ bypass,
+ human_readable);
+
+ if (interactive)
+ goto again;
+ if (ret)
+ return TRUE;
+
+ return FALSE;
+syntax_err:
+ fprintf(stderr, "syntax error in line %u: '%s'\n", line, buf);
+ } else if (ferror(cfp)) {
+ fprintf(stderr, "error reading channel list '%s': %d %m\n", filename, errno);
+ fclose(cfp);
+ return FALSE;
+ } else {
+ break;
+ }
+ }
- if (!list_channels) {
- fprintf(stderr, "channel not found\n");
- if (!interactive)
- return FALSE;
- }
- if (interactive)
- goto again;
+ fclose(cfp);
+ if (!list_channels) {
+ fprintf(stderr, "channel not found\n");
+ if (!interactive)
+ return FALSE;
+ }
+ if (interactive)
+ goto again;
- return TRUE;
+ return TRUE;
}
-void
-bad_usage(char *pname, int prlnb)
+void bad_usage(char *pname, int prlnb)
{
-int i;
-struct lnb_types_st *lnbp;
-char **cp;
+ int i;
+ struct lnb_types_st *lnbp;
+ char **cp;
if (!prlnb) {
fprintf (stderr, usage_str, pname);
@@ -523,107 +521,125 @@ char **cp;
int main(int argc, char *argv[])
{
- const char *home;
- char chanfile[2 * PATH_MAX];
- int list_channels = 0;
- unsigned int chan_no = 0;
- const char *chan_name = NULL;
- unsigned int adapter = 0, frontend = 0, demux = 0, dvr = 0, rec_psi = 0;
- int bypass = 0;
- int opt, copt = 0;
- int human_readable = 0;
-
- lnb_type = *lnb_enum(0);
- while ((opt = getopt(argc, argv, "Hhqrpn:a:f:d:c:l:xib")) != -1) {
- switch (opt)
- {
- case '?':
- case 'h':
- default:
- bad_usage(argv[0], 0);
- case 'b':
- bypass = 1;
- break;
- case 'q':
- list_channels = 1;
- break;
- case 'r':
- dvr = 1;
- break;
- case 'n':
- chan_no = strtoul(optarg, NULL, 0);
- break;
- case 'a':
- adapter = strtoul(optarg, NULL, 0);
- break;
- case 'f':
- frontend = strtoul(optarg, NULL, 0);
- break;
- case 'p':
- rec_psi = 1;
- break;
- case 'd':
- demux = strtoul(optarg, NULL, 0);
- break;
- case 'c':
- copt = 1;
- strncpy(chanfile, optarg, sizeof(chanfile));
- break;
- case 'l':
- if (lnb_decode(optarg, &lnb_type) < 0) {
- bad_usage(argv[0], 1);
+ const char *home;
+ char chanfile[2 * PATH_MAX];
+ int list_channels = 0;
+ unsigned int chan_no = 0;
+ const char *chan_name = NULL;
+ unsigned int adapter = 0, frontend = 0, demux = 0, dvr = 0, rec_psi = 0;
+ int bypass = 0;
+ int opt, copt = 0;
+ int human_readable = 0;
+
+ lnb_type = *lnb_enum(0);
+
+ while ((opt = getopt(argc, argv, "Hhqrpn:a:f:d:c:l:xib")) != -1) {
+ switch (opt) {
+ case '?':
+ case 'h':
+ default:
+ bad_usage(argv[0], 0);
+ case 'b':
+ bypass = 1;
+ break;
+ case 'q':
+ list_channels = 1;
+ break;
+ case 'r':
+ dvr = 1;
+ break;
+ case 'n':
+ chan_no = strtoul(optarg, NULL, 0);
+ break;
+ case 'a':
+ adapter = strtoul(optarg, NULL, 0);
+ break;
+ case 'f':
+ frontend = strtoul(optarg, NULL, 0);
+ break;
+ case 'p':
+ rec_psi = 1;
+ break;
+ case 'd':
+ demux = strtoul(optarg, NULL, 0);
+ break;
+ case 'c':
+ copt = 1;
+ strncpy(chanfile, optarg, sizeof(chanfile));
+ break;
+ case 'l':
+ if (lnb_decode(optarg, &lnb_type) < 0) {
+ bad_usage(argv[0], 1);
+ return -1;
+ }
+ break;
+ case 'x':
+ exit_after_tuning = 1;
+ break;
+ case 'H':
+ human_readable = 1;
+ break;
+ case 'i':
+ interactive = 1;
+ exit_after_tuning = 1;
+ }
+ }
+ lnb_type.low_val *= 1000; /* convert to kiloherz */
+ lnb_type.high_val *= 1000; /* convert to kiloherz */
+ lnb_type.switch_val *= 1000; /* convert to kiloherz */
+
+ if (optind < argc)
+ chan_name = argv[optind];
+
+ if (chan_name && chan_no) {
+ bad_usage(argv[0], 0);
return -1;
- }
- break;
- case 'x':
- exit_after_tuning = 1;
- break;
- case 'H':
- human_readable = 1;
- break;
- case 'i':
- interactive = 1;
- exit_after_tuning = 1;
- }
- }
- lnb_type.low_val *= 1000; /* convert to kiloherz */
- lnb_type.high_val *= 1000; /* convert to kiloherz */
- lnb_type.switch_val *= 1000; /* convert to kiloherz */
- if (optind < argc)
- chan_name = argv[optind];
- if (chan_name && chan_no) {
- bad_usage(argv[0], 0);
- return -1;
- }
- if (list_channels && (chan_name || chan_no)) {
- bad_usage(argv[0], 0);
- return -1;
- }
- if (!list_channels && !chan_name && !chan_no && !interactive) {
- bad_usage(argv[0], 0);
- return -1;
- }
-
- if (!copt) {
- if (!(home = getenv("HOME"))) {
- fprintf(stderr, "error: $HOME not set\n");
- return TRUE;
- }
- snprintf(chanfile, sizeof(chanfile),
- "%s/.szap/%i/%s", home, adapter, CHANNEL_FILE);
- if (access(chanfile, R_OK))
- snprintf(chanfile, sizeof(chanfile),
- "%s/.szap/%s", home, CHANNEL_FILE);
- }
-
- printf("reading channels from file '%s'\n", chanfile);
-
- if (rec_psi)
- dvr=1;
-
- if (!read_channels(chanfile, list_channels, chan_no, chan_name,
- adapter, frontend, demux, dvr, rec_psi, bypass, human_readable))
- return TRUE;
-
- return FALSE;
+ }
+ if (list_channels && (chan_name || chan_no)) {
+ bad_usage(argv[0], 0);
+ return -1;
+ }
+ if (!list_channels && !chan_name && !chan_no && !interactive) {
+ bad_usage(argv[0], 0);
+ return -1;
+ }
+
+ if (!copt) {
+ if (!(home = getenv("HOME"))) {
+ fprintf(stderr, "error: $HOME not set\n");
+ return TRUE;
+ }
+ snprintf(chanfile,
+ sizeof(chanfile),
+ "%s/.szap/%i/%s",
+ home,
+ adapter,
+ CHANNEL_FILE);
+
+ if (access(chanfile, R_OK))
+ snprintf(chanfile,
+ sizeof(chanfile),
+ "%s/.szap/%s",
+ home,
+ CHANNEL_FILE);
+ }
+ printf("reading channels from file '%s'\n", chanfile);
+
+ if (rec_psi)
+ dvr=1;
+
+ if (!read_channels(chanfile,
+ list_channels,
+ chan_no,
+ chan_name,
+ adapter,
+ frontend,
+ demux,
+ dvr,
+ rec_psi,
+ bypass,
+ human_readable))
+ return TRUE;
+
+ return FALSE;
}
diff --git a/util/szap/tzap.c b/util/szap/tzap.c
index b24bc2c..5f84cb0 100644
--- a/util/szap/tzap.c
+++ b/util/szap/tzap.c
@@ -47,18 +47,18 @@ static int exit_after_tuning;
#define CHANNEL_FILE "channels.conf"
#define ERROR(x...) \
- do { \
- fprintf(stderr, "ERROR: "); \
- fprintf(stderr, x); \
- fprintf (stderr, "\n"); \
- } while (0)
+ do { \
+ fprintf(stderr, "ERROR: "); \
+ fprintf(stderr, x); \
+ fprintf (stderr, "\n"); \
+ } while (0)
#define PERROR(x...) \
- do { \
- fprintf(stderr, "ERROR: "); \
- fprintf(stderr, x); \
- fprintf (stderr, " (%s)\n", strerror(errno)); \
- } while (0)
+ do { \
+ fprintf(stderr, "ERROR: "); \
+ fprintf(stderr, x); \
+ fprintf (stderr, " (%s)\n", strerror(errno)); \
+ } while (0)
typedef struct {
@@ -125,9 +125,7 @@ static const Param transmissionmode_list [] = {
#define LIST_SIZE(x) sizeof(x)/sizeof(Param)
-
-static
-int parse_param (int fd, const Param * plist, int list_size, int *param)
+static int parse_param (int fd, const Param * plist, int list_size, int *param)
{
char c;
int character = 0;
@@ -157,8 +155,7 @@ int parse_param (int fd, const Param * plist, int list_size, int *param)
}
-static
-int parse_int(int fd, int *val)
+static int parse_int(int fd, int *val)
{
char number[11]; /* 2^32 needs 10 digits... */
int character = 0;
@@ -190,8 +187,7 @@ int parse_int(int fd, int *val)
}
-static
-int find_channel(int fd, const char *channel)
+static int find_channel(int fd, const char *channel)
{
int character = 0;
@@ -346,62 +342,53 @@ int parse(const char *fname, const char *channel,
if ((err = try_parse_int(fd, apid, "Audio PID")))
return -13;
-
+
if ((err = try_parse_int(fd, sid, "Service ID")))
return -14;
-
-
- close(fd);
+ close(fd);
return 0;
}
-static
-int setup_frontend (int fe_fd, struct dvb_frontend_parameters *frontend)
+static int setup_frontend (int fe_fd, struct dvb_frontend_parameters *frontend)
{
- struct dvb_frontend_info fe_info;
+ int ret;
+ uint32_t mstd;
- if (ioctl(fe_fd, FE_GET_INFO, &fe_info) < 0) {
- PERROR("ioctl FE_GET_INFO failed");
+ if (check_frontend(fe_fd, FE_OFDM, &mstd) < 0) {
+ close(fe_fd);
return -1;
}
-
- if (fe_info.type != FE_OFDM) {
- ERROR ("frontend device is not a OFDM (DVB-T) device");
+ ret = dvbfe_set_delsys(fe_fd, SYS_DVBT);
+ if (ret) {
+ PERROR("SET Delsys failed");
return -1;
}
-
- if (silent<2)
+ if (silent < 2)
fprintf (stderr,"tuning to %i Hz\n", frontend->frequency);
if (ioctl(fe_fd, FE_SET_FRONTEND, frontend) < 0) {
PERROR("ioctl FE_SET_FRONTEND failed");
return -1;
}
-
return 0;
}
-static void
-do_timeout(int x)
+static void do_timeout(int x)
{
(void)x;
- if (timeout_flag==0)
- {
- timeout_flag=1;
+ if (timeout_flag == 0) {
+ timeout_flag = 1;
alarm(2);
signal(SIGALRM, do_timeout);
- }
- else
- {
+ } else {
/* something has gone wrong ... exit */
exit(1);
}
}
-static void
-print_frontend_stats (int fe_fd, int human_readable)
+static void print_frontend_stats(int fe_fd, int human_readable)
{
fe_status_t status;
uint16_t snr, _signal;
@@ -428,7 +415,7 @@ print_frontend_stats (int fe_fd, int human_readable)
}
static
-int check_frontend (int fe_fd, int human_readable)
+int monitor_frontend (int fe_fd, int human_readable)
{
fe_status_t status;
do {
@@ -446,14 +433,13 @@ int check_frontend (int fe_fd, int human_readable)
}
#define BUFLEN (188*256)
-static
-void copy_to_file(int in_fd, int out_fd)
+static void copy_to_file(int in_fd, int out_fd)
{
char buf[BUFLEN];
int r;
long long int rc = 0LL;
- while(timeout_flag==0)
- {
+
+ while (timeout_flag==0) {
r=read(in_fd,buf,BUFLEN);
if (r < 0) {
if (errno == EOVERFLOW) {
@@ -469,36 +455,36 @@ void copy_to_file(int in_fd, int out_fd)
}
rc+=r;
}
- if (silent<2)
- {
+
+ if (silent<2) {
fprintf(stderr, "copied %lld bytes (%lld Kbytes/sec)\n",rc,rc/(1024*timeout));
}
}
static char *usage =
- "usage:\n"
- " tzap [options] <channel_name>\n"
- " zap to channel channel_name (case insensitive)\n"
- " -a number : use given adapter (default 0)\n"
- " -f number : use given frontend (default 0)\n"
- " -d number : use given demux (default 0)\n"
- " -c file : read channels list from 'file'\n"
- " -x : exit after tuning\n"
- " -r : set up /dev/dvb/adapterX/dvr0 for TS recording\n"
- " -p : add pat and pmt to TS recording (implies -r)\n"
- " -s : only print summary\n"
- " -S : run silently (no output)\n"
- " -H : human readable output\n"
- " -F : set up frontend only, don't touch demux\n"
- " -t number : timeout (seconds)\n"
- " -o file : output filename (use -o - for stdout)\n"
- " -h -? : display this help and exit\n";
+ "usage:\n"
+ " tzap [options] <channel_name>\n"
+ " zap to channel channel_name (case insensitive)\n"
+ " -a number : use given adapter (default 0)\n"
+ " -f number : use given frontend (default 0)\n"
+ " -d number : use given demux (default 0)\n"
+ " -c file : read channels list from 'file'\n"
+ " -x : exit after tuning\n"
+ " -r : set up /dev/dvb/adapterX/dvr0 for TS recording\n"
+ " -p : add pat and pmt to TS recording (implies -r)\n"
+ " -s : only print summary\n"
+ " -S : run silently (no output)\n"
+ " -H : human readable output\n"
+ " -F : set up frontend only, don't touch demux\n"
+ " -t number : timeout (seconds)\n"
+ " -o file : output filename (use -o - for stdout)\n"
+ " -h -? : display this help and exit\n";
int main(int argc, char **argv)
{
struct dvb_frontend_parameters frontend_param;
- char *homedir = getenv ("HOME");
+ char *homedir = getenv("HOME");
char *confname = NULL;
char *channel = NULL;
int adapter = 0, frontend = 0, demux = 0, dvr = 0;
@@ -569,38 +555,43 @@ int main(int argc, char **argv)
return -1;
}
- snprintf (FRONTEND_DEV, sizeof(FRONTEND_DEV),
- "/dev/dvb/adapter%i/frontend%i", adapter, frontend);
+ snprintf(FRONTEND_DEV,
+ sizeof(FRONTEND_DEV),
+ "/dev/dvb/adapter%i/frontend%i",
+ adapter,
+ frontend);
- snprintf (DEMUX_DEV, sizeof(DEMUX_DEV),
- "/dev/dvb/adapter%i/demux%i", adapter, demux);
+ snprintf(DEMUX_DEV,
+ sizeof(DEMUX_DEV),
+ "/dev/dvb/adapter%i/demux%i",
+ adapter,
+ demux);
- snprintf (DVR_DEV, sizeof(DVR_DEV),
- "/dev/dvb/adapter%i/dvr%i", adapter, demux);
+ snprintf(DVR_DEV,
+ sizeof(DVR_DEV),
+ "/dev/dvb/adapter%i/dvr%i",
+ adapter,
+ demux);
- if (silent<2)
+ if (silent < 2)
fprintf (stderr,"using '%s' and '%s'\n", FRONTEND_DEV, DEMUX_DEV);
- if (!confname)
- {
+ if (!confname) {
int len = strlen(homedir) + strlen(CHANNEL_FILE) + 18;
if (!homedir)
ERROR ("$HOME not set");
confname = malloc (len);
- snprintf (confname, len, "%s/.tzap/%i/%s",
- homedir, adapter, CHANNEL_FILE);
+ snprintf(confname, len, "%s/.tzap/%i/%s", homedir, adapter, CHANNEL_FILE);
if (access (confname, R_OK))
- snprintf (confname, len, "%s/.tzap/%s",
- homedir, CHANNEL_FILE);
+ snprintf(confname, len, "%s/.tzap/%s", homedir, CHANNEL_FILE);
}
printf("reading channels from file '%s'\n", confname);
-
memset(&frontend_param, 0, sizeof(struct dvb_frontend_parameters));
if (parse (confname, channel, &frontend_param, &vpid, &apid, &sid))
return -1;
- if ((frontend_fd = open(FRONTEND_DEV, O_RDWR)) < 0) {
+ if ((frontend_fd = open(FRONTEND_DEV, O_RDWR | O_NONBLOCK)) < 0) {
PERROR ("failed opening '%s'", FRONTEND_DEV);
return -1;
}
@@ -612,71 +603,62 @@ int main(int argc, char **argv)
goto just_the_frontend_dude;
if (rec_psi) {
- pmtpid = get_pmt_pid(DEMUX_DEV, sid);
- if (pmtpid <= 0) {
- fprintf(stderr,"couldn't find pmt-pid for sid %04x\n",sid);
- return -1;
- }
+ pmtpid = get_pmt_pid(DEMUX_DEV, sid);
+ if (pmtpid <= 0) {
+ fprintf(stderr,"couldn't find pmt-pid for sid %04x\n",sid);
+ return -1;
+ }
- if ((pat_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
- perror("opening pat demux failed");
- return -1;
- }
- if (set_pesfilter(pat_fd, 0, DMX_PES_OTHER, dvr) < 0)
- return -1;
+ if ((pat_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
+ perror("opening pat demux failed");
+ return -1;
+ }
+ if (set_pesfilter(pat_fd, 0, DMX_PES_OTHER, dvr) < 0)
+ return -1;
- if ((pmt_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
- perror("opening pmt demux failed");
- return -1;
- }
- if (set_pesfilter(pmt_fd, pmtpid, DMX_PES_OTHER, dvr) < 0)
- return -1;
+ if ((pmt_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
+ perror("opening pmt demux failed");
+ return -1;
+ }
+ if (set_pesfilter(pmt_fd, pmtpid, DMX_PES_OTHER, dvr) < 0)
+ return -1;
}
- if ((video_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
- PERROR("failed opening '%s'", DEMUX_DEV);
- return -1;
- }
+ if ((video_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
+ PERROR("failed opening '%s'", DEMUX_DEV);
+ return -1;
+ }
if (silent<2)
- fprintf (stderr,"video pid 0x%04x, audio pid 0x%04x\n", vpid, apid);
+ fprintf(stderr,"video pid 0x%04x, audio pid 0x%04x\n", vpid, apid);
- if (set_pesfilter (video_fd, vpid, DMX_PES_VIDEO, dvr) < 0)
+ if (set_pesfilter(video_fd, vpid, DMX_PES_VIDEO, dvr) < 0)
return -1;
if ((audio_fd = open(DEMUX_DEV, O_RDWR)) < 0) {
- PERROR("failed opening '%s'", DEMUX_DEV);
- return -1;
- }
+ PERROR("failed opening '%s'", DEMUX_DEV);
+ return -1;
+ }
- if (set_pesfilter (audio_fd, apid, DMX_PES_AUDIO, dvr) < 0)
+ if (set_pesfilter(audio_fd, apid, DMX_PES_AUDIO, dvr) < 0)
return -1;
signal(SIGALRM,do_timeout);
- if (timeout>0)
+ if (timeout > 0)
alarm(timeout);
-
- if (record)
- {
- if (filename!=NULL)
- {
- if (strcmp(filename,"-")!=0)
- {
- file_fd = open (filename,O_WRONLY|O_LARGEFILE|O_CREAT,0644);
- if (file_fd<0)
- {
+ if (record) {
+ if (filename!=NULL) {
+ if (strcmp(filename,"-")!=0) {
+ file_fd = open(filename,O_WRONLY|O_LARGEFILE|O_CREAT,0644);
+ if (file_fd<0) {
PERROR("open of '%s' failed",filename);
return -1;
}
- }
- else
- {
+ } else {
file_fd=1;
}
- }
- else
- {
+ } else {
PERROR("Record mode but no filename!");
return -1;
}
@@ -686,23 +668,21 @@ int main(int argc, char **argv)
return -1;
}
if (silent<2)
- print_frontend_stats (frontend_fd, human_readable);
+ print_frontend_stats(frontend_fd, human_readable);
copy_to_file(dvr_fd,file_fd);
if (silent<2)
- print_frontend_stats (frontend_fd, human_readable);
- }
- else {
+ print_frontend_stats(frontend_fd, human_readable);
+ } else {
just_the_frontend_dude:
- check_frontend (frontend_fd, human_readable);
+ monitor_frontend(frontend_fd, human_readable);
}
- close (pat_fd);
- close (pmt_fd);
- close (audio_fd);
- close (video_fd);
- close (frontend_fd);
-
+ close(pat_fd);
+ close(pmt_fd);
+ close(audio_fd);
+ close(video_fd);
+ close(frontend_fd);
return 0;
}
diff --git a/util/szap/util.c b/util/szap/util.c
index 301d666..60de8f8 100644
--- a/util/szap/util.c
+++ b/util/szap/util.c
@@ -23,6 +23,7 @@
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
+#include <stdint.h>
#include <sys/ioctl.h>
#include <sys/types.h>
@@ -35,92 +36,312 @@
int set_pesfilter(int dmxfd, int pid, int pes_type, int dvr)
{
- struct dmx_pes_filter_params pesfilter;
+ struct dmx_pes_filter_params pesfilter;
- /* ignore this pid to allow radio services */
- if (pid < 0 ||
- pid >= 0x1fff ||
- (pid == 0 && pes_type != DMX_PES_OTHER))
- return 0;
+ /* ignore this pid to allow radio services */
+ if (pid < 0 || pid >= 0x1fff || (pid == 0 && pes_type != DMX_PES_OTHER))
+ return 0;
+
+ if (dvr) {
+ int buffersize = 64 * 1024;
+ if (ioctl(dmxfd, DMX_SET_BUFFER_SIZE, buffersize) == -1)
+ perror("DMX_SET_BUFFER_SIZE failed");
+ }
- if (dvr) {
- int buffersize = 64 * 1024;
- if (ioctl(dmxfd, DMX_SET_BUFFER_SIZE, buffersize) == -1)
- perror("DMX_SET_BUFFER_SIZE failed");
- }
-
- pesfilter.pid = pid;
- pesfilter.input = DMX_IN_FRONTEND;
- pesfilter.output = dvr ? DMX_OUT_TS_TAP : DMX_OUT_DECODER;
- pesfilter.pes_type = pes_type;
- pesfilter.flags = DMX_IMMEDIATE_START;
-
- if (ioctl(dmxfd, DMX_SET_PES_FILTER, &pesfilter) == -1) {
- fprintf(stderr, "DMX_SET_PES_FILTER failed "
- "(PID = 0x%04x): %d %m\n", pid, errno);
- return -1;
- }
-
- return 0;
+ pesfilter.pid = pid;
+ pesfilter.input = DMX_IN_FRONTEND;
+ pesfilter.output = dvr ? DMX_OUT_TS_TAP : DMX_OUT_DECODER;
+ pesfilter.pes_type = pes_type;
+ pesfilter.flags = DMX_IMMEDIATE_START;
+
+ if (ioctl(dmxfd, DMX_SET_PES_FILTER, &pesfilter) == -1) {
+ fprintf(stderr, "DMX_SET_PES_FILTER failed "
+ "(PID = 0x%04x): %d %m\n", pid, errno);
+ return -1;
+ }
+ return 0;
}
int get_pmt_pid(char *dmxdev, int sid)
{
- int patfd, count;
- int pmt_pid = 0;
- int patread = 0;
- int section_length;
- unsigned char buft[4096];
- unsigned char *buf = buft;
- struct dmx_sct_filter_params f;
-
- memset(&f, 0, sizeof(f));
- f.pid = 0;
- f.filter.filter[0] = 0x00;
- f.filter.mask[0] = 0xff;
- f.timeout = 0;
- f.flags = DMX_IMMEDIATE_START | DMX_CHECK_CRC;
-
- if ((patfd = open(dmxdev, O_RDWR)) < 0) {
- perror("openening pat demux failed");
- return -1;
- }
-
- if (ioctl(patfd, DMX_SET_FILTER, &f) == -1) {
- perror("ioctl DMX_SET_FILTER failed");
+ int patfd, count;
+ int pmt_pid = 0;
+ int patread = 0;
+ int section_length;
+ unsigned char buft[4096];
+ unsigned char *buf = buft;
+ struct dmx_sct_filter_params f;
+
+ memset(&f, 0, sizeof(f));
+ f.pid = 0;
+ f.filter.filter[0] = 0x00;
+ f.filter.mask[0] = 0xff;
+ f.timeout = 0;
+ f.flags = DMX_IMMEDIATE_START | DMX_CHECK_CRC;
+
+ if ((patfd = open(dmxdev, O_RDWR)) < 0) {
+ perror("openening pat demux failed");
+ return -1;
+ }
+
+ if (ioctl(patfd, DMX_SET_FILTER, &f) == -1) {
+ perror("ioctl DMX_SET_FILTER failed");
+ close(patfd);
+ return -1;
+ }
+
+ while (!patread) {
+ if (((count = read(patfd, buf, sizeof(buft))) < 0) && errno == EOVERFLOW)
+ count = read(patfd, buf, sizeof(buft));
+
+ if (count < 0) {
+ perror("read_sections: read error");
+ close(patfd);
+ return -1;
+ }
+ section_length = ((buf[1] & 0x0f) << 8) | buf[2];
+ if (count != section_length + 3)
+ continue;
+
+ buf += 8;
+ section_length -= 8;
+
+ patread = 1; /* assumes one section contains the whole pat */
+ while (section_length > 0) {
+ int service_id = (buf[0] << 8) | buf[1];
+
+ if (service_id == sid) {
+ pmt_pid = ((buf[2] & 0x1f) << 8) | buf[3];
+ section_length = 0;
+ }
+ buf += 4;
+ section_length -= 4;
+ }
+ }
close(patfd);
- return -1;
- }
-
- while (!patread){
- if (((count = read(patfd, buf, sizeof(buft))) < 0) && errno == EOVERFLOW)
- count = read(patfd, buf, sizeof(buft));
- if (count < 0) {
- perror("read_sections: read error");
- close(patfd);
- return -1;
- }
-
- section_length = ((buf[1] & 0x0f) << 8) | buf[2];
- if (count != section_length + 3)
- continue;
-
- buf += 8;
- section_length -= 8;
-
- patread = 1; /* assumes one section contains the whole pat */
- while (section_length > 0) {
- int service_id = (buf[0] << 8) | buf[1];
- if (service_id == sid) {
- pmt_pid = ((buf[2] & 0x1f) << 8) | buf[3];
- section_length = 0;
- }
- buf += 4;
- section_length -= 4;
- }
- }
-
- close(patfd);
- return pmt_pid;
+ return pmt_pid;
+}
+
+char *type_str[] = {
+ "QPSK",
+ "QAM",
+ "OFDM",
+ "ATSC",
+};
+
+/* to be used with v3 drivers */
+int check_frontend_v3(int fd, enum fe_type type)
+{
+ struct dvb_frontend_info info;
+ int ret;
+
+ ret = ioctl(fd, FE_GET_INFO, &info);
+ if (ret < 0) {
+ perror("ioctl FE_GET_INFO failed");
+ close(fd);
+ ret = -1;
+ goto exit;
+ }
+ if (info.type != type) {
+ fprintf(stderr, "Not a valid %s device!\n", type_str[type]);
+ close(fd);
+ ret = -EINVAL;
+ goto exit;
+ }
+exit:
+ return ret;
+}
+
+char *del_str[] = {
+ "UNDEFINED",
+ "DVB-C (A)",
+ "DVB-C (B)",
+ "DVB-T",
+ "DSS",
+ "DVB-S",
+ "DVB-S2",
+ "DVB-H",
+ "ISDB-T",
+ "ISDB-S",
+ "ISDB-C",
+ "ATSC",
+ "ATSC-M/H",
+ "DTMB",
+ "CMMB",
+ "DAB",
+ "DVB-T2",
+ "TURBO",
+ "QAM (C)",
+};
+
+static int map_delivery_mode(fe_type_t *type, enum fe_delivery_system delsys)
+{
+ switch (delsys) {
+ case SYS_DSS:
+ case SYS_DVBS:
+ case SYS_DVBS2:
+ case SYS_TURBO:
+ *type = FE_QPSK;
+ break;
+ case SYS_DVBT:
+ case SYS_DVBT2:
+ case SYS_DVBH:
+ case SYS_ISDBT:
+ *type = FE_OFDM;
+ break;
+ case SYS_DVBC_ANNEX_A:
+ case SYS_DVBC_ANNEX_C:
+ *type = FE_QAM;
+ break;
+ case SYS_ATSC:
+ case SYS_DVBC_ANNEX_B:
+ *type = FE_ATSC;
+ break;
+ default:
+ fprintf(stderr, "Delivery system unsupported, please report to linux-media ML\n");
+ return -1;
+ }
+ return 0;
+}
+
+int get_property(int fd, uint32_t pcmd, uint32_t *len, uint8_t *data)
+{
+ struct dtv_property p, *b;
+ struct dtv_properties cmd;
+ int ret;
+
+ p.cmd = pcmd;
+ cmd.num = 1;
+ cmd.props = &p;
+ b = &p;
+
+ ret = ioctl(fd, FE_GET_PROPERTY, &cmd);
+ if (ret < 0) {
+ fprintf(stderr, "FE_SET_PROPERTY returned %d\n", ret);
+ return -1;
+ }
+ memcpy(len, &b->u.buffer.len, sizeof (uint32_t));
+ memcpy(data, b->u.buffer.data, *len);
+ return 0;
+}
+
+int set_property(int fd, uint32_t cmd, uint32_t data)
+{
+ struct dtv_property p, *b;
+ struct dtv_properties c;
+ int ret;
+
+ p.cmd = cmd;
+ c.num = 1;
+ c.props = &p;
+ b = &p;
+ b->u.data = data;
+ ret = ioctl(fd, FE_SET_PROPERTY, &c);
+ if (ret < 0) {
+ fprintf(stderr, "FE_SET_PROPERTY returned %d\n", ret);
+ return -1;
+ }
+ return 0;
+}
+
+int dvbfe_get_delsys(int fd, fe_delivery_system_t *delsys)
+{
+ uint32_t len;
+ /* Buggy API design */
+ return get_property(fd, DTV_DELIVERY_SYSTEM, &len, (uint8_t *)delsys);
+}
+
+int dvbfe_set_delsys(int fd, enum fe_delivery_system delsys)
+{
+ return set_property(fd, DTV_DELIVERY_SYSTEM, delsys);
+}
+
+int dvbfe_enum_delsys(int fd, uint32_t *len, uint8_t *data)
+{
+ return get_property(fd, DTV_ENUM_DELSYS, len, data);
+}
+
+int dvbfe_get_version(int fd, int *major, int *minor)
+{
+ struct dtv_property p, *b;
+ struct dtv_properties cmd;
+ int ret;
+
+ p.cmd = DTV_API_VERSION;
+ cmd.num = 1;
+ cmd.props = &p;
+ b = &p;
+
+ ret = ioctl(fd, FE_GET_PROPERTY, &cmd);
+ if (ret < 0) {
+ fprintf(stderr, "FE_GET_PROPERTY failed, ret=%d\n", ret);
+ return -1;
+ }
+ *major = (b->u.data >> 8) & 0xff;
+ *minor = b->u.data & 0xff;
+ return 0;
+}
+
+int check_frontend_multi(int fd, enum fe_type type, uint32_t *mstd)
+{
+ int ret;
+
+ enum fe_type delmode;
+ unsigned int i, valid_delsys = 0;
+ uint32_t len;
+ uint8_t data[32];
+
+ ret = dvbfe_enum_delsys(fd, &len, data);
+ if (ret) {
+ fprintf(stderr, "enum_delsys failed, ret=%d\n", ret);
+ ret = -EIO;
+ goto exit;
+ }
+ fprintf(stderr, "\t FE_CAN { ");
+ for (i = 0; i < len; i++) {
+ if (i < len - 1)
+ fprintf(stderr, "%s + ", del_str[data[i]]);
+ else
+ fprintf(stderr, "%s", del_str[data[i]]);
+ }
+ fprintf(stderr, " }\n");
+ /* check whether frontend can support our delivery */
+ for (i = 0; i < len; i++) {
+ map_delivery_mode(&delmode, data[i]);
+ if (type == delmode) {
+ valid_delsys = 1;
+ ret = 0;
+ break;
+ }
+ }
+ if (!valid_delsys) {
+ fprintf(stderr, "Not a valid %s device!\n", type_str[type]);
+ ret = -EINVAL;
+ goto exit;
+ }
+ *mstd = len; /* mstd has supported delsys count */
+exit:
+ return ret;
+}
+
+int check_frontend(int fd, enum fe_type type, uint32_t *mstd)
+{
+ int major, minor, ret;
+
+ ret = dvbfe_get_version(fd, &major, &minor);
+ if (ret)
+ goto exit;
+ fprintf(stderr, "Version: %d.%d ", major, minor);
+ if ((major == 5) && (minor > 8)) {
+ ret = check_frontend_multi(fd, type, mstd);
+ if (ret)
+ goto exit;
+ } else {
+ ret = check_frontend_v3(fd, type);
+ if (ret)
+ goto exit;
+ }
+exit:
+ return ret;
}
diff --git a/util/szap/util.h b/util/szap/util.h
index f4b7f12..b82fdc5 100644
--- a/util/szap/util.h
+++ b/util/szap/util.h
@@ -22,3 +22,7 @@
int set_pesfilter(int dmxfd, int pid, int pes_type, int dvr);
int get_pmt_pid(char *dmxdev, int sid);
+
+int check_frontend(int fd, enum fe_type type, uint32_t *mstd);
+
+int dvbfe_set_delsys(int fd, enum fe_delivery_system delsys);