Mailing List archive

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

[vdr] Re: problem with vcd-plugin -> OSD-design considerations



Guido Fiala wrote:
> 
> On Sunday 06 June 2004 11:19, Klaus Schmidinger wrote:
> > > Yes, sounds good. I read the value would be pixels for vdr 1.3.x ?
> >
> > Yes, that's correct.
> >
> > In light of this PAL/NTSC problem, maybe it would event be better (as you
> > suggested) to define the OSD offset and size as being given on a scale of
> > 0...1000, where (0, 0) is the upper left corner of the video image, and
> > (1000, 1000) is the bottom right corner (both of which may be outside the
> 
> The problem with this approach would be, that the developer could never be
> sure if a pixel is actually shown or not - the OSD would have to implement a
> smooth scaling algorithm to avoid certain pixels not being shown at all.
> 
> e.g. A font scaled down looks usually very bad especially at low color depths
> or b/w images.
> 
> all in all - its a lot of trouble, and if the quality will become worse that
> way...
> I would rather suggest the plugins should be informed by the OSD how many
> lines are available (as well as how many pixels) and the plugins can change
> their layout accordingly.
> 
> Of course this puts a lot of coding-work into the plugins, but at least we
> have no problems with half pixels...
> 
> This has also some aspects on the new skin plugin, maybe the skin plugin can
> indeed use %-screen-coordinates.
> 
> But have this in mind:
> 
> if one draws a line 2 pixels height and the OSD is shown in PAL it might be 1
> pixel at the screen. Now the thing is put into NTSC mode and the line is just
> about 0.7 pixels in height ... is it vsibiel or not? 0.3 - still visible?
> 
> Maybe the OSD should more or less handled like HTML - certain elements have
> fixed pixel sizes (like line widths, fonts) and other things have relative
> coordinates (x-% of screen) and the text shown wraps automatically at EOL.
> 
> In some plugins the texts also is cut if the space is exceeded.

I wasn't talking about any "scaling" of an existing OSD display.
A "skin" shall always display itself according to the current OSD size
(which is adjustable by the user, anyway). Just run VDR 1.3.9, open the OSD
Setup menu and change the Top, Left, Width and/or Height parameters. Then
close and re-open the menu. You'll see that the OSD is now displayed
according to the new size parameters.

The only thing that would change would be that the user no longer defines
the OSD size in actual pixels, but rather in relation to the actual screen
size, which may vary between PAL and NTSC display.

There is no font scaling problem, because a skin knows by itself how many lines
it can display, and will inform VDR how many menu items it can handle. So the
same skin will display more text in PAL than in NTSC mode - but that's the fault
of NTSC, having fewer scan lines...

Klaus




Home | Main Index | Thread Index