[MPlayer-cygwin] Re: colorspaces vs graphics cards

Sascha Sommer saschasommer at freenet.de
Fri Apr 30 13:55:20 CEST 2004


> On Mon, Apr 26, 2004 at 09:05:25PM +0200, Sascha Sommer wrote:
> > I think it is ok as it is now. The case where RGB is faster that YUV is
very
> > rare and
>
> It's the case on every video card among my 8 roommates...
>
> > YV12 vs. YUY2 should only give minor differences in speed for most
cards.
>
> For me, the difference between YUV spaces can be as much as 30% of my
> CPU according to task manager.  (933MHz Crusoe)
>

For all those where rgb is faster: Can you please try without -double
or add -nodouble to your commandline in case it is in your config file?
Some benchmarks by me with 3 GHz P4 and Mobility Radeon 9700

C:\Programme\msys\home\Sascha\release\mplayer>mplayer
..\..\MI2-Trailer.avi -nos
ound -benchmark -frames 1000 -vo directx:noaccel -dr

BENCHMARKs: VC:   1.220s VO:   0.062s A:   0.000s Sys:   0.061s =    1.343s
BENCHMARK%: VC: 90.8414% VO:  4.6165% A:  0.0000% Sys:  4.5421% = 100.0000%

without -dr:
BENCHMARKs: VC:   0.999s VO:   0.782s A:   0.000s Sys:   0.031s =    1.812s
BENCHMARK%: VC: 55.1325% VO: 43.1567% A:  0.0000% Sys:  1.7108% = 100.0000%

C:\Programme\msys\home\Sascha\release\mplayer>mplayer
..\..\MI2-Trailer.avi -nos
ound -benchmark -frames 1000 -vo directx -double    (yv12 is used by
default)
BENCHMARKs: VC:   0.015s VO:  16.641s A:   0.000s Sys:   0.000s =   16.656s
BENCHMARK%: VC:  0.0901% VO: 99.9099% A:  0.0000% Sys:  0.0000% = 100.0000%

without double
BENCHMARKs: VC:   0.953s VO:   0.032s A:   0.000s Sys:   0.093s =    1.078s
BENCHMARK%: VC: 88.4045% VO:  2.9685% A:  0.0000% Sys:  8.6271% = 100.0000%

with -vf format=yuy2 -dr -double
BENCHMARKs: VC:   0.031s VO:  16.641s A:   0.000s Sys:   0.000s =   16.672s
BENCHMARK%: VC:  0.1859% VO: 99.8141% A:  0.0000% Sys:  0.0000% = 100.0000%


-vf format=yuy2 -dr
BENCHMARKs: VC:   1.425s VO:   0.046s A:   0.000s Sys:   0.138s =    1.609s
BENCHMARK%: VC: 88.5643% VO:  2.8589% A:  0.0000% Sys:  8.5768% = 100.0000%


C:\Programme\msys\home\Sascha\release\mplayer>mplayer
..\..\MI2-Trailer.avi -nos
ound -benchmark -frames 1000 -vo cvidix -vf
format=yuy2 -nodouble -nocolorkey -d
r

BENCHMARKs: VC:   2.671s VO:   0.016s A:   0.000s Sys:   0.016s =    2.703s
BENCHMARK%: VC: 98.8161% VO:  0.5919% A:  0.0000% Sys:  0.5919% = 100.0000%

yv12 instead:

BENCHMARKs: VC:   2.532s VO:   0.000s A:   0.000s Sys:   0.093s =    2.625s
BENCHMARK%: VC: 96.4571% VO:  0.0000% A:  0.0000% Sys:  3.5429% = 100.0000%

yv12 and -double
BENCHMARKs: VC:   2.530s VO:   0.031s A:   0.000s Sys:   0.079s =    2.640s
BENCHMARK%: VC: 95.8333% VO:  1.1742% A:  0.0000% Sys:  2.9924% = 100.0000%

Ok as you can see the results may be very different depending on the
parameters used.
directx's yv12 without double buffering is the fastest. I think this is due
to dma.
However the osd flickers like hell without double buffering. The ideal
solution would be if we
could use tribble buffeing without waiting for vsync in directx, but my card
seem to ignore
the DDFLIP_NOVSYNC flag. Therefore the nicest image quality (when scalled)
is reached with vidix and -double.  Another solution would be to add dma
support to radeon_vid.

Sascha





More information about the MPlayer-cygwin mailing list