[MPlayer-dev-eng] [PATCH] mp3lib: Align output so that movaps can be used instead of movups

Zuxy Meng zuxy.meng at gmail.com
Mon Jun 4 16:24:48 CEST 2007


Hi,

2007/6/4, Reimar Doeffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de>:
> Hello,
> On Mon, Jun 04, 2007 at 05:27:49PM +0800, Zuxy Meng wrote:
> > 2007/6/4, Reimar Doeffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de>:
> > >On Mon, Jun 04, 2007 at 10:00:00AM +0200, Guillaume Poirier wrote:
> > >[...]
> > >> Alternatively, maybe DECLARE_ALIGNED_16() and friends should be moved
> > >> to a different, separate include, but that's probably overkill.
> > >
> > >I'd say they probably could just be moved to mem.h...
> >
> > It's a bit more complex than I expected after I examined
> > dsputil.h...Anyway this patch works fine.
>
> > -    static real hybridIn[2][SBLIMIT][SSLIMIT];
> > -    static real hybridOut[2][SSLIMIT][SBLIMIT];
> > +    DECLARE_ALIGNED(16, real, hybridIn[2][SBLIMIT][SSLIMIT]);
> > +    DECLARE_ALIGNED(16, real, hybridOut[2][SSLIMIT][SBLIMIT]);
>
> I think you meant
> static DECLARE_ALIGNED(16, real, hybridIn[2][SBLIMIT][SSLIMIT]);
> If you want to drop the static do it in a seperate patch (there is
> at least one other place like this).

OK. Static is dropped because:
1. mingw32 binutils have some problems in aligning static variables
defined in a brace-enclosed block.
2. storing those temporary variables as non-static is actually faster.
(possibly due to better data locality?)

Anyway I'll split the original into two seperate patches.
-- 
Zuxy
Beauty is truth,
While truth is beauty.
PGP KeyID: E8555ED6



More information about the MPlayer-dev-eng mailing list