From 8102023d0bb21deaff27b1931d8ecc78ea709ed3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 20 Jun 2008 13:24:29 +0000 Subject: 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. --- ChangeLog | 10 ++++++++++ configure.ac | 20 ++++++++++++++++++++ gst/deinterlace2/Makefile.am | 2 +- gst/deinterlace2/tvtime/greedyh.asm | 3 ++- .../tvtime/tomsmocomp/SearchLoopBottom.inc | 3 ++- 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 + + * 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 * 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" ); -- cgit v1.2.1