diff -Naurp gst-plugins-good-0.10.25.orig/common/m4/gst-arch.m4 gst-plugins-good-0.10.25/common/m4/gst-arch.m4
--- gst-plugins-good-0.10.25.orig/common/m4/gst-arch.m4	2010-05-13 20:40:31.000000000 -0400
+++ gst-plugins-good-0.10.25/common/m4/gst-arch.m4	2010-11-30 09:54:54.000000000 -0500
@@ -1,105 +1,3 @@
-dnl AG_GST_ARCH
-dnl sets up defines and automake conditionals for host architecture
-dnl checks endianness
-dnl defines HOST_CPU
-
-AC_DEFUN([AG_GST_ARCH],
-[
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use host_ variables
-
-  dnl Determine CPU
-  case "x${host_cpu}" in
-    xi?86 | xk? | xi?86_64)
-      case $host_os in
-         solaris*)
-            AC_CHECK_DECL([__i386],	[I386_ABI="yes"], [I386_ABI="no"])
-            AC_CHECK_DECL([__amd64], [AMD64_ABI="yes"], [AMD64_ABI="no"])
-
-            if test "x$I386_ABI" = "xyes" ; then
-               HAVE_CPU_I386=yes
-               AC_DEFINE(HAVE_CPU_I386, 1, [Define if the host CPU is an x86])
-            fi
-            if test "x$AMD64_ABI" = "xyes" ; then
-                HAVE_CPU_X86_64=yes
-                AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the host CPU is a x86_64])
-            fi
-            ;;
-         *)
-            HAVE_CPU_I386=yes
-            AC_DEFINE(HAVE_CPU_I386, 1, [Define if the host CPU is an x86])
-
-            dnl FIXME could use some better detection
-            dnl (ie CPUID)
-            case "x${host_cpu}" in
-              xi386 | xi486) ;;
-            *)
-              AC_DEFINE(HAVE_RDTSC, 1, [Define if RDTSC is available]) ;;
-            esac
-            ;;
-      esac
-      ;;
-    xpowerpc)
-      HAVE_CPU_PPC=yes
-      AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the host CPU is a PowerPC]) ;;
-    xpowerpc64)
-      HAVE_CPU_PPC64=yes
-      AC_DEFINE(HAVE_CPU_PPC64, 1, [Define if the host CPU is a 64 bit PowerPC]) ;;
-    xalpha*)
-      HAVE_CPU_ALPHA=yes
-      AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the host CPU is an Alpha]) ;;
-    xarm*)
-      HAVE_CPU_ARM=yes
-      AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the host CPU is an ARM]) ;;
-    xsparc*)
-      HAVE_CPU_SPARC=yes
-      AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the host CPU is a SPARC]) ;;
-    xmips*)
-      HAVE_CPU_MIPS=yes
-      AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the host CPU is a MIPS]) ;;
-    xhppa*)
-      HAVE_CPU_HPPA=yes
-      AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the host CPU is a HPPA]) ;;
-    xs390*)
-      HAVE_CPU_S390=yes
-      AC_DEFINE(HAVE_CPU_S390, 1, [Define if the host CPU is a S390]) ;;
-    xia64*)
-      HAVE_CPU_IA64=yes
-      AC_DEFINE(HAVE_CPU_IA64, 1, [Define if the host CPU is a IA64]) ;;
-    xm68k*)
-      HAVE_CPU_M68K=yes
-      AC_DEFINE(HAVE_CPU_M68K, 1, [Define if the host CPU is a M68K]) ;;
-    xx86_64)
-      HAVE_CPU_X86_64=yes
-      AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the host CPU is a x86_64]) ;;
-    xcris)
-      HAVE_CPU_CRIS=yes
-      AC_DEFINE(HAVE_CPU_CRIS, 1, [Define if the host CPU is a CRIS]) ;;
-    xcrisv32)
-      HAVE_CPU_CRISV32=yes
-      AC_DEFINE(HAVE_CPU_CRISV32, 1, [Define if the host CPU is a CRISv32]) ;;
-  esac
-
-  dnl Determine endianness
-  AC_C_BIGENDIAN
-
-  AM_CONDITIONAL(HAVE_CPU_I386,       test "x$HAVE_CPU_I386" = "xyes")
-  AM_CONDITIONAL(HAVE_CPU_PPC,        test "x$HAVE_CPU_PPC" = "xyes")
-  AM_CONDITIONAL(HAVE_CPU_PPC64,      test "x$HAVE_CPU_PPC64" = "xyes")
-  AM_CONDITIONAL(HAVE_CPU_ALPHA,      test "x$HAVE_CPU_ALPHA" = "xyes")
-  AM_CONDITIONAL(HAVE_CPU_ARM,        test "x$HAVE_CPU_ARM" = "xyes")
-  AM_CONDITIONAL(HAVE_CPU_SPARC,      test "x$HAVE_CPU_SPARC" = "xyes")
-  AM_CONDITIONAL(HAVE_CPU_HPPA,       test "x$HAVE_CPU_HPPA" = "xyes")
-  AM_CONDITIONAL(HAVE_CPU_MIPS,       test "x$HAVE_CPU_MIPS" = "xyes")
-  AM_CONDITIONAL(HAVE_CPU_S390,       test "x$HAVE_CPU_S390" = "xyes")
-  AM_CONDITIONAL(HAVE_CPU_IA64,       test "x$HAVE_CPU_IA64" = "xyes")
-  AM_CONDITIONAL(HAVE_CPU_M68K,       test "x$HAVE_CPU_M68K" = "xyes")
-  AM_CONDITIONAL(HAVE_CPU_X86_64,     test "x$HAVE_CPU_X86_64" = "xyes")
-  AM_CONDITIONAL(HAVE_CPU_CRIS,       test "x$HAVE_CPU_CRIS" = "xyes")
-  AM_CONDITIONAL(HAVE_CPU_CRISV32,    test "x$HAVE_CPU_CRISV32" = "xyes")
-
-  AC_DEFINE_UNQUOTED(HOST_CPU, "$host_cpu", [the host CPU])
-])
-
 dnl check if unaligned memory access works correctly
 AC_DEFUN([AG_GST_UNALIGNED_ACCESS], [
   AC_MSG_CHECKING([if unaligned memory access works correctly])
diff -Naurp gst-plugins-good-0.10.25.orig/configure.ac gst-plugins-good-0.10.25/configure.ac
--- gst-plugins-good-0.10.25.orig/configure.ac	2010-09-02 14:22:47.000000000 -0400
+++ gst-plugins-good-0.10.25/configure.ac	2010-11-30 09:56:01.000000000 -0500
@@ -92,10 +92,6 @@ dnl *** checks for platform ***
 
 dnl * hardware/architecture *
 
-dnl common/m4/gst-arch.m4
-dnl check CPU type
-AG_GST_ARCH
-
 dnl Determine endianness
 AC_C_BIGENDIAN
 
@@ -1187,7 +1183,6 @@ sed \
     -e 's/.* GST_MAJORMINOR$/#define GST_MAJORMINOR "'$GST_MAJORMINOR'"/' \
     -e "s,.* GST_PACKAGE_NAME$,#define GST_PACKAGE_NAME \"${GST_PACKAGE_NAME}\"," \
     -e 's/.* GST_PACKAGE_ORIGIN$/#define GST_PACKAGE_ORIGIN "Unknown package origin"/' \
-    -e 's/.* HAVE_CPU_I386$/#define HAVE_CPU_I386 1/' \
     -e 's/.* HAVE_FGETPOS$/#define HAVE_FGETPOS 1/' \
     -e 's/.* HAVE_FSETPOS$/#define HAVE_FSETPOS 1/' \
     -e 's/.* HAVE_LIBXML2$/#define HAVE_LIBXML2 1/' \
@@ -1198,7 +1193,6 @@ sed \
     -e 's/.* HAVE_SYS_TYPES_H$/#define HAVE_SYS_TYPES_H 1/' \
     -e 's/.* HAVE_WIN32$/#define HAVE_WIN32 1/' \
     -e 's/.* HAVE_WINSOCK2_H$/#define HAVE_WINSOCK2_H 1/' \
-    -e 's/.* HOST_CPU$/#define HOST_CPU "i686"/' \
     -e 's/.* LIBDIR$/#ifdef _DEBUG\n#  define LIBDIR PREFIX "\\\\debug\\\\lib"\n#else\n#  define LIBDIR PREFIX "\\\\lib"\n#endif/' \
     -e 's/.* LOCALEDIR$/#define LOCALEDIR PREFIX "\\\\share\\\\locale"/' \
     -e "s/.* PACKAGE$/#define PACKAGE \"$PACKAGE\"/" \
diff -Naurp gst-plugins-good-0.10.25.orig/gst/deinterlace/gstdeinterlacemethod.h gst-plugins-good-0.10.25/gst/deinterlace/gstdeinterlacemethod.h
--- gst-plugins-good-0.10.25.orig/gst/deinterlace/gstdeinterlacemethod.h	2010-07-05 06:12:48.000000000 -0400
+++ gst-plugins-good-0.10.25/gst/deinterlace/gstdeinterlacemethod.h	2010-11-30 09:57:18.000000000 -0500
@@ -25,7 +25,7 @@
 #include <gst/video/video.h>
 
 #if defined(HAVE_GCC_ASM) && defined(HAVE_ORC)
-#if defined(HAVE_CPU_I386) || defined(HAVE_CPU_X86_64)
+#ifdef __i386__
 #define BUILD_X86_ASM
 #endif
 #endif
diff -Naurp gst-plugins-good-0.10.25.orig/gst/deinterlace/tvtime/x86-64_macros.inc gst-plugins-good-0.10.25/gst/deinterlace/tvtime/x86-64_macros.inc
--- gst-plugins-good-0.10.25.orig/gst/deinterlace/tvtime/x86-64_macros.inc	2009-08-10 18:15:55.000000000 -0400
+++ gst-plugins-good-0.10.25/gst/deinterlace/tvtime/x86-64_macros.inc	2010-11-30 09:58:55.000000000 -0500
@@ -29,33 +29,9 @@
  * Original author: Achim Schneider <batchall@mordor.ch>
  */
 
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
 #ifndef XAX
 
-#if defined (HAVE_CPU_I386) && !defined(HAVE_CPU_X86_64)
-
-#define XAX   "eax"
-#define XBX   "ebx"
-#define XCX   "ecx"
-#define XDX   "edx"
-#define XSI   "esi"
-#define XDI   "edi"
-#define XSP   "esp"
-#define MOVX  "movl"
-#define LEAX  "leal"
-#define DECX  "decl"
-#define PUSHX "pushl"
-#define POPX  "popl"
-#define CMPX  "cmpl"
-#define ADDX  "addl"
-#define SHLX  "shll"
-#define SHRX  "shrl"
-#define SUBX  "subl"
-
-#elif defined (HAVE_CPU_X86_64)
+#if defined (__x86_64__)
 
 #define XAX   "rax"
 #define XBX   "rbx"
@@ -75,8 +51,28 @@
 #define SHRX  "shrq"
 #define SUBX  "subq"
 
+#elif defined(__i386__)
+
+#define XAX   "eax"
+#define XBX   "ebx"
+#define XCX   "ecx"
+#define XDX   "edx"
+#define XSI   "esi"
+#define XDI   "edi"
+#define XSP   "esp"
+#define MOVX  "movl"
+#define LEAX  "leal"
+#define DECX  "decl"
+#define PUSHX "pushl"
+#define POPX  "popl"
+#define CMPX  "cmpl"
+#define ADDX  "addl"
+#define SHLX  "shll"
+#define SHRX  "shrl"
+#define SUBX  "subl"
+
 #else
-#error Undefined architecture. Define either ARCH_X86 or ARCH_X86_64.
+#error Undefined architecture.  Neither __i386__ nor __x86_64__ defined.
 #endif
 
 #endif
diff -Naurp gst-plugins-good-0.10.25.orig/gst/goom/Makefile.am gst-plugins-good-0.10.25/gst/goom/Makefile.am
--- gst-plugins-good-0.10.25.orig/gst/goom/Makefile.am	2010-07-05 06:12:48.000000000 -0400
+++ gst-plugins-good-0.10.25/gst/goom/Makefile.am	2010-11-30 10:00:46.000000000 -0500
@@ -4,20 +4,9 @@ plugin_LTLIBRARIES = libgstgoom.la
 PPC_FILES=ppc_zoom_ultimate.s ppc_drawings.s ppc_drawings.h ppc_zoom_ultimate.h
 MMX_FILES=mmx.c xmmx.c mmx.h xmmx.h
 
-if HAVE_CPU_PPC
 # disable until someone figures out how to build these correctly on ppc
-#ARCH_FILES = $(PPC_FILES)
-ARCH_FILES =
-endif
-if HAVE_CPU_PPC64
-# disable until someone figures out how to build these correctly on ppc
-#ARCH_FILES = $(PPC_FILES)
-ARCH_FILES =
-endif
-if HAVE_CPU_I386
-ARCH_FILES = $(MMX_FILES)
-ARCH_CFLAGS = -DBUILD_MMX
-endif
+ARCH_FILES = $(MMX_FILES)
+#ARCH_FILES += $(PPC_FILES)
 				
 libgstgoom_la_SOURCES =						\
 	gstgoom.c gstgoom.h					\
diff -Naurp gst-plugins-good-0.10.25.orig/gst/goom/convolve_fx.c gst-plugins-good-0.10.25/gst/goom/convolve_fx.c
--- gst-plugins-good-0.10.25.orig/gst/goom/convolve_fx.c	2010-05-13 20:40:16.000000000 -0400
+++ gst-plugins-good-0.10.25/gst/goom/convolve_fx.c	2010-11-30 10:03:49.000000000 -0500
@@ -189,7 +189,7 @@ create_output_with_brightness (VisualFX 
     ytex = yprime + yi + CONV_MOTIF_W * 0x10000 / 2;
     yprime += c;
 
-#ifdef HAVE_MMX
+#ifdef __MMX__
     __asm__ __volatile__ ("\n\t pxor  %%mm7,  %%mm7"    /* mm7 = 0   */
         "\n\t movd %[xtex],  %%mm2" "\n\t movd %[ytex],  %%mm3" "\n\t punpckldq %%mm3, %%mm2"   /* mm2 = [ ytex | xtex ] */
         "\n\t movd %[c],     %%mm4" "\n\t movd %[s],     %%mm6" "\n\t pxor  %%mm5,   %%mm5" "\n\t psubd %%mm6,   %%mm5" "\n\t punpckldq %%mm5, %%mm4"   /* mm4 = [ -s | c ]      */
@@ -259,7 +259,7 @@ create_output_with_brightness (VisualFX 
     }
 #endif
   }
-#ifdef HAVE_MMX
+#ifdef __MMX__
   __asm__ __volatile__ ("\n\t emms");
 #endif
 
diff -Naurp gst-plugins-good-0.10.25.orig/gst/goom/goom_config.h gst-plugins-good-0.10.25/gst/goom/goom_config.h
--- gst-plugins-good-0.10.25.orig/gst/goom/goom_config.h	2010-05-13 20:40:16.000000000 -0400
+++ gst-plugins-good-0.10.25/gst/goom/goom_config.h	2010-11-30 10:05:26.000000000 -0500
@@ -38,8 +38,3 @@
     #define ALPHA 0
 #endif
 
-#if defined (BUILD_MMX) && defined (HAVE_GCC_ASM)
-
-#define HAVE_MMX
-#endif
-
diff -Naurp gst-plugins-good-0.10.25.orig/gst/goom/ifs.c gst-plugins-good-0.10.25/gst/goom/ifs.c
--- gst-plugins-good-0.10.25.orig/gst/goom/ifs.c	2010-05-13 20:40:16.000000000 -0400
+++ gst-plugins-good-0.10.25/gst/goom/ifs.c	2010-11-30 10:03:49.000000000 -0500
@@ -37,7 +37,7 @@
 
 #include "goom_config.h"
 
-#ifdef HAVE_MMX
+#ifdef __MMX__
 #include "mmx.h"
 #endif
 
@@ -509,7 +509,7 @@ ifs_update (PluginInfo * goomInfo, Pixel
   points = draw_ifs (goomInfo, &nbpt, fx_data);
   nbpt--;
 
-#ifdef HAVE_MMX
+#ifdef __MMX__
   movd_m2r (couleursl, mm1);
   punpckldq_r2r (mm1, mm1);
   for (i = 0; i < nbpt; i += increment) {
diff -Naurp gst-plugins-good-0.10.25.orig/gst/goom/mathtools.h gst-plugins-good-0.10.25/gst/goom/mathtools.h
--- gst-plugins-good-0.10.25.orig/gst/goom/mathtools.h	2010-05-13 20:40:16.000000000 -0400
+++ gst-plugins-good-0.10.25/gst/goom/mathtools.h	2010-11-30 10:03:49.000000000 -0500
@@ -38,7 +38,7 @@
 #endif /* BigEndian_ */
 
 /* TODO: this optimization is very efficient: put it again when all works
-#ifdef HAVE_MMX
+#ifdef __MMX__
 #define F2I(dbl,i) {double d = dbl + _double2fixmagic; i = ((int*)&d)[iman_] >> _shiftamt;}
 #else*/
 #define F2I(dbl,i) i=(int)dbl;
diff -Naurp gst-plugins-good-0.10.25.orig/gst/goom/mmx.c gst-plugins-good-0.10.25/gst/goom/mmx.c
--- gst-plugins-good-0.10.25.orig/gst/goom/mmx.c	2010-01-26 21:07:25.000000000 -0500
+++ gst-plugins-good-0.10.25/gst/goom/mmx.c	2010-11-30 10:03:49.000000000 -0500
@@ -24,14 +24,14 @@
 	  I'll undefine BROKEN_PAND by default.
 */
 
+#if defined(__MMX__) && !defined(__x86_64__)
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 
 #include "goom_config.h"
 
-#ifdef HAVE_MMX
-
 #define BUFFPOINTNB 16
 #define BUFFPOINTMASK 0xffff
 #define BUFFINCR 0xff
@@ -288,4 +288,4 @@ mmx_supported (void)
 {
   return (0);
 }
-#endif /* HAVE_MMX */
+#endif /* __MMX__ */
diff -Naurp gst-plugins-good-0.10.25.orig/gst/goom/plugin_info.c gst-plugins-good-0.10.25/gst/goom/plugin_info.c
--- gst-plugins-good-0.10.25.orig/gst/goom/plugin_info.c	2010-07-05 06:12:48.000000000 -0400
+++ gst-plugins-good-0.10.25/gst/goom/plugin_info.c	2010-11-30 10:09:16.000000000 -0500
@@ -34,17 +34,17 @@
 #endif
 
 
-#if defined (HAVE_CPU_PPC64) || defined (HAVE_CPU_PPC)
+#if defined (__ppc__) || defined(__ppc64__)
 #include <sys/types.h>
 #include <sys/sysctl.h>
 #include "ppc_zoom_ultimate.h"
 #include "ppc_drawings.h"
-#endif /* HAVE_CPU_PPC64 || HAVE_CPU_PPC */
+#endif /* __ppc__ || __ppc64__ */
 
 
-#ifdef HAVE_MMX
+#if defined(__MMX__) && !defined(__x86_64__)
 #include "mmx.h"
-#endif /* HAVE_MMX */
+#endif /* __MMX__ */
 
 #include <string.h>
 
@@ -68,9 +68,7 @@ setOptimizedMethods (PluginInfo * p)
 
   GST_INFO ("orc cpu flags: 0x%08x", cpuFlavour);
 
-/* FIXME: what about HAVE_CPU_X86_64 ? */
-#ifdef HAVE_CPU_I386
-#ifdef HAVE_MMX
+#if defined(__MMX__) && !defined(__x86_64__)
 #ifdef HAVE_ORC
   GST_INFO ("have an x86");
   if (cpuFlavour & ORC_TARGET_MMX_MMXEXT) {
@@ -86,19 +84,18 @@ setOptimizedMethods (PluginInfo * p)
   }
 #endif
 #endif
-#endif /* HAVE_CPU_I386 */
 
 /* disable all PPC stuff until someone finds out what to use here instead of
  * CPU_OPTION_64_BITS, and until someone fixes the assembly build for ppc */
 #if 0
-#ifdef HAVE_CPU_PPC64
+#ifdef __pcc64__
   if ((cpuFlavour & CPU_OPTION_64_BITS) != 0) {
 /*            p->methods.create_output_with_brightness = ppc_brightness_G5;        */
     p->methods.zoom_filter = ppc_zoom_generic;
   }
-#endif /* HAVE_CPU_PPC64 */
+#endif /* __ppc64__ */
 
-#ifdef HAVE_CPU_PPC
+#ifdef __ALTIVEC__
   if ((cpuFlavour & ORC_TARGET_ALTIVEC_ALTIVEC) != 0) {
 /*            p->methods.create_output_with_brightness = ppc_brightness_G4;        */
     p->methods.zoom_filter = ppc_zoom_G4;
@@ -106,7 +103,7 @@ setOptimizedMethods (PluginInfo * p)
 /*            p->methods.create_output_with_brightness = ppc_brightness_generic;*/
     p->methods.zoom_filter = ppc_zoom_generic;
   }
-#endif /* HAVE_CPU_PPC */
+#endif /* __ALTIVEC__ */
 #endif
 
   cpuFlavour = 0;               /* trick compiler into thinking variable is used */
diff -Naurp gst-plugins-good-0.10.25.orig/gst/goom/xmmx.c gst-plugins-good-0.10.25/gst/goom/xmmx.c
--- gst-plugins-good-0.10.25.orig/gst/goom/xmmx.c	2010-05-13 20:40:16.000000000 -0400
+++ gst-plugins-good-0.10.25/gst/goom/xmmx.c	2010-11-30 10:03:49.000000000 -0500
@@ -24,14 +24,15 @@
 	It appears that the latest gas has the pand problem fixed, therefore
 	  I'll undefine BROKEN_PAND by default.
 */
+
+#if defined(__MMX__) && !defined(__x86_64__)
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 
 #include "goom_config.h"
 
-#ifdef HAVE_MMX
-
 /* a definir pour avoir exactement le meme resultat que la fonction C
  * (un chouillat plus lent).. mais la difference est assez peu notable.
  */
