[MPlayer-dev-eng] [PATCH] Saturation & PSWAPD bugfix in mp3lib/dct64_3dnow.c & mp3lib/dct64_k7.c

Guillaume Poirier gpoirier at mplayerhq.hu
Tue Jun 27 10:36:02 CEST 2006


Guillaume Poirier wrote:
> Diego Biurrun wrote:
> 
>>On Tue, Jun 27, 2006 at 08:01:59AM +0200, Guillaume POIRIER wrote:
>>
>>
>>>On 6/21/06, Zuxy Meng <zuxy.meng at gmail.com> wrote:
>>>
>>>
>>>>2006/6/21, Diego Biurrun <diego at biurrun.de>:
>>>>
>>>>
>>>>>On Wed, Jun 21, 2006 at 08:50:37PM +0800, Zuxy Meng wrote:
>>>>>
>>>>>
>>>>>>In addition, a false dependency of MMX2 in dct64_k7.c is also fixed
>>>>>>(replace pshufw $78 with pswapd) so it can be used on a K6-2/3+.
>>>>>
>>>>>Could you please split this into two different patches?
>>>>>
>>>>
>>>>Sans problèms.
>>>
>>>Both patches applied. I don't have access to any K6, so I couldn't
>>>test if the 2nd patch really works as expected. If it doesn't, please
>>>speak-up.
>>>In theory, it shouldn't even matter for k6 right now, as these
>>>routines aren't used on k6 (but it would be rather trivial to do so).
>>
>>
>>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:
> 
> Index: sr1.c
> ===================================================================
> --- 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
> 
> if it's not the case, then you'll see it quickly (it'll just crash)

Woops... Wrong!

It's more likely to be this change:

Index: sr1.c
===================================================================
--- sr1.c       (revision 18792)
+++ sr1.c       (working copy)
@@ -423,7 +423,7 @@
     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");
     }
     else



More information about the MPlayer-dev-eng mailing list