[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