summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2008-06-20 13:24:29 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2008-06-20 13:24:29 +0000
commit8102023d0bb21deaff27b1931d8ecc78ea709ed3 (patch)
tree93200bd698975ffdc1fd95bf3edbb929ca24c701
parentdebbed3bff170171fb62938067259d931a041222 (diff)
downloadgst-plugins-bad-8102023d0bb21deaff27b1931d8ecc78ea709ed3.tar.gz
gst-plugins-bad-8102023d0bb21deaff27b1931d8ecc78ea709ed3.tar.bz2
gst-plugins-bad-8102023d0bb21deaff27b1931d8ecc78ea709ed3.zip
Fix compilation on generic x86/amd64 and include deinterlace2 in the build system. Because of several bugs it's still...
Original commit message from CVS: * configure.ac: * gst/deinterlace2/Makefile.am: * gst/deinterlace2/tvtime/greedyh.asm: * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc: Fix compilation on generic x86/amd64 and include deinterlace2 in the build system. Because of several bugs it's still enabled only by --enable-experimental.
-rw-r--r--ChangeLog10
-rw-r--r--configure.ac20
-rw-r--r--gst/deinterlace2/Makefile.am2
-rw-r--r--gst/deinterlace2/tvtime/greedyh.asm3
-rw-r--r--gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc3
5 files changed, 35 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 96c7b3e0..fab02dc1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2008-06-20 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * configure.ac:
+ * gst/deinterlace2/Makefile.am:
+ * gst/deinterlace2/tvtime/greedyh.asm:
+ * gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc:
+ Fix compilation on generic x86/amd64 and include deinterlace2 in the
+ build system. Because of several bugs it's still enabled only
+ by --enable-experimental.
+
2008-06-20 Jan Schmidt <jan.schmidt@sun.com>
* ext/resindvd/resindvdsrc.c:
diff --git a/configure.ac b/configure.ac
index 39f64ea2..feafc232 100644
--- a/configure.ac
+++ b/configure.ac
@@ -141,6 +141,16 @@ dnl *** checks for types/defines ***
dnl *** checks for structures ***
dnl *** checks for compiler characteristics ***
+dnl check if we have GCC inline-asm
+AS_GCC_INLINE_ASSEMBLY([HAVE_GCC_ASM=yes], [HAVE_GCC_ASM=no])
+if test x$HAVE_GCC_ASM = xyes ; then
+ AC_DEFINE(HAVE_GCC_ASM, 1,
+ [Define if compiler supports gcc inline assembly])
+else
+ AC_MSG_WARN([Not building deinterlace2 plugin, needs GCC inline assembly for now])
+ AG_GST_DISABLE_PLUGIN(deinterlace2)
+fi
+AM_CONDITIONAL(HAVE_GCC_ASM, test "x$HAVE_GCC_ASM" = "xyes")
dnl *** checks for library functions ***
@@ -234,6 +244,7 @@ AG_GST_CHECK_PLUGIN(app)
AG_GST_CHECK_PLUGIN(bayer)
AG_GST_CHECK_PLUGIN(cdxaparse)
AG_GST_CHECK_PLUGIN(deinterlace)
+AG_GST_CHECK_PLUGIN(deinterlace2)
AG_GST_CHECK_PLUGIN(dvdspu)
AG_GST_CHECK_PLUGIN(festival)
AG_GST_CHECK_PLUGIN(filter)
@@ -276,6 +287,14 @@ dnl real plugin only works on i386 and x86_64 for the time being.
if test "x$HAVE_CPU_I386" != "xyes" && test "x$HAVE_CPU_X86_64" != "xyes"; then
AC_MSG_WARN([Not building real plugin, only works on 32bit and 64bit x86 platforms])
AG_GST_DISABLE_PLUGIN(real)
+
+ AC_MSG_WARN([Not building deinterlace2 plugin, only works on 32bit and 64bit x86 platforms for now])
+ AG_GST_DISABLE_PLUGIN(deinterlace2)
+fi
+
+dnl disable experimental plug-ins
+if test "x$BUILD_EXPERIMENTAL" != "xyes"; then
+ AG_GST_DISABLE_PLUGIN(deinterlace2)
fi
dnl disable gst plugins we might not be able to build on this
@@ -1185,6 +1204,7 @@ gst/app/Makefile
gst/bayer/Makefile
gst/cdxaparse/Makefile
gst/deinterlace/Makefile
+gst/deinterlace2/Makefile
gst/dvdspu/Makefile
gst/festival/Makefile
gst/filter/Makefile
diff --git a/gst/deinterlace2/Makefile.am b/gst/deinterlace2/Makefile.am
index 7d625f73..1af5a910 100644
--- a/gst/deinterlace2/Makefile.am
+++ b/gst/deinterlace2/Makefile.am
@@ -28,7 +28,7 @@ libgstdeinterlace2_la_SOURCES = \
tvtime/tomsmocomp/WierdBob.inc
libgstdeinterlace2_la_CFLAGS = $(GST_CFLAGS) \
- $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(LIBOIL_CFLAGS) -march=athlon-xp
+ $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(LIBOIL_CFLAGS) -DHAVE_MMX -DHAVE_SSE
libgstdeinterlace2_la_LIBADD = $(GST_LIBS) \
$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) $(GST_BASE_LIBS) $(LIBOIL_LIBS)
libgstdeinterlace2_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
diff --git a/gst/deinterlace2/tvtime/greedyh.asm b/gst/deinterlace2/tvtime/greedyh.asm
index 92ad1fe1..8fd0ab66 100644
--- a/gst/deinterlace2/tvtime/greedyh.asm
+++ b/gst/deinterlace2/tvtime/greedyh.asm
@@ -282,7 +282,8 @@ void FUNCT_NAME( GstDeinterlace2 *object)
#ifdef HAVE_CPU_I386
"st", "st(1)", "st(2)", "st(3)", "st(4)", "st(5)", "st(6)", "st(7)",
#endif
- "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7",
+ /* FIXME: breaks unless compiling with -mmmx
+ "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7", */
"memory", "cc"
);
diff --git a/gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc b/gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc
index 4b64b52d..e65a2131 100644
--- a/gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc
+++ b/gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc
@@ -101,7 +101,8 @@
#ifdef ARCH_386
"st", "st(1)", "st(2)", "st(3)", "st(4)", "st(5)", "st(6)", "st(7)",
#endif
- "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7",
+ /* FIXME: breaks unless compiling with -mmmx
+ "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7", */
"memory", "cc"
);