[MPlayer-dev-eng] [PATCH] replacement for internal mpg123 fork (mp3lib), Final version?

Reimar Döffinger Reimar.Doeffinger at gmx.de
Sat May 29 18:29:57 CEST 2010


On Tue, May 25, 2010 at 09:30:36AM +0200, Thomas Orgis wrote:
> 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+:

I'd like to add that part of the issue may be that... Well...
The mpg123 3dnow code simply is going to be slower, because
1) it calls femms _twice_ per dct function call
2) it genrates a stack frame (i.e. saves/changes ebp). MPlayer by default does not.
3) it reserves 120 bytes on stack for local variables even though it never
   uses any on-stack variables.
4) worse, it pushes the ebx and esi registers _after_ the stack increase,
   thus increasing cache pressure for no good reason at all.

Maybe I am missing some good reason for this, but so far I think that
the code, honestly spoken, is simply crap.



More information about the MPlayer-dev-eng mailing list