From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: Antti Palosaari <crope@iki.fi>
Cc: Patrick Boettcher <pboettcher@kernellabs.com>,
Manu Abraham <abraham.manu@gmail.com>,
Andreas Oberritter <obi@linuxtv.org>,
Linux Media Mailing List <linux-media@vger.kernel.org>,
Steven Toth <stoth@kernellabs.com>
Subject: Re: FE_CAN-bits
Date: Fri, 11 Nov 2011 10:44:02 -0200 [thread overview]
Message-ID: <4EBD1892.8020603@redhat.com> (raw)
In-Reply-To: <4EBD08D0.6030701@iki.fi>
Em 11-11-2011 09:36, Antti Palosaari escreveu:
> On 11/11/2011 11:55 AM, Patrick Boettcher wrote:
>> On Thursday, November 10, 2011 10:20:46 PM Mauro Carvalho Chehab wrote:
>>>
>>> We should also think on a way to enumerate the supported values for each
>>> DVB properties, the enum fe_caps is not enough anymore to store
>>> everything. It currently has 30 bits filled (of a total of 32 bits), and
>>> we currently have:
>>> 12 code rates (including AUTO/NONE);
>>> 13 modulation types;
>>> 7 transmission modes;
>>> 7 bandwidths;
>>> 8 guard intervals (including AUTO);
>>> 5 hierarchy names;
>>> 4 rolloff's (probably, we'll need to add 2 more, to distinguish between
>>> DVB-C Annex A and Annex C).
>>>
>>> So, if we would need to add one CAN_foo for each of the above, we would
>>> need 56 to 58 bits, plus 5-6 bits to the other capabilities that
>>> currently exists there. So, even 64 bits won't be enough for the current
>>> needs (even having the delivery system caps addressed by something
>>> else).
>>
>> IMHO, we don't need such a fine FE_CAN_-bit distinguishing for most
>> standards. A well defined sub-standard definition is sufficient, which can be
>> handled with a delivery-system-like query as proposed in the original patch.
>> This also will be much simpler for most user-space applications and users.
>
> I agree that. Those are totally useless in general. Let driver return error to userspace if it cannot handle.
>
>> DVB-T means:
>> - 8K or 2K,
>> - 1/4-1/32 Guard,
>> - 1/2, 2/3, 3/4, 5/6 and 7/8 coderate,
>> - QPSK, 64QAM or 16QAM
>>
>> DVB-H (RIP as Remi wrote somewhere) would have meant:
>> - DVB-T + 4K + in-depth-interleaver mode
>>
>> The same applies to ISDB-T and ISDB-T 1seg. And for CMMB, CTTB, DVB-SH.
>>
>> If there are demods which can't do one particular thing, we should forget
>> about them. At least this is what almost all applications I have seen so far
>> are doing implicitly.
>
> I know only one case where device cannot support all standard parameters. It is one TDA10023 device and looks like stream goes too wide when QAM256 is used.
>
>> Though, I see at least one inconvenience is if someone is using linux-dvb
>> for developping dsp-software and wants to deliver things which aren't done.
>> But is this a case we want to "support" within the official API.
>
If you take a look at DVB-C, for example, The reference used by the DVB subsystem
seems to be the ITU-T J.83, as the delivery systems are named according to
ITU-T J.83 annexes:
Annex A - European DVB-C (also defined on EN 300 429)
Annex B - American DOCSYS
Annex C - Japanese variant of Annex A, optimized for 6 MHz Bw
According with ITU-T J.83/1997 (from where Annex A, B and C are referenced), we have:
Annex A:
- modulation: QAM 16, 32 and 64
Mentions that QAM 128 and 256 could be used in future
- rolloff: 0.15
Annex B:
- Modulation: QAM 64, 256
Annex C:
- Modulation: QAM 64
- rolloff: 0.13
ITU-T Annex A is also defined at ETSI as EN 300 429/1998. There, we have:
- modulation: QAM 16, 32, 64, 128 and 256
- rolloff: 0.15
As the same delivery system is used for both Annex A and Annex C, the "minimum"
requirement for SYS_DVBC_ANNEX_AC is to support QAM64 (as it can be a device that
implements only Annex C).
So, just assuming some default from the delivery system is dangerous. Also, as
specs may change with time (as J.83 -> EN 300 429 addition for QAM 128 and 256),
this may lead into troubles in the future.
Btw, DVB-C2, as defined on ITU-T J.122 is even more complex, offering a myriad of
mandatory and optional formats, as shown at item 6.2.3:
The upstream demodulator MAY support QPSK and 16QAM differential modulation for TDMA.
The upstream demodulator MUST support QPSK, 16QAM, and 64QAM modulations for TDMA and S-CDMA channels.
The upstream demodulator MAY support 8QAM and 32QAM modulation for TDMA and S-CDMA channels.
The upstream demodulator MAY support QPSK, 8QAM, 16QAM, 32QAM, 64QAM, and 128QAM TCM encoded modulations for S-CDMA channels.
What I think we can do is to provide macros for the capabilities, like:
#define FE_CAN_DVBT FE_CAN_1_2 | FE_CAN_3_4 | ...
With regards to the idea of returning an error, this may not work on all cases.
For example, my 1seg stick is capable of retrieving channel info from 3-seg and full-seg
streams, even not being able of actually watching those. Ideally, userspace should
be capable of disabling the 3seg/full-seg channels if they aren't actually supported
by the plugged device.
Regards,
Mauro
next prev parent reply other threads:[~2011-11-11 12:44 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-10 14:18 PATCH: Query DVB frontend capabilities Manu Abraham
2011-11-10 14:44 ` Andreas Oberritter
2011-11-10 15:30 ` Manu Abraham
2011-11-10 21:20 ` Mauro Carvalho Chehab
2011-11-11 6:26 ` Manu Abraham
2011-11-11 10:12 ` Mauro Carvalho Chehab
2011-11-11 22:07 ` Manu Abraham
2011-11-11 22:38 ` Mauro Carvalho Chehab
2011-11-12 3:36 ` Andreas Oberritter
2011-11-13 11:39 ` Mauro Carvalho Chehab
2011-11-11 14:30 ` Andreas Oberritter
2011-11-11 14:43 ` Mauro Carvalho Chehab
2011-11-11 15:06 ` Andreas Oberritter
2011-11-11 17:14 ` Mauro Carvalho Chehab
2011-11-11 20:09 ` Andreas Oberritter
2011-11-11 22:02 ` Mauro Carvalho Chehab
2011-11-12 4:02 ` Andreas Oberritter
2011-11-11 22:12 ` Manu Abraham
2011-11-11 9:55 ` FE_CAN-bits (was: Re: PATCH: Query DVB frontend capabilities) Patrick Boettcher
2011-11-11 10:21 ` FE_CAN-bits Mauro Carvalho Chehab
2011-11-11 11:36 ` FE_CAN-bits Antti Palosaari
2011-11-11 12:44 ` Mauro Carvalho Chehab [this message]
2011-11-11 17:43 ` PATCH: Query DVB frontend capabilities BOUWSMA Barry
2011-11-11 18:37 ` Mauro Carvalho Chehab
2011-11-11 22:34 ` Manu Abraham
2011-11-13 13:32 ` Mauro Carvalho Chehab
2011-11-13 15:27 ` Manu Abraham
2011-11-14 11:47 ` Mauro Carvalho Chehab
2011-11-14 15:02 ` Manu Abraham
2011-11-14 16:39 ` Mauro Carvalho Chehab
2011-11-14 17:09 ` Manu Abraham
2011-11-14 18:08 ` Mauro Carvalho Chehab
2011-11-14 18:30 ` Manu Abraham
2011-11-14 18:42 ` Mauro Carvalho Chehab
2011-11-14 18:59 ` Manu Abraham
2011-11-14 20:31 ` Mauro Carvalho Chehab
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=4EBD1892.8020603@redhat.com \
--to=mchehab@redhat.com \
--cc=abraham.manu@gmail.com \
--cc=crope@iki.fi \
--cc=linux-media@vger.kernel.org \
--cc=obi@linuxtv.org \
--cc=pboettcher@kernellabs.com \
--cc=stoth@kernellabs.com \
/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.