diff -Naur xine-lib-1-rc8.orig/src/video_out/vidix/drivers/pm3_vid.c xine-lib-1-rc8/src/video_out/vidix/drivers/pm3_vid.c
--- xine-lib-1-rc8.orig/src/video_out/vidix/drivers/pm3_vid.c	2004-12-26 17:40:42.214848720 +0100
+++ xine-lib-1-rc8/src/video_out/vidix/drivers/pm3_vid.c	2004-12-26 17:41:01.375935792 +0100
@@ -51,7 +51,7 @@
 
 static pciinfo_t pci_info;
 
-static void *pm3_reg_base;
+void *pm3_reg_base;
 static void *pm3_mem;
 
 static int pm3_vidmem = PM3_VIDMEM;
diff -Naur xine-lib-1-rc8/src.orig/libffmpeg/libavcodec/i386/dsputil_mmx.c xine-lib-1-rc8/src/libffmpeg/libavcodec/i386/dsputil_mmx.c
--- xine-lib-1-rc8/src.orig/libffmpeg/libavcodec/i386/dsputil_mmx.c	2004-05-30 21:24:23.000000000 +0200
+++ xine-lib-1-rc8/src/libffmpeg/libavcodec/i386/dsputil_mmx.c	2004-12-26 17:49:45.614239456 +0100
@@ -648,17 +648,19 @@
         "movd %%mm5, %1			\n\t"
         "movd %%mm3, %2			\n\t"
         "punpckhdq %%mm3, %%mm3		\n\t"
-        "movd %%mm3, %3			\n\t"
-        "movd %%mm1, %4			\n\t"
-        "punpckhdq %%mm1, %%mm1		\n\t"
-        "movd %%mm1, %5			\n\t"
-        "movd %%mm6, %6			\n\t"
-        "punpckhdq %%mm6, %%mm6		\n\t"
-        "movd %%mm6, %7			\n\t"
         : "=m" (*(uint32_t*)(src + 0*stride)),
           "=m" (*(uint32_t*)(src + 1*stride)),
-          "=m" (*(uint32_t*)(src + 2*stride)),
-          "=m" (*(uint32_t*)(src + 3*stride)),
+          "=m" (*(uint32_t*)(src + 2*stride))
+    );
+    asm volatile(
+        "movd %%mm3, %0			\n\t"
+        "movd %%mm1, %1			\n\t"
+        "punpckhdq %%mm1, %%mm1		\n\t"
+        "movd %%mm1, %2			\n\t"
+        "movd %%mm6, %3			\n\t"
+        "punpckhdq %%mm6, %%mm6		\n\t"
+        "movd %%mm6, %4			\n\t"
+        : "=m" (*(uint32_t*)(src + 3*stride)),
           "=m" (*(uint32_t*)(src + 4*stride)),
           "=m" (*(uint32_t*)(src + 5*stride)),
           "=m" (*(uint32_t*)(src + 6*stride)),

