[MPlayer-dev-eng] OSD rendering

Arpi arpi at thot.banki.hu
Tue Apr 9 01:24:11 CEST 2002


Hi,

Time to rework osd...
is anyone already working on that?

the primary requirements:

osd elements (like subtitle lines, time display, volume bar etc)
should be separated elements, each has 'visible' and 'changed' flag, and
bounding box.

there should be a function to calculate intersection of active osd elements
and a given rectangle area, and return NULL (no osd in the specified area)
or a bounding box.

this code could be used to intelligently disable DR, and clear only changed
areas of the screen/buffer. and also to update osd only if changed.

using this code, the renderer filter could check if there is visible osd
element over the image (then disable DR) and clear areas around the image if
there are _changed_ osd elements.

i think it's relative easy to implement, we just need 2 boolean functions:
intersect and union rectangels, both should accept NULL as parameter.
and we need the osd elements to set up accurate bounding box corners.

with this changes, osd rendering will be faster (redraw only if changed)
and rendering osd under the image will be possible with any drivers.

comments?


A'rpi / Astral & ESP-team

--
Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu



More information about the MPlayer-dev-eng mailing list