[linux-dvb] Multiproto API/Driver Update
barry bouwsma
free_beer_for_all at yahoo.com
Tue Sep 9 14:02:13 CEST 2008
--- On Tue, 9/9/08, hermann pitton <hermann-pitton at arcor.de> wrote:
> following your thoughts, you are likely right. DVB-T2 likely indicates
> that you need new hardware, like it is for sure on DVB-S2.
Servus,
Disclaimer: I'm only an outsider, not a programmer, and not
familiar with the digital broadcast specs or the DVB API, so
I will both not know what I'm talking about, and be asking
stupid questions.
I decided to look again at DVB-T2, as it's likely to be the
next change that will be in need of Linux support in a year
or so, at least in the UK, when hardware becomes available.
My stupid question is, will DVB-T2, in Transport Stream mode,
be similar enough to existing DVB-T, apart from the extended
modulation parameters, that it can be fit into the existing
API, or am I overlooking something in my ignorance of the API?
This seems to me somewhat like the case of existing DVB-C,
where some hardware is incapable of 256QAM and so cannot tune
all the carriers, but I really haven't tried to understand
the API or how it can be extended without breaking things...
In looking at the Wikipedia article on DVB-T, it appears that
at least the following diffs to include/dvb/frontend.h might
be needed to support the additional possibilities that a DVB-T2
tuner would be likely to support -- diff against the S2API, as
this file is unchanged in multiproto, while S2API already has
the additional FEC values present...
goto Disclaimer;
--- /lost+found/CVSUP/SRC/HG-src/dvb-s2-api/linux/include/linux/dvb/frontend.h 2008-09-04 15:21:59.000000000 +0200
+++ /tmp/frontend.h 2008-09-09 13:10:29.574976974 +0200
@@ -171,24 +171,34 @@ typedef enum fe_modulation {
} fe_modulation_t;
typedef enum fe_transmit_mode {
+ TRANSMISSION_MODE_1K,
TRANSMISSION_MODE_2K,
+ TRANSMISSION_MODE_4K,
TRANSMISSION_MODE_8K,
+ TRANSMISSION_MODE_16K,
+ TRANSMISSION_MODE_32K,
TRANSMISSION_MODE_AUTO
} fe_transmit_mode_t;
typedef enum fe_bandwidth {
+ BANDWIDTH_10_MHZ,
BANDWIDTH_8_MHZ,
BANDWIDTH_7_MHZ,
BANDWIDTH_6_MHZ,
+ BANDWIDTH_5_MHZ,
+ BANDWIDTH_1.7_MHZ,
BANDWIDTH_AUTO
} fe_bandwidth_t;
typedef enum fe_guard_interval {
+ GUARD_INTERVAL_1_128,
GUARD_INTERVAL_1_32,
GUARD_INTERVAL_1_16,
GUARD_INTERVAL_1_8,
GUARD_INTERVAL_1_4,
+ GUARD_INTERVAL_19_256,
+ GUARD_INTERVAL_19_128,
GUARD_INTERVAL_AUTO
} fe_guard_interval_t;
@@ -324,6 +334,7 @@ typedef enum fe_delivery_system {
SYS_DVBC_ANNEX_AC,
SYS_DVBC_ANNEX_B,
SYS_DVBT,
+ SYS_DVBT2,
SYS_DVBS,
SYS_DVBS2,
SYS_DVBH,
@@ -335,6 +346,7 @@ typedef enum fe_delivery_system {
SYS_DMBTH,
SYS_CMMB,
SYS_DAB,
+ SYS_TDMB, /* XXX is different from DMB-TH, no? */
} fe_delivery_system_t;
struct tv_cmds_h {
The reason I became interested in this is due to the choice of
naming -- S2API sounded to me like the focus would be on DVB-S2,
possibly ignoring -T2 and eventually -C2, not to mention the
other existing alternatives to DVB, rather than a Second Generation
(as the specs I've looked at refer to the update) DVB-API, but
then, I really don't know what I'm talking about.
thanks,
barry bouwsma
More information about the linux-dvb
mailing list