Mailing List archive

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

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



On Sunday 06 June 2004 12:00, Klaus Schmidinger wrote:
> 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...

Ok - now i understand. That sounds reasonable - the coding effort i mentioned 
for the plugins is already mostly done anyway.

They just need to check if the OSD has changed size whenever they pop up some 
screen and not only at starting of the plugin.

Guido




Home | Main Index | Thread Index