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

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


On Sat, May 29, 2010 at 06:29:57PM +0200, Reimar Döffinger wrote:
> 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.

Argh! And it doesn't even compile on x86_64 (./configure --with-cpu=3dnow).



More information about the MPlayer-dev-eng mailing list