[MPlayer-dev-eng] Re: Compile options

Andrew Savchenko Bircoph at list.ru
Wed Sep 20 19:22:06 CEST 2006


Greetings!

> Thus on trailer you provided vc is slightly faster, vo is slightly
> slower and summary is unchanged within errors. But be awared, that VC
> is _slower_ on other types of movies in this case (mpeg4 for
> example). So this prolem needs further investigation.
>
> Well, maybe in will be usefull to add -fno-inline-fuctions to
> dsputil_mmx.c only. I'll test this on different types of movies and
> will report later.

I've made some tests for 3 movie types: H264 HD 
(http://images.apple.com/movies/wb/the_fountain/the_fountain-tsr_h480p.mov), 
x264 and mpeg4; and for 4 sets of compile options: general -O4 option, 
general -O4 and -fno-inline-functions for dsputil_mmx.o only, general 
-O4 and -O2 for dsputil_mmx.o only, general -O2.

There are my results, mplayer-dev-SVN-r19909-4.0.2 was used:
==========================================================
Results for H264 HD:
==> General -O4 build:

vc: (4.724 \pm 0.009)s
vo: (25.117 \pm 0.013)s
user: 0m(19.842 \pm 0.054)s

==> General -O4 build, -fno-inline-functions for dsputil_mmx.o:

vc: (4.606 \pm 0.008)s
vo: (25.099 \pm 0.020)s
user: 0m(19.662 \pm 0.025)s

==> General -O4 build, -O2 for dsputil_mmx.o:

vc: (4.733 \pm 0.023)s
vo: (25.157 \pm 0.011)s
user: 0m(19.867 \pm 0.036)s

==> General -O2 build:

vc: (4.693 \pm 0.006)s
vo: (25.227 \pm 0.020)s
user: 0m(19.903 \pm 0.043)s

==========================================================
Results for x264:
==> General -O4 build:

vc: (17.179 \pm 0.014)s
vo: (61.346 \pm 0.020)s
user: 0m(52.258 \pm 0.073)s

==> General -O4 build, -fno-inline-functions for dsputil_mmx.o:

vc: (16.768 \pm 0.010)s
vo: (61.368 \pm 0.033)s
user: 0m(51.896 \pm 0.074)s

==> General -O4 build, -O2 for dsputil_mmx.o:

vc: (17.011 \pm 0.010)s
vo: (61.435 \pm 0.151)s
user: 0m(52.225 \pm 0.172)s

==> General -O2 build:

vc: (17.423 \pm 0.008)s
vo: (61.550 \pm 0.026)s
user: 0m(52.812 \pm 0.078)s

==========================================================
Results for MPEG4:
==> General -O4 build:

vc: (8.835 \pm 0.019)s
vo: (176.051 \pm 0.070)s
user: 1m(45.945 \pm 0.152)s

==> General -O4 build, -fno-inline-functions for dsputil_mmx.o:

vc: (8.974 \pm 0.029)s
vo: (176.092 \pm 0.142)s
user: 1m(46.189 \pm 0.143)s

==> General -O4 build, -O2 for dsputil_mmx.o:

vc: (9.033 \pm 0.016)s
vo: (176.175 \pm 0.063)s
user: 1m(46.386 \pm 0.212)s

==> General -O2 build:

vc: (9.036 \pm 0.019)s
vo: (176.558 \pm 0.058)s
user: 1m(46.744 \pm 0.124)s

==========================================================

As you can see, for H264 HD -O4 general build, -fno-inline-functions for 
dsputil_mmx.o is indeed the fastest, also it is the fastest for an 
ordinary h264. But for mpeg4 is is slower than -O4.

Thereby there is no compile option which provides the fastest code for 
decoding arbitrary type of movie. When we make optimizations for h264, 
we simultaneously make mpeg4 playback slower and vice versa.

Thus we must decide. Mpeg4 is widely used than h264, moreover a lot of 
slow CPU's can decode mpeg4, but can't decode h264 (the last one is 
more cpu-hungry). IMO it is the main reason to make mpeg4 playback as 
fast as possible for those systems, even by cost of _slightly_ slowing 
down playback of h264 on fast machines.

So, I think all optimization parameters must remain unchanged (i.e. -O4 
by default with no exception). Do you agree with me?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20060920/5d6663b2/attachment.pgp>


More information about the MPlayer-dev-eng mailing list