[mythtv] [PATCH]/hack epia colour osd

Ivor Hewitt ivor at ivor.org
Fri Oct 1 21:28:41 EDT 2004


Hi,

The following is still a little bit hackish (ahem) :-)

But this is a patch to the OSD code for the EPIA users and I thought a few 
people might fancy playing with it as it stands. With this patch I get a 
colour OSD and no pre-buffer pauses with OSD display and fadeouts on my 
EPIA-M9000.

It's 60k because of the themes so it's up on my server at the moment:-
http://www.ivor.it/mythtv/epiaosd.tar.gz
unzip the tar in your mythtv source directory, and apply osd.patch.

To take advantage of this you'll have to select "epiaosd" in the playback 
settings options.

Summary.... this patch does a couple of things. Firstly it currently hardcodes 
a simple palette in the xvmc code. 8 greys and 8 colours.
Next, it has an additional flag in the osd code to specify the surface type.
If the surface is I44 then the osdsurface code creates a new surface type to 
hold an i44 surface.
Next the osdtypes render directly to the i44 surface rather than later 
blending...
and the TTFFont type pre-renders the rastermap and holds a copy of it for each 
OSDTTFFont.

And finally the osdblend call just directly memcpy's the new generated surface 
onto the OSD surface.

O.K. So the theme is a bit garish. :-) But its just to see what can be done at 
the moment.
Also, at the moment this doesn't do quite a few things, for example bitmaps 
aren't blended together, and fonts don't get outlined or shadowed. But the 
current code is simply to try and get a nice OSD drawn fast enough that an 
EPIA can keep up.

Regards,

-- 
Ivor Hewitt.
http://www.ivor.it - tech | http://www.ivor.org - hedge


More information about the mythtv-dev mailing list