[MPlayer-dev-eng] Video output for RV280+Mesa3D

malc av1474 at comtv.ru
Fri Dec 5 13:34:45 CET 2008


On Fri, 5 Dec 2008, Reimar D?ffinger wrote:

> On Fri, Dec 05, 2008 at 01:44:51PM +0300, malc wrote:
>> The patch implements the most performant(at least on this mac mini) way to
>> put YV12/I420/YUY2/UYVY data on screen. Constraints include:
>> a) PPC
>> b) Altivec presence
>> c) Mesa3D + GLX_MESA_allocate_memory
>> d) Horizontal resolution being multiple of 16
>
> And probably a bit more things that do not work like panscan etc. pp.
> The more important question would be: what is the difference to
> extending vo_gl to support direct-rendering into memory allocated by
> glXAllocateMemoryMESA, setting GL_UNPACK_CLIENT_STORAGE_APPLE and
> supporting GL_YCBCR_MESA?
> And also, how extensively/which features of -vo gl have you tested and
> which of these settings are how much faster in comparison? (I assume
> this one requires x11, too? You did not state if you are running OSX or
> Linux or something else...).

No panscan, no idea what pp is, no idea about what you mean by vo_gl
testing, yes it's for Linux (vo_macosx/quartz? does operate similarly
under OS X, only using hints to DMA from client memory)

vo_gl on rv280 would fall back on software colorspace conversion since
rv280 doesn't have ARBfp1.0, on the surface not a biggie since ATIfs1.0
+ 6 TUs is just as capable in this regard, BUT, the ability to use GART
memory is only possible with YCBCR_MESA and RGBA (later implies having
X running at depth 32), it's possible and in fact i have a code for
this, to push pseudo RGBA data and unpack it in the ATIfs1.0 program,
but this is needlessly convoluted and besides lacks the ability to do
any filtering apart from GL_NEAREST (it is agin possible to work
around it by using pseudo RTT (via GART accelerated ReadPixels and
double upload, but this makes things hairier still)

As it stand this vo_rv280 is faster than anything, XV included, and by
a large margin:

Playing:
http://fedoraproject.org/w/uploads/8/83/OpenVideo_Submissions_Bertoldi_Fly_Your_Mind.ogg

./mplayer -benchmark Bertoldi_Fly_Your_Mind.ogg -nosound -vo [rv280|xv] yields:

rv280
BENCHMARKs: VC:  14.803s VO:   1.411s A:   0.000s Sys:   0.179s =   16.393s
BENCHMARK%: VC: 90.3010% VO:  8.6081% A:  0.0000% Sys:  1.0909% = 100.0000%

xv
BENCHMARKs: VC:  14.946s VO:   5.607s A:   0.000s Sys:   0.157s =   20.710s
BENCHMARK%: VC: 72.1674% VO: 27.0743% A:  0.0000% Sys:  0.7583% = 100.0000%

Similiar results are obtained without -benchmark when using accurate
CPU load caclulation utility, such as the one here (shameless plug,
sorry): http://repo.or.cz/w/apc.git

-- 
mailto:av1474 at comtv.ru



More information about the MPlayer-dev-eng mailing list