summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Kurshev <nickols_k@mail.ru>2002-01-20 14:30:34 +0000
committerNick Kurshev <nickols_k@mail.ru>2002-01-20 14:30:34 +0000
commit4bdd9157cc0b06c7001cb93e5cdd6304306253c4 (patch)
treef5a70482128319b191e051a8b5cd136705728f7b
parent7f56a527952ebaf0bfcf07e54928f3a1b2a3148b (diff)
Cygwin's mangling by Felix Buenemann <atmosfear@users.sourceforge.net>
Originally committed as revision 273 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/common.h2
-rw-r--r--libavcodec/i386/simple_idct_mmx.c9
-rw-r--r--libavcodec/mangle.h2
-rw-r--r--mangle.h18
4 files changed, 26 insertions, 5 deletions
diff --git a/libavcodec/common.h b/libavcodec/common.h
index 1ecc49b662..f359216170 100644
--- a/libavcodec/common.h
+++ b/libavcodec/common.h
@@ -4,7 +4,7 @@
#define FFMPEG_VERSION_INT 0x000406
#define FFMPEG_VERSION "0.4.6"
-#if defined(WIN32) && !defined(__MINGW32__)
+#if defined(WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__)
#define CONFIG_WIN32
#endif
diff --git a/libavcodec/i386/simple_idct_mmx.c b/libavcodec/i386/simple_idct_mmx.c
index 80ca2df2a2..163097d4a9 100644
--- a/libavcodec/i386/simple_idct_mmx.c
+++ b/libavcodec/i386/simple_idct_mmx.c
@@ -18,6 +18,7 @@
#include <inttypes.h>
#include "../dsputil.h"
+#include "../mangle.h"
#define C0 23170 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
#define C1 22725 //cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5
@@ -345,7 +346,7 @@ static inline void idct(int16_t *block)
"movq " #src4 ", %%mm1 \n\t" /* R6 R2 r6 r2 */\
"movq " #src1 ", %%mm2 \n\t" /* R3 R1 r3 r1 */\
"movq " #src5 ", %%mm3 \n\t" /* R7 R5 r7 r5 */\
- "movq wm1010, %%mm4 \n\t"\
+ "movq "MANGLE(wm1010)", %%mm4 \n\t"\
"pand %%mm0, %%mm4 \n\t"\
"por %%mm1, %%mm4 \n\t"\
"por %%mm2, %%mm4 \n\t"\
@@ -419,7 +420,7 @@ static inline void idct(int16_t *block)
"jmp 2f \n\t"\
"1: \n\t"\
"pslld $16, %%mm0 \n\t"\
- "#paddd d40000, %%mm0 \n\t"\
+ "#paddd "MANGLE(d40000)", %%mm0 \n\t"\
"psrad $13, %%mm0 \n\t"\
"packssdw %%mm0, %%mm0 \n\t"\
"movq %%mm0, " #dst " \n\t"\
@@ -453,7 +454,7 @@ COL_IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
"movq " #src4 ", %%mm1 \n\t" /* R6 R2 r6 r2 */\
"movq " #src1 ", %%mm2 \n\t" /* R3 R1 r3 r1 */\
"movq " #src5 ", %%mm3 \n\t" /* R7 R5 r7 r5 */\
- "movq wm1010, %%mm4 \n\t"\
+ "movq "MANGLE(wm1010)", %%mm4 \n\t"\
"pand %%mm0, %%mm4 \n\t"\
"por %%mm1, %%mm4 \n\t"\
"por %%mm2, %%mm4 \n\t"\
@@ -527,7 +528,7 @@ COL_IDCT( 24(%1), 88(%1), 56(%1), 120(%1), 12(%0),/nop, 20)
"jmp 2f \n\t"\
"1: \n\t"\
"pslld $16, %%mm0 \n\t"\
- "paddd d40000, %%mm0 \n\t"\
+ "paddd "MANGLE(d40000)", %%mm0 \n\t"\
"psrad $13, %%mm0 \n\t"\
"packssdw %%mm0, %%mm0 \n\t"\
"movq %%mm0, " #dst " \n\t"\
diff --git a/libavcodec/mangle.h b/libavcodec/mangle.h
new file mode 100644
index 0000000000..8709cd1543
--- /dev/null
+++ b/libavcodec/mangle.h
@@ -0,0 +1,2 @@
+#include "../mangle.h"
+
diff --git a/mangle.h b/mangle.h
new file mode 100644
index 0000000000..df74777746
--- /dev/null
+++ b/mangle.h
@@ -0,0 +1,18 @@
+/* mangle.h - This file has some CPP macros to deal with different symbol
+ * mangling across binary formats.
+ * (c)2002 by Felix Buenemann <atmosfear at users.sourceforge.net>
+ * File licensed under the GPL, see http://www.fsf.org/ for more info.
+ */
+
+#ifndef __MANGLE_H
+#define __MANGLE_H
+
+/* Feel free to add more to the list, eg. a.out IMO */
+#if defined(__CYGWIN__)
+#define MANGLE(a) "_" #a
+#else
+#define MANGLE(a) #a
+#endif
+
+#endif /* !__MANGLE_H */
+