Re: [linux-dvb] RE : linux-dvb and Dektec [was: DVB API update]

2007-10-04 Thread Andrea Venturi
hi,

ehi, what a thorough explanation..

maybe things are not all this black and white..

i wrote my first answer a bit quickly but now i'd like to give two more 
bits for added value!

Thierry Lelegard wrote:



 Also, as you pointed out, Dektec products can be either input, output
 or both. Their output products also include very nice modulators on
 PCI boards. I presently use a DTA-110T, a DVB-T modulator.
 Since linux-dvb is an input-only framework, it would address only
 part of Dektec products (and even part of a device in the case of
 a DTA-140).

indeed, the fact of the linux-dvb driver to be actually an input only 
framework for MPEG (TS/PS) stream it's beginning to fall a little short.

IMHO there are already a number of stuff and environment, old and newer, 
that need to be addressed, on linux, with an outgoing path for native 
MPEG streams.

historically there were two devices with such a capability:

- the Fully Fledged (nexus) cards with their MPEG2 decoder on board
- the ancient REALmagic Hollywood Plus

- actually there is also the MPEG2 decoder inside the iTVC15 / CX23415 
chip in the PVR350 card.. (ivtv driver not coping with it, i think..)

then, there's the big mess of video decoding of MPEG2 PES stream (SD/HD) 
and some acceleration for H264 stream inside the core of the recent GPUs 
(avivo and purehd marketing vaporware.. something from via and intel too..)

are we going to leave this feature available as a sub-set of the X 
driver or there's a place for a MPEG driver without the X?

i think for example to use-cases like the media center like myth-tv 
running with DirecFB..


in a bit different scenario, the embedded one, there are also devices 
natively decoding MPEG2 TS streams like:

- the PowerPc SoC inside some DVB SET TOP BOX as Dreambox and the 
DGStation CubeCafe (Vulcan and Pallas)
they do have actually a linux kernel running on the powerpc core but the 
decoding API are a bit home made and binary too (maybe thing are 
changing..)

BTW we are a bit involved in a design of an open source java based 
middleware running on such HW so we are really using it and would prefer 
linux-dvb drivers for MPEG decoding..

- i really don't know how are coping with DVB decoding inside the other 
big player of the linux-based STB market, the Sigma Designs EM863x.

- and then there is the third player, STM ST710x who's running linux too 
with some DVB hack for decoding purposes..



IMHO plenty of situations where a linux dvb API for decoding stuff 
should/could be useful for the masses, because this generation of STBs 
are flooding our houses today or tomorrow, so we need and should have a 
way to hack them..

[..skipping lot of things about userland against kernel stuff..]

 
 Anyway, coming back to linux-dvb and Dektec, kernel drivers exist
 for both, just write userland code to access the one you want.

then i'd like to add some bits about the professional market using DVB 
ASI interfaces.

as someone already have told, there are plenty of DVB card producers; i 
can say out of my mind these: dektec, videopropulsion, optibase, 
dveo/computermodules, alitronika, bluetop (and other too..)

all these cards are of course running on linux today, but each with is 
own driver API..

i think only dektec is the one with open source driver openly available 
on the site and i know that some chinese are providing drivers with 
wrapper to mimic the dektec API.

that's how i see this market.

I don't know IF there's interest for the linux community at large to 
promote a unified driver for this technology..

in theory, the professional customers of such cards should be interested 
to get a single unified compatibility layer to escape the vendor lock 
in, BUT, if they are fine as they stay today, why the linux community 
should give them an hand?

i don't think we would get back something useful in the short term, but 
i'm open to hear other opinions too..

bye

andrea venturi




 
 -Thierry 
 
 
 -Message d'origine-
 De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de Andrea Venturi
 Envoyé : mercredi 3 octobre 2007 15:10
 À : linux-dvb
 Objet : Re: [linux-dvb] DVB API update
 
 
 Manu Abraham wrote:
 Hi,

 Simon Hailstone wrote:
 Hi All,

 If it sheds any light on the nature of DVB-ASI, there are Linux drivers
 available ( with source ) for the DekTec ASI adapters here :

 http://www.dektec.com/Products/LinuxSDK/Downloads/LinuxSDK.zip

 If someone has the hardware, we can take a go at it.
 
 hi,
 
 here in Cineca, we are running an open source project called JustDvb-It,
 it's a DVB DSMCC carousel server for interactive television, you could
 grab it here:
 
http://www.cineca.tv/labs/mhplab/JustDVb-It%202.0.html
 
 as we need to interface broadcaster stuff like multiplexer (with DVB ASI
 interfaces), we use plenty of these Dektec card like DTA140 and so on..
 
 but for that purpose we found sufficient the driver provided by Dektec.
 
 it's a simple character device with some 

Re: [linux-dvb] RE : linux-dvb and Dektec [was: DVB API update]

2007-10-04 Thread Felix Domke
Andrea Venturi wrote:
 - the PowerPc SoC inside some DVB SET TOP BOX as Dreambox and the 
 DGStation CubeCafe (Vulcan and Pallas)
 they do have actually a linux kernel running on the powerpc core but the 
 decoding API are a bit home made and binary too (maybe thing are 
 changing..)

The PowerPC-based Dreamboxes still use the old DVB-API (its initial 
drivers predate the change to the new API, and never followed it), 
whereas the newer Dreamboxes (DM7025 and the hopefully upcoming DM8000) 
are using the current API. (There was also an effort to build new 
Pallas/Vulcan APIv3 drivers as GPL, but this had to be pulled for legal 
reasons. Those drivers were never complete, though.)

All are using binary-only driver modules for different reasons, but all 
conform to the available userspace API as much as possible. Sometimes a 
few additions were required (see also my discussion about 
VIDEO_GET_{PTS,STC} etc.), but they use (for example) the 
/dev/dvb/adapter0/video0-API.

Another implementation is the dbox2, which uses open-source drivers. And 
don't forget the old full-featured cards.

However sometimes the API is not completely clear (like the order: Do 
you first have to do a VIDEO_PLAY, then start the demux? Things like 
that are sometimes even hardware-dependent and are likely to differ from 
implementation to implementation. Sometimes you need to be tricky for 
proper syncing, and trickmodes are a completely gray area...) But for 
just playing video, the API should be ok. Don't forget that all hardware 
MPEG decoders are beasts, and likely to be tricky in operation. The API 
should hide the ugly details, but that's not always possible.

Felix

___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


Re: [linux-dvb] RE : linux-dvb and Dektec [was: DVB API update]

2007-10-04 Thread Manu Abraham
Felix Domke wrote:
 Andrea Venturi wrote:
 - the PowerPc SoC inside some DVB SET TOP BOX as Dreambox and the 
 DGStation CubeCafe (Vulcan and Pallas)
 they do have actually a linux kernel running on the powerpc core but the 
 decoding API are a bit home made and binary too (maybe thing are 
 changing..)
 
 The PowerPC-based Dreamboxes still use the old DVB-API (its initial 
 drivers predate the change to the new API, and never followed it), 
 whereas the newer Dreamboxes (DM7025 and the hopefully upcoming DM8000) 
 are using the current API. (There was also an effort to build new 
 Pallas/Vulcan APIv3 drivers as GPL, but this had to be pulled for legal 
 reasons. Those drivers were never complete, though.)

A while back i had asked Amino communications for the driver/kernel sources, 
when their STB wasn't able to do MPTS properly. The reply i got was pay up 
$50,000
and you get the sources.

Manu


___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb


[linux-dvb] RE : linux-dvb and Dektec [was: DVB API update]

2007-10-03 Thread Thierry Lelegard
IMHO, the Linux DVB framework serves two main purposes:
- Common API for the zillions of DVB-S/C/T adapters
- Common frontend for TV watching programs such as Myth et al.

Dektec products address the market of professional  test
lab applications using ASI input/output, QPSK/QAM/OFDM modulators
output.

They address separate needs, separate usage.

I have been using both linux-dvb and Dektec products for years and
found no real use in integrating both.

Also, as you pointed out, Dektec products can be either input, output
or both. Their output products also include very nice modulators on
PCI boards. I presently use a DTA-110T, a DVB-T modulator.
Since linux-dvb is an input-only framework, it would address only
part of Dektec products (and even part of a device in the case of
a DTA-140).

I develop and use test lab applications for my own usage. I need to
receive and send transport streams. I have my own TS processing
framework in userland, with input and output plugins (such a
trendy term ;-). I have separate input plugins for linux-dvb and
Dektec. I have a Dektec output plugin, but none for linux-dvb of course.

This is of course a specific professional usage, not a home TV-watching
program. Who's going to watch TV at home from an ASI feed ?

I think that remaining in userland is better approach for that.
At the beginning, before I really understood I went the wrong way,
I developed a loopback linux-dvb frontend. It was a kernel driver
which integrated with linux-dvb and that was fed by userland applications.
The TS coming from these userland applications was presented as coming
from a linux-dvb device. Since there is no generic frontend class,
my driver pretended to be a QPSK frontend and silently ignored
tuning requests.

So, a userland application could read a TS from anywhere (a Dektec
device, a file, IP multicast, whatever) and feed the dvb loopback driver.
Then, any linux-dvb application was able to play with this TS.

But, apart from the useless pride of being a kernel code developer,
this was totally useless and I gave up this driver. There are simpler
userland alternatives for that.

Going further, I think (no flame please ;-) that having the full
linux-dvb in kernel space has become a conceptual mistake nowadays.
The amount of kernel code should remain as small as possible and
limited to hardware device access. A software demux has nothing to
do in kernel space. IMHO, there should be a userland API that does
this. The kernel drivers should report the capabilities of the
hardware devices, such as demux. If the device has demux capabilities,
the userland code sends the PID filter to the device. Otherwise, the
complete TS is passed in userland and demux is done in the API.

Demuxing is just one example, all non-hardware related features
of linux-dvb should be moved out of the kernel.

This is a common disease of open-source developers who are sometimes
too much ego-driven: they want to be part of the small kernel
coders community and add features in the kernel for fun. It is
a well-known debate about the Linux kernel being to bloated.

Anyway, coming back to linux-dvb and Dektec, kernel drivers exist
for both, just write userland code to access the one you want.

-Thierry 


-Message d'origine-
De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de Andrea Venturi
Envoyé : mercredi 3 octobre 2007 15:10
À : linux-dvb
Objet : Re: [linux-dvb] DVB API update


Manu Abraham wrote:
 Hi,
 
 Simon Hailstone wrote:
 Hi All,

 If it sheds any light on the nature of DVB-ASI, there are Linux drivers
 available ( with source ) for the DekTec ASI adapters here :

 http://www.dektec.com/Products/LinuxSDK/Downloads/LinuxSDK.zip

 
 If someone has the hardware, we can take a go at it.

hi,

here in Cineca, we are running an open source project called JustDvb-It,
it's a DVB DSMCC carousel server for interactive television, you could
grab it here:

   http://www.cineca.tv/labs/mhplab/JustDVb-It%202.0.html

as we need to interface broadcaster stuff like multiplexer (with DVB ASI
interfaces), we use plenty of these Dektec card like DTA140 and so on..

but for that purpose we found sufficient the driver provided by Dektec.

it's a simple character device with some IOCTL..

it should be not a tough task to implement a simple LinuxDvb driver, at
least for the inbound card (but there's an outgoing path too..),

but is this feature valuable? the best usage i can think of, is the
dvbsnoop utility for analysis purposes..

anyway i surely can test this driver, if it will spring out!

bye

andrea venturi



 
 Regards,
 Manu
 
 Best Regards,
 Simon Hailstone

 On 16/09/2007, *Wolfgang Wegner*  [EMAIL PROTECTED]
 mailto:[EMAIL PROTECTED] wrote:

 Hi Manu,

 On Sun, Sep 16, 2007 at 02:17:55AM +0400, Manu Abraham wrote:
  Please don't remove the CC's. The CC'd people generally don't bother
  about mails from the ML, probably.

 sorry, it was definitely not my intention and I hope to include
 

Re: [linux-dvb] RE : linux-dvb and Dektec [was: DVB API update]

2007-10-03 Thread Wolfgang Wegner
Hi,

On Wed, Oct 03, 2007 at 04:42:20PM +0200, Thierry Lelegard wrote:
 IMHO, the Linux DVB framework serves two main purposes:
 - Common API for the zillions of DVB-S/C/T adapters
 - Common frontend for TV watching programs such as Myth et al.
 
 Dektec products address the market of professional  test
 lab applications using ASI input/output, QPSK/QAM/OFDM modulators
 output.
 
 They address separate needs, separate usage.

it depends.

I think there is at least one usage case where one might want to
have the DekTec card integrated into the linux-dvb driver framework,
which already has been mentioned: us the existing linux-dvb applications
with it!
Especially dvbsnoop is a very helpful tool for some cases.

I definitely want to start another war about which functionality should
be in the kernel and which not, but IMHO the usage is not as separate as you
claim.

Best regards,
Wolfgang


___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb