[MPlayer-dev-eng] [PATCH] Saturation & PSWAPD bugfix in mp3lib/dct64_3dnow.c & mp3lib/dct64_k7.c
Diego Biurrun
diego at biurrun.de
Fri Jul 7 15:24:33 CEST 2006
On Tue, Jun 27, 2006 at 04:37:52PM +0800, Zuxy Meng wrote:
> 2006/6/27, Guillaume Poirier <gpoirier at mplayerhq.hu>:
> >Diego Biurrun wrote:
> >>
> >> How would I test this on my K6-III+? It seems that dct64_k7.c was
> >> compiled all along...
> >
> >Yes, it's compiled, but the ASM routines in dct64_k7.c aren't used in K6.
> >You'd need to adapt the part the code in mp3lib/sr1.c::MP3_Init() to
> >select the 3dnow code.
> >
> >I _guess_ it would be smth like that:
> >
> >--- sr1.c (revision 18792)
> >+++ sr1.c (working copy)
> >@@ -430,7 +430,7 @@
> > if (gCpuCaps.has3DNow)
> > {
> > dct36_func = dct36_3dnow;
> >- dct64_MMX_func = dct64_MMX_3dnow;
> >+ dct64_MMX_func = dct64_MMX_3dnowex;
> > mp_msg(MSGT_DECAUDIO,MSGL_V,"mp3lib: using 3DNow! optimized
> >decore!\n");
> > }
> > else
>
> dct_MMX_3dnowex will raise SIGILL on a K6. For a K6-III+, changes
> should be made as
>
> if (gCpuCaps.has3DNowExt)
> {
> dct36_func=dct36_3dnowex;
> - dct64_MMX_func= (gCpuCaps.hasMMX2) ? dct64_MMX_3dnowex :
> dct64_MMX_3dnow;
> + dct64_MMX_func=dct64_MMX_3dnowex;
> mp_msg(MSGT_DECAUDIO,MSGL_V,"mp3lib: using 3DNow!Ex optimized
> decore!\n");
> }
It seems to work on my K6-III. I played an MP3 file without problems.
Any clever ideas how to integrate this?
Diego
More information about the MPlayer-dev-eng
mailing list