From: Artem Makhutov <artem@makhutov.org>
To: Klaus Schmidinger <Klaus.Schmidinger@cadsoft.de>
Cc: linux-dvb@linuxtv.org
Subject: Re: [linux-dvb] [PATCH] Add missing S2 caps flag to S2API
Date: Mon, 24 Nov 2008 16:12:32 +0100 [thread overview]
Message-ID: <492AC460.1050203@makhutov.org> (raw)
In-Reply-To: <492A6E9B.7030906@cadsoft.de>
Hi,
Klaus Schmidinger schrieb:
> On 24.11.2008 08:12, Artem Makhutov wrote:
>> Hello,
>>
>> Klaus Schmidinger schrieb:
>>> The attached patch adds a capability flag that allows an application
>>> to determine whether a particular device can handle "second generation
>>> modulation" transponders. This is necessary in order for applications
>>> to be able to decide which device to use for a given channel in
>>> a multi device environment, where DVB-S and DVB-S2 devices are mixed.
>>>
>>> It is assumed that a device capable of handling "second generation
>>> modulation" can implicitly handle "first generation modulation".
>>> The flag is not named anything with DVBS2 in order to allow its
>>> use with future DVBT2 devices as well (should they ever come).
>>>
>>> Signed-off by: Klaus Schmidinger <Klaus.Schmidinger@cadsoft.de>
>> Wouldn't it be better to add something like this:
>>
>> FE_CAN_8PSK
>> FE_CAN_16APSK
>> FE_CAN_32APSK
>>
>> or
>>
>> FE_CAN_DVBS2
>>
>> Instead of FE_CAN_2ND_GEN_MODULATION ? It is too generic for me.
>
> Well, it's bad enough that we have to "guess" which kind of
> delivery system it is by looking at feinfo.type. If it's FE_QPSK
> then it's DVB-S (or DVB-S2), if it's FE_OFDM then it's DVB-T etc.,
> etc. The "multiproto" API had this cleaned up and introduced a
> clean way of finding out the delivery systems(!) a particular device
> can handle. Unfortunately, as we all know, this approach has been
> dismissed.
>
> Using some additional flags for "guessing" whether it's DVB-S2
> doesn't seem like a clean solution to me. Why not simply state
> the obvious? After all, the DVB standard for DVB-S2 speaks of
> "second generation modulation", that's why I named this flag
> that way. And since S2API can only handle a single delivery system
> at a time (as opposed to multiproto, where the delivery systems
> were flags, so a device could support several of them), it
> somehow made sense to me to have a flag that could later also
> be used for "second generation DVB-T" devices.
>
> But I don't want to start another political fight here. All I need
> is a way to determine whether or not a device supports DVB-S2.
> If the commonly agreed on way to do this is to guess it by
> looking at FE_CAN_xyPSK capability flags, so be it. However, so
> far none of the "experts" cared about answering my initial
> question "How to determine DVB-S2 capability in S2API?", so
> I guessed the only way to get something to work was doing something
> about it ;-)
I fully understand what you mean. I would also like to adress the
remarks of Berry:
http://www.linuxtv.org/pipermail/linux-dvb/2008-November/030539.html
So here is an other proposal for this:
typedef enum fe_type {
FE_QPSK,
FE_QAM,
FE_OFDM,
FE_ATSC,
FE_DVBS,
FE_DVBS2,
FE_DVBT,
FE_DVBT2,
[...]
} fe_type_t;
typedef enum fe_caps {
FE_IS_STUPID = 0,
FE_CAN_INVERSION_AUTO = 0x1,
FE_CAN_FEC_1_2 = 0x2,
FE_CAN_FEC_2_3 = 0x4,
FE_CAN_FEC_3_4 = 0x8,
FE_CAN_FEC_4_5 = 0x10,
FE_CAN_FEC_5_6 = 0x20,
FE_CAN_FEC_6_7 = 0x40,
FE_CAN_FEC_7_8 = 0x80,
FE_CAN_FEC_8_9 = 0x100,
FE_CAN_FEC_AUTO = 0x200,
FE_CAN_QPSK = 0x400,
FE_CAN_QAM_16 = 0x800,
FE_CAN_QAM_32 = 0x1000,
FE_CAN_QAM_64 = 0x2000,
FE_CAN_QAM_128 = 0x4000,
FE_CAN_QAM_256 = 0x8000,
FE_CAN_QAM_AUTO = 0x10000,
FE_CAN_TRANSMISSION_MODE_AUTO = 0x20000,
FE_CAN_BANDWIDTH_AUTO = 0x40000,
FE_CAN_GUARD_INTERVAL_AUTO = 0x80000,
FE_CAN_HIERARCHY_AUTO = 0x100000,
FE_CAN_8VSB = 0x200000,
FE_CAN_16VSB = 0x400000,
FE_HAS_EXTENDED_CAPS = 0x800000,
FE_NEEDS_BENDING = 0x20000000,
FE_CAN_RECOVER = 0x40000000,
FE_CAN_MUTE_TS = 0x80000000,
FE_CAN_8PSK = 0x100000000,
FE_CAN_16APSK = 0x200000000,
FE_CAN_32APSK = 0x400000000,
[...]
} fe_caps_t;
Here we can define the frontend type and check if it is DVB-S or DVB-S2
or whatever and also define the modulations that the frontend is capable
to handle (in case a device won't work with the "professional"
modulations like 16APSK).
Applications like VDR can check the fe_type flags, and applications that
require more info could check fe_caps.
I am not sure about this all, and I would like to see some comments from
some people that are more familiar it. Specially changing fe_type looks
like it will break the binary compatibility, so maybe it would be better
to define a new enum for this flags...
Regards, Artem
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
next prev parent reply other threads:[~2008-11-24 15:12 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-23 10:53 [linux-dvb] [PATCH] Add missing S2 caps flag to S2API Klaus Schmidinger
2008-11-23 11:47 ` [PATCH] Add Compro VideoMate E650F (DVB-T part only) Igor M. Liplianin
2008-11-24 7:12 ` [linux-dvb] [PATCH] Add missing S2 caps flag to S2API Artem Makhutov
2008-11-24 8:24 ` BOUWSMA Barry
2008-11-24 9:06 ` Klaus Schmidinger
2008-11-24 13:37 ` vdr
2008-11-24 15:12 ` Artem Makhutov [this message]
2008-12-22 13:39 ` Thomas Creutz
2008-11-26 21:56 ` Udo Richter
2008-11-27 7:13 ` Alex Betis
2008-11-27 12:35 ` Artem Makhutov
2008-11-27 14:08 ` VDR User
2008-11-27 15:21 ` Andy Walls
2008-11-27 17:19 ` VDR User
2008-11-27 19:20 ` CityK
2008-11-28 2:34 ` hermann pitton
2008-11-28 7:58 ` VDR User
2008-11-28 2:05 ` hermann pitton
2008-11-28 2:10 ` Andy Walls
2008-11-27 19:29 ` Igor M. Liplianin
2008-12-22 16:33 ` Udo Richter
2008-12-25 9:44 ` Helmut Auer
[not found] ` <1230219306.2336.25.camel@pc10.localdom.local>
2008-12-31 11:13 ` Mauro Carvalho Chehab
[not found] ` <495B5CE6.9010902@cadsoft.de>
2008-12-31 12:50 ` Mauro Carvalho Chehab
[not found] ` <495B6C25.9010307@cadsoft.de>
2008-12-31 17:28 ` Mauro Carvalho Chehab
2008-12-31 13:45 ` Gregoire Favre
2008-12-18 15:48 ` Steven Toth
-- strict thread matches above, loose matches on Subject: below --
2008-11-24 15:55 Niels Wagenaar
2008-11-24 15:59 ` VDR User
2008-11-24 16:25 ` Klaus Schmidinger
2008-11-24 19:33 ` Manu Abraham
2008-11-25 8:35 ` Klaus Schmidinger
2008-11-24 16:14 Niels Wagenaar
2008-11-24 16:26 ` Klaus Schmidinger
2008-11-24 16:50 ` VDR User
2008-11-25 8:46 Niels Wagenaar
2008-11-25 9:05 ` Klaus Schmidinger
2008-11-25 16:32 ` VDR User
2008-11-25 18:34 ` Morgan Tørvolt
2008-11-25 18:48 ` Alex Betis
2008-11-26 19:45 ` Seppo Ingalsuo
2008-11-26 20:10 ` Christophe Thommeret
2008-11-26 1:44 ` hermann pitton
2008-11-25 9:15 jean-paul
2008-11-25 10:31 ` Manu Abraham
2008-11-25 12:33 ` jean-paul
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=492AC460.1050203@makhutov.org \
--to=artem@makhutov.org \
--cc=Klaus.Schmidinger@cadsoft.de \
--cc=linux-dvb@linuxtv.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox