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 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.

> visible screen area). This would mean that it would no longer be possible
> to set the OSD size to an exactly defined number of pixels, but would have
> the advantage that VDR could automatically decide how large the OSD should
> be, depending on the current video format.
>
> Comments?
>
> > > > (and very likely a different font) ...just an idea.
> > >
> > > Why a different font?
> >
> > At least in current vdr the OSD-height is specified in lines.
> > If one assumes the number of lines to be equal in both/all video-modes
> > the font-height would have to be adjusted (by sacrifying quality of the
> > font).
> >
> > The other way would be to use the currently available number of
> > text-lines that the plugin can change its contents accordingly.
>
> Since the OSD size is now given in pixels, a skin will be "asked" how many
> items it can display. So it can react dynamically to changes in OSD size.
>
> > Another reason for different fonts required might be different
> > aspect-ratios - a 4:3 font displayed at 16:9 looks compressed
> > horizontally i would assume?
>
> Well, using different fonts here would immediately double the number of
> font files. Since we already have four different character sets with three
> different font sizes/types each, I'd say lets wait and see...

At least that would solve the problems with the scaling of fonts...

Guido




Home | Main Index | Thread Index