[MPlayer-dev-eng] [PATCH] dvdnav part 3 - emptyframe

Reimar Döffinger Reimar.Doeffinger at stud.uni-karlsruhe.de
Tue Jul 31 21:21:16 CEST 2007


Hello,
On Tue, Jul 31, 2007 at 03:42:06PM +0200, Michael Niedermayer wrote:
> On Tue, Jul 31, 2007 at 01:56:00PM +0200, Reimar Döffinger wrote:
> > On Tue, Jul 31, 2007 at 12:16:42PM +0200, Michael Niedermayer wrote:
> > > On Tue, Jul 31, 2007 at 11:17:27AM +0200, Reimar Döffinger wrote:
> > > > On Tue, Jul 31, 2007 at 12:05:22AM +0200, Diego Biurrun wrote:
> > > > [...]
> > > > > libmpeg2 used to be faster than FFmpeg.  The last time I made benchmarks
> > > > > years ago this was indeed still the case, but FFmpeg was catching up.
> > > > > Baptiste keeps telling me that FFmpeg is faster nowadays, but we really
> > > > > need extensive benchmarks to confirm or deny this.
> > > > 
> > > > Just yesterday I was shocked to see that ffmpeg12 + vo_gl on Windows is
> > > > about 30% slower than libmpeg2 + vo_gl.
> > > > Probably I am doing something stupid in vo_gl (I guess that with
> > > > PCI-Express slice-based rendering becomes very slow in comparison), but
> > > > it still is a huge difference.
> > > 
> > > uhm ... 30% ...
> > > 
> > > it would be interresting to know what exactly causes this speed difference

Seem the 30% were -vc mpeg12 -noslices vs. -vf ffmpeg12 -slices, which
is not a fair comparison, at least not with OpenGL under Windows Vista,
seems like texture uploads have a really massive overhead there.
Still, ffmpeg12 has a slow but consistent disadvantage in all cases.

> > -noslices fixes it mostly btw. I didn't make proper measurements though.
> 
> if you do, dont forget to try -lavdopts idct=4

One of the runs is with that option, made things slower though.
See attached file.
Sample file used is available at
http://samples.mplayerhq.hu/HDTV/Van_Helsing.ts

Greetings,
Reimar Döffinger
-------------- next part --------------
Command:
mplayer -nosound -benchmark -frames 500 Van_Helsing.ts

cpu family      : 15
model           : 67
model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
stepping        : 2
cpu MHz         : 2000.000
cache size      : 512 KB
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 

=================================================
=================================================
On Gentoo Linux:
=================================================
=================================================

MPlayer dev-SVN-r23940-4.2.0 (C) 2000-2007 MPlayer Team
====================================================
-vo gl:yuv=2
====================================================

-vc mpeg12 -noslices:
BENCHMARKs: VC:   4.368s VO:   2.916s A:   0.000s Sys:   0.206s =    7.491s
BENCHMARKs: VC:   4.363s VO:   2.913s A:   0.000s Sys:   0.214s =    7.491s
BENCHMARKs: VC:   4.359s VO:   2.929s A:   0.000s Sys:   0.173s =    7.460s

-vc mpeg12 -slices:
BENCHMARKs: VC:   5.190s VO:   1.884s A:   0.000s Sys:   0.168s =    7.242s
BENCHMARKs: VC:   5.158s VO:   1.894s A:   0.000s Sys:   0.211s =    7.264s
BENCHMARKs: VC:   5.168s VO:   1.870s A:   0.000s Sys:   0.210s =    7.248s

-vc ffmpeg12 -noslices:
BENCHMARKs: VC:   5.064s VO:   2.911s A:   0.000s Sys:   0.242s =    8.216s
BENCHMARKs: VC:   5.008s VO:   2.916s A:   0.000s Sys:   0.189s =    8.113s
BENCHMARKs: VC:   5.046s VO:   2.943s A:   0.000s Sys:   0.171s =    8.161s

-vc ffmpeg12 -slices:
BENCHMARKs: VC:   7.423s VO:   0.135s A:   0.000s Sys:   0.198s =    7.757s
BENCHMARKs: VC:   7.358s VO:   0.131s A:   0.000s Sys:   0.218s =    7.707s
BENCHMARKs: VC:   7.422s VO:   0.136s A:   0.000s Sys:   0.175s =    7.733s

-vc ffmpeg12 -slices -lavdopts idct=4:
BENCHMARKs: VC:   7.853s VO:   0.136s A:   0.000s Sys:   0.200s =    8.189s
BENCHMARKs: VC:   8.013s VO:   0.126s A:   0.000s Sys:   0.242s =    8.381s
BENCHMARKs: VC:   7.912s VO:   0.129s A:   0.000s Sys:   0.217s =    8.258s

============================================
with -vo xv:
NOTE: these values are not reliable, I still had the NVidia binary drivers
loaded which seems to cause a hang for about 0.2-0.5 seconds in about every
fourth run
============================================

-vc mpeg12 -noslices:
BENCHMARKs: VC:   4.478s VO:   0.655s A:   0.000s Sys:   0.206s =    5.339s
BENCHMARKs: VC:   4.417s VO:   0.630s A:   0.000s Sys:   0.734s =    5.781s
BENCHMARKs: VC:   4.490s VO:   0.649s A:   0.000s Sys:   0.201s =    5.340s

-vc mpeg12 -slices:
BENCHMARKs: VC:   4.243s VO:   0.394s A:   0.000s Sys:   0.157s =    4.793s
BENCHMARKs: VC:   4.220s VO:   0.389s A:   0.000s Sys:   0.190s =    4.800s
BENCHMARKs: VC:   4.312s VO:   0.387s A:   0.000s Sys:   0.955s =    5.655s

-vc ffmpeg12 -noslices:
BENCHMARKs: VC:   4.968s VO:   0.619s A:   0.000s Sys:   0.160s =    5.746s
BENCHMARKs: VC:   5.116s VO:   0.645s A:   0.000s Sys:   0.173s =    5.934s
BENCHMARKs: VC:   4.947s VO:   0.654s A:   0.000s Sys:   0.197s =    5.799s

-vc ffmpeg12 -slices:
BENCHMARKs: VC:   5.001s VO:   0.014s A:   0.000s Sys:   0.198s =    5.213s
BENCHMARKs: VC:   5.183s VO:   0.014s A:   0.000s Sys:   0.212s =    5.409s
BENCHMARKs: VC:   4.995s VO:   0.013s A:   0.000s Sys:   0.196s =    5.204s


=================================================
=================================================
=================================================
=================================================
On Windows Vista, 32 bit:
(I added -quiet to the options since Mingw console
 is horribly slow)
=================================================
=================================================
MPlayer dev-SVN-rUNKNOWN-3.4.5 (C) 2000-2007 MPlayer Team
(it is actually r23940 as well, didn't check why configure picked UNKNOWN)
====================================================
-vo gl:yuv=2
====================================================
-vc mpeg12 -noslices:
BENCHMARKs: VC:   5.366s VO:   2.807s A:   0.000s Sys:   0.625s =    8.798s
BENCHMARKs: VC:   5.924s VO:   2.591s A:   0.000s Sys:   0.533s =    9.048s
BENCHMARKs: VC:   5.759s VO:   2.478s A:   0.000s Sys:   0.452s =    8.689s

-vc mpeg12 -slices:
BENCHMARKs: VC:   8.318s VO:   1.512s A:   0.000s Sys:   0.466s =   10.296s
BENCHMARKs: VC:   8.333s VO:   1.851s A:   0.000s Sys:   0.533s =   10.717s
BENCHMARKs: VC:   8.099s VO:   1.448s A:   0.000s Sys:   0.530s =   10.077s

-vc ffmpeg12 -noslices:
BENCHMARKs: VC:   6.473s VO:   2.314s A:   0.000s Sys:   0.620s =    9.407s
BENCHMARKs: VC:   6.036s VO:   2.931s A:   0.000s Sys:   0.565s =    9.532s
BENCHMARKs: VC:   6.392s VO:   2.387s A:   0.000s Sys:   0.628s =    9.407s

-vc ffmpeg12 -slices:
BENCHMARKs: VC:  10.269s VO:   1.092s A:   0.000s Sys:   0.604s =   11.965s
BENCHMARKs: VC:  10.452s VO:   0.967s A:   0.000s Sys:   0.531s =   11.950s
BENCHMARKs: VC:  12.588s VO:   0.000s A:   0.000s Sys:   0.469s =   13.057s

====================================================
-vo directx
(NOTE: image movement is not smooth, broken vsync? -
 only noticable with -vc mpeg12)
====================================================
-vc mpeg12 -noslices:
BENCHMARKs: VC:   4.912s VO:   1.076s A:   0.000s Sys:   0.486s =    6.474s
BENCHMARKs: VC:   4.863s VO:   1.157s A:   0.000s Sys:   0.501s =    6.521s
BENCHMARKs: VC:   5.208s VO:   0.906s A:   0.000s Sys:   0.438s =    6.552s

-vc mpeg12 -slices:
BENCHMARKs: VC:   4.642s VO:   1.188s A:   0.000s Sys:   0.503s =    6.333s
BENCHMARKs: VC:   4.758s VO:   1.127s A:   0.000s Sys:   0.402s =    6.287s
BENCHMARKs: VC:   4.662s VO:   1.028s A:   0.000s Sys:   0.550s =    6.240s

-vc ffmpeg12 -noslices:
BENCHMARKs: VC:   5.946s VO:   0.807s A:   0.000s Sys:   0.579s =    7.332s
BENCHMARKs: VC:   5.882s VO:   0.998s A:   0.000s Sys:   0.499s =    7.379s
BENCHMARKs: VC:   5.740s VO:   0.999s A:   0.000s Sys:   0.484s =    7.223s

-vc ffmpeg12 -slices:
BENCHMARKs: VC:   5.961s VO:   0.387s A:   0.000s Sys:   0.422s =    6.770s
BENCHMARKs: VC:   5.879s VO:   0.485s A:   0.000s Sys:   0.485s =    6.849s
BENCHMARKs: VC:   5.957s VO:   0.595s A:   0.000s Sys:   0.406s =    6.958s


More information about the MPlayer-dev-eng mailing list