[MPlayer-dev-eng] [PATCH] replacement for internal mpg123 fork (mp3lib), Final version?
Thomas Orgis
thomas-forum at orgis.org
Tue May 25 09:30:36 CEST 2010
Am Mon, 24 May 2010 16:49:48 +0200
schrieb Thomas Orgis <thomas-forum at orgis.org>:
> Am Mon, 24 May 2010 13:49:06 +0200
> schrieb Diego Biurrun <diego at biurrun.de>:
>
> > > Can you compare
> > > mpg123 --cpu 3dnow -t file.mp3
> > > with
> > > mpg123 --cpu 3dnowext -t file.mp3
> >
> > The latter is faster for me.
Indeed it is. I see that now, on the 550MHz K6-3+:
shell:~/mplayer-svn$ time ~/mpg123-test/bin/mpg123 --cpu 3dnowext -t
~/convergence_-_points_of_view/02\ -\ Strike\ the\ end.mp3
real 0m4.711s
user 0m4.660s
sys 0m0.050s
shell:~/mplayer-svn$ time ~/mpg123-test/bin/mpg123 --cpu 3dnow -t
~/convergence_-_points_of_view/02\ -\ Strike\ the\ end.mp3
real 0m5.384s
user 0m5.260s
sys 0m0.110s
shell:~/mplayer-svn$ time
LD_LIBRARY_PATH=/home/thomas/mpg123-test/lib/ ./mplayer -ac mpg123 -ao
pcm:file=/dev/null -quiet ~/convergence_-_points_of_view/02\ -\
Strike\ the\ end.mp3
real 0m5.262s
user 0m5.140s
sys 0m0.110s
shell:~/mplayer-svn$ time
LD_LIBRARY_PATH=/home/thomas/mpg123-test/lib/ ./mplayer -ac mp3 -ao
pcm:file=/dev/null -quiet ~/convergence_-_points_of_view/02\ -\
Strike\ the\ end.mp3
real 0m5.122s
user 0m4.990s
sys 0m0.120s
shell:~/mplayer-svn$
Oh, to be fair... comparison with actually writing of data to /dev/null
shell:~/mplayer-svn$ time ~/mpg123-test/bin/mpg123 --cpu 3dnowext
-w /dev/null ~/convergence_-_points_of_view/02\ -\ Strike\ the\
end.mp3
real 0m4.798s
user 0m4.700s
sys 0m0.090s
No signifcant difference to plain decoding with -t.
I remembered that result with an older mpg123 (I don't upgrade that box
that often, it's a server):
shell:~/mplayer-svn$ mpg123 --version
mpg123 1.5.1
shell:~/mplayer-svn$ time mpg123 --cpu 3dnow -t
~/convergence_-_points_of_view/02\ -\ Strike\ the\ end.mp3
real 0m5.641s
user 0m5.550s
sys 0m0.080s
shell:~/mplayer-svn$ time mpg123 --cpu 3dnowext -t
~/convergence_-_points_of_view/02\ -\ Strike\ the\ end.mp3
real 0m5.994s
user 0m5.900s
sys 0m0.090s
So perhaps that's only an aberration on this install? The 3DNowExt
optimization didn't really change -- it's still what has been imported
from MPlayer's mp3lib. Hm... now why is the new mpg123 faster with
3DNowExt ... I have a suspicion: I changed the handling of some buffers
with mpg123 1.12 (please ignore mpg123 1.11, the previous version was
1.10), in the course of that increasing alignment to 64 bytes.
shell:~$ time ~/mpg123-1.10/bin/mpg123 --cpu 3dnowext -t
~/convergence_-_points_of_view/02\ -\ Strike\ the\ end.mp3
real 0m4.765s
user 0m4.690s
sys 0m0.080s
shell:~$ time ~/mpg123-1.10/bin/mpg123 --cpu 3dnow -t
~/convergence_-_points_of_view/02\ -\ Strike\ the\ end.mp3
real 0m5.436s
user 0m5.370s
sys 0m0.050s
No difference to version 1.12. Trying a re-build of 1.5.1:
thomas at knecht:~$ time ~/mpg123-1.5/bin/mpg123 --cpu 3dnowext -t
~/convergence_-_points_of_view/02\ -\ Strike\ the\ end.mp3
real 0m5.690s
user 0m5.580s
sys 0m0.090s
thomas at knecht:~$ time ~/mpg123-1.5/bin/mpg123 --cpu 3dnow -t
~/convergence_-_points_of_view/02\ -\ Strike\ the\ end.mp3
real 0m5.338s
user 0m5.270s
sys 0m0.060s
So this is consistent. Digging further: Since mpg123 version 1.8,
3DNowExt got a performance boost. I'm not yet sure what exact change it
was, as the actual assembly code did not change. But, OK, we got that
settled.
Now, on to the question of making MPlayer about as fast as plain
mpg123 on this platform...
Alrighty then,
Thomas.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20100525/44732c90/attachment.pgp>
More information about the MPlayer-dev-eng
mailing list