[MPlayer-dev-eng] Fast OpenGL playback

Reimar Döffinger Reimar.Doeffinger at stud.uni-karlsruhe.de
Mon Nov 8 23:01:39 CET 2004


Hi,
> I'm new to Mplayer, so maybe this has been done ten times already, or
> maybe it's seen as too hardware-specific to be included.  My apologies if
> I'm repeating old information. (I did scan the archives and didn't find a
> whole lot of discussion on this topic)

There were multiple tries, see
studwww.ira.uka.de/~s_doeffi/yuv_gl_vos.tar.bz2 (a bit outdated, probably
won't apply cleanly to current CVS)

> Anyway, the two main things I did were to get rid of the software YUV to
> RGB conversion, and to use nVidia's PDR support for fast texSubImage2D
> calls.  The YUV conversion was done using Cg, so it needs extra libraries
> and headers, and the PDR uses extensions that aren't in the standard OGL
> headers.  (I use the GLEW extension management stuff)

Those are too many dependencies IMHO. Also, if you don't care about
being nVidia specific, register combiners should be quite a bit faster
(that is what I tried in my vo_glsimple, also because that's the only
way my GeForce 3 supports).

> The bottom line:
> 1024x768 @ 1375 KBytes/sec MPEG-2 on a P4 2.4 GHz w/ GFFX5950:
> 
> 300 frames, with the -benchmark option
> 
> -vo X11:     5.4 sec
> -vo gl2:     6.85 sec
> -vo gl :    ~7 sec
> -vo dga:     4.7 sec
> -vo vesa:   ~3.7 sec
> -vo gl_hack: 3.7 sec 

Those are all really slow vos. Much more interesting would be a
comparison against -vo xv or vidix, I would consider same speed as vo_vesa not
really good. You might also want to compare -vo gl:manyfmts (if your MPlayer version is
new enough).

Actually I'd like to have a look at the code, maybe some of its ideas
can be used (although main reason for OpenGL support is still
portability).

Greetings,
Reimar Döffinger




More information about the MPlayer-dev-eng mailing list