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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.