Commit 1dafba77 authored by Gildas Bazin's avatar Gildas Bazin

- Portablility fix: We now control the name to be used in the assembler
    code for a C function or variable.
    GCC for Win32 normally prepends an underscore to the name of a
    C function or variable, and the inline assembler code was using the
    name without the underscore so we had undefined symbols in some
    modules.
- Reenabled all the accelerated modules on Win32.
parent 9db3558c
This diff is collapsed.
......@@ -155,16 +155,8 @@ PLUGINS="${PLUGINS}"
dnl
dnl Accelerated modules
dnl
case x$host_os in
xmingw32msvc)
MMX_MODULES="idctmmx motionmmx"
MMXEXT_MODULES="idctmmxext motionmmxext imdct3dn"
;;
*)
MMX_MODULES="yuvmmx idctmmx motionmmx"
MMXEXT_MODULES="idctmmxext motionmmxext imdct3dn imdctsse downmix3dn downmixsse"
;;
esac
MMX_MODULES="yuvmmx idctmmx motionmmx"
MMXEXT_MODULES="idctmmxext motionmmxext imdct3dn imdctsse downmix3dn downmixsse"
AC_MSG_CHECKING([if \$CC groks MMX inline assembly])
AC_TRY_COMPILE([void quux(){void *p;asm("packuswb %%mm1,%%mm2"::"r"(p));}],,
......
......@@ -2,7 +2,7 @@
* ac3_downmix_3dn.c: accelerated 3D Now! ac3 downmix functions
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: ac3_downmix_3dn.c,v 1.2 2001/06/03 12:47:21 sam Exp $
* $Id: ac3_downmix_3dn.c,v 1.3 2001/07/01 08:49:09 gbazin Exp $
*
* Authors: Renaud Dartus <reno@videolan.org>
*
......@@ -37,6 +37,7 @@
#include "ac3_downmix.h"
void sqrt2_3dn (void) __asm__ ("sqrt2_3dn");
void sqrt2_3dn (void)
{
__asm__ (".float 0f0.7071068");
......
......@@ -2,7 +2,7 @@
* ac3_downmix_sse.c: accelerated SSE ac3 downmix functions
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: ac3_downmix_sse.c,v 1.2 2001/06/03 12:47:21 sam Exp $
* $Id: ac3_downmix_sse.c,v 1.3 2001/07/01 08:49:09 gbazin Exp $
*
* Authors: Renaud Dartus <reno@videolan.org>
* Aaron Holtzman <aholtzma@engr.uvic.ca>
......@@ -38,6 +38,7 @@
#include "ac3_downmix.h"
void sqrt2_sse (void) __asm__ ("sqrt2_sse");
void sqrt2_sse (void)
{
__asm__ (".float 0f0.7071068");
......
......@@ -2,7 +2,7 @@
* ac3_srfft_sse.c: accelerated SSE ac3 fft functions
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: ac3_srfft_sse.c,v 1.2 2001/05/16 14:51:29 reno Exp $
* $Id: ac3_srfft_sse.c,v 1.3 2001/07/01 08:49:09 gbazin Exp $
*
* Authors: Renaud Dartus <reno@videolan.org>
* Aaron Holtzman <aholtzma@engr.uvic.ca>
......@@ -43,8 +43,8 @@
#include "ac3_imdct.h"
#include "ac3_srfft.h"
void hsqrt2_sse (void);
void C_1_sse (void);
void hsqrt2_sse (void) __asm__ ("hsqrt2_sse");
void C_1_sse (void) __asm__ ("C_1_sse");
static void fft_4_sse (complex_t *x);
static void fft_8_sse (complex_t *x);
static void fft_asmb_sse (int k, complex_t *x, complex_t *wTB,
......
......@@ -2,7 +2,7 @@
* transforms_yuvmmx.h: MMX YUV transformation assembly
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: transforms_yuvmmx.h,v 1.4 2001/04/28 03:36:25 sam Exp $
* $Id: transforms_yuvmmx.h,v 1.5 2001/07/01 08:49:09 gbazin Exp $
*
* Authors: Olie Lho <ollie@sis.com.tw>
* Gal Hendryckx <jimmy@via.ecp.fr>
......@@ -26,7 +26,7 @@
/* hope these constant values are cache line aligned */
#define UNUSED_LONGLONG(foo) \
static unsigned long long foo __attribute__((unused))
static unsigned long long foo __asm__ (#foo) __attribute__((unused))
UNUSED_LONGLONG(mmx_80w) = 0x0080008000800080;
UNUSED_LONGLONG(mmx_10w) = 0x1010101010101010;
UNUSED_LONGLONG(mmx_00ffw) = 0x00ff00ff00ff00ff;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment