Mailing List archive

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

[linux-dvb] Re: SAA7146 Cropping



Hello,

btw: please fix your mailer or avoid Yahoo Mail completely.

On 07/07/04 19:41, Jeremy Jones wrote:
Do you want to compose a "screen" from multiple elements, like live
video, static graphics and text?

This is exactly what I want to do! The Nexus-s card has an OSD which can be used to draw graphics which overlay the video stream. Examples of this can be seen in the vdr plugin picture galerie (http://vdrportal.de/board/gallery/categories.php?cat_id=1). What I want to do is some how shrink the video to only take up 1/4th of the screen and use the OSD to draw garphics on the rest of the screen (no visual overlap of OSD and video).
This is not possible. The video picture and the OSD are composed together within the DVB av7110 processor on your card and are *afterwards* forwarded to the saa7146. So it's technically not possible to have a fullscreen OSD from the av7110 and have the video scaled from the saa7146. The OSD is part of the picture and will be downscaled, too -- not what you want probably.

In theory, it's possible to let the av7110 do the video scaling, but this would require you to add this feature to the firmware because it must be run on the av7110 itself.

I'm not sure exactly how but the Nexus-s already does compose a screen of video and OSD graphics and outputs through composite video on the card.
Right. You see the same picture on the composite video (there it doesn't go through the saa7146 at all) and on your PC. So it's not possible to have the effect you want by programming the saa7146, this has to be done in the av7110 itself.

Using a program like tvtime (which I believe attaches to /dev/video0) I can see the same output on my computer monitor as whats on my TV (it even shows the OSD graphics). Since all of this is done on the card I figured the mpeg scaling must somehow be done by the card (if possible).
Correct. But it's done in the av7110, so you're out of luck.

That's a general problem of the full-featured cards. Things need to be done on the av7110 side, not on the PC/saa7146 side. To make it short: the av7110 is a full set-top-box processor, put on a PCI extension card. You really want to programm the av7110, but that has nothing to do with your pc.

I admit that this is a big problem currently. Of course you can use DirectFB to compose a really nice OSD and compose it together with the Video4Linux data from the card. But because of the crappy Linux support from the gfx card vendors, you don't get it on your television because the composite or s-video outputs are not supported. (Most of the time the timings are wrong or you get ugly tearing artifacts because the refresh rates don't match)

The full-featured cards are currently still good enough for everything you need: tv connectivity, ac3 loopthrough, osd -- perfect for vdr.

But in the long term, the migration to budget cards is inevitable, for example because DVB-T full-featured cards are not built anymore. But currently the Linux world lacks support for proper tv connectivity.

So unless you don't have support for composite video, dvi, s/p-dif and other things on your PC, then you're stuck with full-featured cards.

There are projects that try to overcome this ("softdevice" plugin for VDR, or "libsoftmpeg" with the "softmpeg" plugin for vdr") that allow you to use budget cards with software mpeg-deocding together with X11 or DirectFB. But they're currently not as comfortable as the full-featured cards, because tv-connectivity is missing for almost all gfx adapters.

CU
Michael.




Home | Main Index | Thread Index