[MPlayer-dev-eng] MPlayer OpenGL patch

Arpi arpi at thot.banki.hu
Mon Oct 15 12:42:58 CEST 2001


Hi,

> > it's not ok.
> > gl aligning is in byte, not in pixels.
> > so it can be added if (images_width*images_bytespp)%8=0
> > but what is the sense of setting aling if it's already aligned? :)
> >
> 
> well .. true ;-)
> sorry missed that.
> 
> the next patch tries to align on 8,4,2,1 ..
> 
> the alignment may gives a very little (?!) speed up
> on some architectures ..
ok

> > > > > I'll apply patch then to CVS trunk.
> > > >
> > > > applied.
> > >
> > > well, now i have added opengl BGR support
> > >
> > > should work on opengl 1.2 capable cards ;-)
> > >
> > > so bgr speed should be now better
> > > 	- opengl bgr display
> > > 	- no more copy of the source image: "just use the source luke !" ;-)
> >
> > GL_BRG888 doesn't worked me, neither DRI or Utah-GLX (G400/G550)
> 
> thats pretty interesting ...
> 
> opengl 1.2 _must_ support this

yes but is every implementation fully 1.2 conformant?

maybe you should query if it's supported (setting up bgr texture gives an
error or ok)

> i _have_ tested this on my r128 dri machine (direct & indirect rendering), 
> and nvidia-glx machine - it works best for me.
of course, if it's supported it should be faster than software rgb->bgr

> > > 		- display movie in a real rendered tv ;-)
> >
> > ehh :)
> 		- you know, a useless rendered tv in 3d space,
> 		  where the movie is showing ;-)
:)))

> so i am asking about hardware yuv2rgb ...
> 	- mmx
done for 16/32 bpp

> 	- sse
no sense - sse is same as mmx but float

> 	- Xv
done, see vo_xv.c

> 	- opengl ? (never ever heard about yuv opengl support)
i heard about it somewhere (dri list), maybe it's in 2.0 or soem nonstandard
extension. at least g400 can do that, it's used by windows driver on the
second head (yuv overlay is only at first head - second head can display yuv
and they use texturing engine for scaling)

i also remember seeing somewhere in sgi spechs - highend sgi machines can do
that... (for video effects/editing)

> may be i have some rtfm stupid config errors, but i get this :
> 	Cannot init MMX colorspace transform
> 	No accelerated colorspace conversion found
> ??

only 16 and 32bpp is mmx-accelerated.
24bpp is hard to handle with 64-bit mmx registers...

> > what about OSD support?
> > using GL alphablending to render subtitles over the image?
> >
> 
> yes and no ;-)
> 
> i have added OSD support, just using the exisiting "writing direct to texture/image"
> functions - it works for me.

now it works. in libvo2 we will update osd partially, only when it changed.
it will also allow osd outside the image. so it would be very usefull using
opengl blending for that.

> because of the bigger diff i just send the complete vo_gl2.c as a bzip2 attachment.
ok.

btw i can give you CVS write access. send me login/pass in private.

> CHANGES:
> 	speed:
> 		- using opengl BGR, instead of manual component flipping,
> 		  must work with opengl >= 1.2
> 		- alignment tweaks
> 		- texture internal format tweaks
> 		- update only the dirty-area of the texture 
> 
> 	feature:
> 		- bilinear filtering on/off (key: 'b')
> 		- antialiasing on/off (key: 'a') (useless ?)
> 		- OSD support
> 		- fullscreen support
> 
ok, i'll commit this

A'rpi / Astral & ESP-team

--
mailto:arpi at thot.banki.hu
http://esp-team.scene.hu



More information about the MPlayer-dev-eng mailing list