Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: Again a question about V4L and budget cards.



Gerd Knorr wrote:
Vincenzo Di Massa <hawk78_it@yahoo.it> writes:


Il lun, 2003-12-01 alle 22:09, Gerd Knorr ha scritto:

Vincenzo Di Massa <hawk78_it@yahoo.it> writes:


I suppose there is really big value adding v4l support for budget cards.
Why?
1) There are tons of good apps that require you to have the /dev/video.
thing.

Bad luck ...


2) Why should every software care about the type of hardware you are
using?

To get the best out of it?


3) The ability to have better and most stable sw: if every software uses
its own copy/linkage to ffmpeg, ts2ps... many work is spent fixing
things twice or more.

There are other ways to fix that (don't copy, use shared libraries ...).

4) The use of pipes and other beautifull methods (like playing a file
while you are recording it) is great to test, study etc. But when you
are ALWAYS using tricks it means there is something missing in the sw
you are using.

Yup.  Guess you are just unhappy about the tv apps available for
budget cards?


I'm trying to expose my point of view, if what I say makes no sense...
tell me!

(1) It doesn't make much sense performance-wise, when passing stuff
    using a v4l(2)-like interface to the apps you have to copy the
    data way to often.
not in a mmap()-alike interface. The mmap()'d buffers can get used as shared memory between decoder and application.

I could imagine a microkernel-alike architecture, this would mean a tiny MPEG-audio/video decoder fake device which just passes ioctls and file operations to a userspace decoder daemon which decodes the stream into shared buffers.

But anyway, I'm not sure whether it's better to do it this way and provide this common API at the kernel/userspace boundary or whether one should better write and promote an DVB-hardware abstraction library which does all this in userspace.

The drawback of a userspace library is that resource management and sharing between applications is much harder to implement, efficient high-bandwidth inter-process communication is even trickier to implement than in kernel space. The advantage is that you don't need to install and run additional daemons.

And in the case of only one DVB application per device it's easier to implement the userspace library.


(2) You lose functionality, being able to just save away the MPEG
    stream for example.
you can still do so, just the same way like for av711x based cards.

(3) Yoo lose important informations, the timestamps for example (which
    are really important to get a/v sync right).
not really, you can still use the DVB-MPEG2-decoder API to read out the current timestamps from the decoder.

Holger



--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index