new idea for vo parent-child, xover etc.
Arpi <[email protected]>
| Newsgroups | gmane.comp.video.mplayer.g2.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, Albeu implemented vo_xover, nice. Although at least half of that code si generic and sould be duplicated to every parent-capable vo drivers. Not a big deal, easy to move out to separate file or vo core. But what about OSD? We should be able to do tricks, like render osd to the key color, without antialiasing but in hi-res it doesnt really matter, and still looks better than 320x200 antialieased subs upscaled (together with the video window) to 1024x768 for example. Also we could render antialiased subs bellow the image (when widescreen). Of course all this can be done with the xover approach, by adding new controls etc, but why to do that, if we can do it easier: Let's allow vf_vo2 to control 2 vo in a special way, ie. parent and chield. It could open vo_x11 to draw a window with colorkey, osd etc, and open vo_mga to display overlay to translated coords retrieved from vo_x11 (unfortunatelly we need a special control to get absolute window position... or put that info to the vo struct, like win_x, win_y) So, actually vo_x11 doesn't even know about vo_mga, and vice versa. It allows us to do mroe vo combinations without extra support code in them, and do tricky osd rendering, adding black bars without using more YUV memory (when window and overlay aspect differs) and so on. Since controls like RESIZE_DEST come from teh vf layer, vf_vo can send it to both vo drivers, it's not problem. Any comments? Maybe i'm wrong and lots some important point making this impossible? Looks way too simple and easy :) A'rpi / Astral & ESP-team -- Developer of MPlayer G2, the Movie Framework for all - http://www.MPlayerHQ.hu