[MPlayer-dev-eng] Xvideo Extension

Billy Biggs vektor at dumbterm.net
Fri Aug 6 14:47:34 CEST 2004


Amir Bukhari (ufz6 at rz.uni-karlsruhe.de):

> > Well, Xvideo uses the overlay feature of the video cards to draw the
> > video on the screen. That means most of the time the video is never
> > converted, but stored in some yuvbuffer on the video card. This data
> > is never merged with the screen data but gets converted, scaled and
> > overlayed during the display process. 
>
> OK this during display process, where it done? In Video Card or in
> Xvideo Extension.

  It's done in hardware by the video card.  The image data is never
stored in the framebuffer in RGB.  It is converted to RGB as it is sent
to the monitor.  It does not fit in the model of COMPOSITE/DAMAGE.  The
overlay will draw video wherever it sees its colour key (usually blue)
in the framebuffer, but it cannot do any of the scaling, rotation, or
translation that you want to do in your X server.

  There is discussion going on about what to do with XVIDEO by Keith
Packard and Eric Anholt, you might want to talk to them.  One option is
to implement XVIDEO by always using OpenGL: the Mac platform has fancy
alpha blending and does not support overlay hardware, for example.
However, there are some advantages to overlay surfaces, so it is
unclear if maybe some method should be supported.  One idea is to do
something complicated like only use th overlay when the image is
perfectly square and opaque, and then fall back to OpenGL otherwise, but
this might be to complicated.

  I think you should get in touch with the Xorg people if you're
interested in helping with this.  Otherwise, just use mplayer's gl
output method.

  -Billy




More information about the MPlayer-dev-eng mailing list