Mailing List archive

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

[vdr] Re: About the OSD color table



Sascha Volkenandt wrote:
> 
> Am Sonntag, 11. Januar 2004 18:14 schrieb Philippe:
> > So I wrote another piece of code wich shows the OSD quite well. I had to
> > split my big palette of 256 colors into MAXNUMWINDOWS small palettes.
> 
> That's how VDR does it, too.
> 
> > Here are my little questions :
> >
> > Does VDR use distincts palettes for the different windows ?
> 
> Yes. Look at the VDR code for this (osdbase.h especially). Each Window is a
> Bitmap, and each Bitmap is a Palette (speaking in terms of C++ objects). So
> each Window has its own palette indeed :)
> 
> > MAXNUMWINDOWS*MAXNUMCOLORS = 7*16 = 112 colors max in the vanilla VDR
> 
> With MAXNUMCOLORS=256 (as required by the Picture-In-Picture PlugIn), the
> amount would be bigger, but usually it's just a matter of RAM available for
> the OSD. So, you could (in this case) have 7*256 = 1792 different colors at
> once, but ONLY if the windows are small enough. (Am I right here?

I'm afraid you're not. The DVB card's OSD has _one_ CLUT (Color LookUp Table)
with 256 entries. You can have several windows with 1, 2 or 4 bit color depth
with separate palettes, but as soon as there is a window with 8bpp, all 256
color entries will be used by that window.

> Correct me
> if I'm wrong someone. Could be that the DVB card can only have 256 colors at
> all, but that would be device-specific).

In order to make the OSD handling more device independent I'm thinking about
having _one_ (virtual) OSD window with fullscreen, full 256 color resolution.
Plugins would then no longer have to deal with separate windows, but could rather
act as if there was a full 256 color OSD. This would be a step into the direction
where output devices other than the DVB cards are used, which typically have
that capability (not talking about the DXR3 cards here, which are AFAIK even
more limited than the DVB cards).

In order to still be able to display such an OSD on a FF-DVB card, the plugin
would have to divide the total area into sections with different color depth.
Now this may sound like it's just the same as now, but the fine difference
would be that a device that _can_ display a full screen 256 color OSD wouldn't
have to worry about different "windows" any more. 

Klaus


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



Home | Main Index | Thread Index