Which Userland Interface for USB Video Class Driver?

Intron is my alias on the Internet intron at intron.ac
Fri Sep 26 03:51:53 UTC 2008

Tom Evans wrote:

> On Thu, 2008-09-25 at 11:57 +0800, Intron is my alias on the Internet
> wrote:
> <snip>
>> As a driver writer, the AV encoding standard concerns me. For,
>> the driver must be able to decode compressed frame into plain bitmap
>> if the chip cannot decode frame on its own. Of course, the Chinese
>> standard is so cheap that many hardware vendors are willing to integrate
>> decoder into chips, I believe.
> I'm not sure this is necessarily true anymore. From a European view
> point, the vast majority of DVB-{S,T,C} cards on the market are 'budget'
> cards; they simply demodulate an MPEG-2 Program Stream from the signal.
> Certainly, under linux, neither of my DVB-T tuners (pci saa based, usb
> dibcom), nor my DVB-S card (also pci saa based) can decode a single
> frame of actual video data.
> Even when the actual video is not MPEG-2, like HD streams encoded in
> MPEG-4 AVC, it is contained in an MPEG-2 PS. All the drivers do is to
> setup and tune the device to the appropriate channel, and provide a
> device to read the PS from. It is up to whatever userland program which
> is using the device to decode the data, if that is even required. I
> certainly wouldn't like a driver to decode high bitrate MPEG-4 AVC if
> all I am trying to do is record a show to disk.
> As far as I can tell, ATSC tuners do precisely the same thing.
> Cheers
> Tom

The European standard DVB adopts a very popular format MPEG-2. If you
only want to record a program, you need only to copy what your program
receives from video capture card into an AVI, MPG or other package.

But if you want to monitor the video content while recording, or record
video content into patent-free OGG package (theora+vorbis), you need
to decode all MPEG-2/4 frames (probably HDTV 1920x1080p at 30Hz).

As a home computer user, this is not a problem. You may spend some money
to get a powerful computer configuration. And Intel, NVIDIA and VIA have
integrated MPEG-2 decoder into their GPU, used by libXvMC or newer API
(VAAPI). But to a system integrator, it's a big problem of cost.
What's more, no matter whether general CPU or specific DSP is used to
decode HDTV content, it's hard to avoid a noisy and clumsy fan.

                                                From Beijing, China

More information about the freebsd-multimedia mailing list