Here is a patch to make some of the MMX optimizations available on
x86_64 as well. I have extracted it from the MPlayer local patch set.
Please apply.
Diego
Index: idct_mmx.c
===================================================================
--- idct_mmx.c (revision 1152)
+++ idct_mmx.c (working copy)
@@ -23,7 +23,7 @@
#include "config.h"
-#ifdef ARCH_X86
+#if defined(ARCH_X86) || defined(ARCH_X86_64)
#include <inttypes.h>
Index: motion_comp_mmx.c
===================================================================
--- motion_comp_mmx.c (revision 1152)
+++ motion_comp_mmx.c (working copy)
@@ -23,7 +23,7 @@
#include "config.h"
-#ifdef ARCH_X86
+#if defined(ARCH_X86) || defined(ARCH_X86_64)
#include <inttypes.h>
Index: cpu_accel.c
===================================================================
--- cpu_accel.c (revision 1152)
+++ cpu_accel.c (working copy)
@@ -29,7 +29,7 @@
#include "attributes.h"
#include "mpeg2_internal.h"
-#ifdef ARCH_X86
+#if defined(ARCH_X86) || defined(ARCH_X86_64)
static inline uint32_t arch_accel (uint32_t accel)
{
if (accel & (MPEG2_ACCEL_X86_3DNOW | MPEG2_ACCEL_X86_MMXEXT))
@@ -125,7 +125,7 @@
return accel;
}
-#endif /* ARCH_X86 */
+#endif /* ARCH_X86 || ARCH_X86_64 */
#if defined(ACCEL_DETECT) && (defined(ARCH_PPC) || defined(ARCH_SPARC))
#include <signal.h>
@@ -253,7 +253,7 @@
uint32_t mpeg2_detect_accel (uint32_t accel)
{
-#if defined (ARCH_X86) || defined (ARCH_PPC) || defined (ARCH_ALPHA) || defined (ARCH_SPARC)
+#if defined (ARCH_X86) || defined (ARCH_X86_64) || defined (ARCH_PPC) || defined (ARCH_ALPHA) || defined (ARCH_SPARC)
accel = arch_accel (accel);
#endif
return accel;
Index: cpu_state.c
===================================================================
--- cpu_state.c (revision 1152)
+++ cpu_state.c (working copy)
@@ -29,14 +29,14 @@
#include "mpeg2.h"
#include "attributes.h"
#include "mpeg2_internal.h"
-#ifdef ARCH_X86
+#if defined(ARCH_X86) || defined(ARCH_X86_64)
#include "mmx.h"
#endif
void (* mpeg2_cpu_state_save) (cpu_state_t * state) = NULL;
void (* mpeg2_cpu_state_restore) (cpu_state_t * state) = NULL;
-#ifdef ARCH_X86
+#if defined(ARCH_X86) || defined(ARCH_X86_64)
static void state_restore_mmx (cpu_state_t * state)
{
emms ();
@@ -115,7 +115,7 @@
void mpeg2_cpu_state_init (uint32_t accel)
{
-#ifdef ARCH_X86
+#if defined(ARCH_X86) || defined(ARCH_X86_64)
if (accel & MPEG2_ACCEL_X86_MMX) {
mpeg2_cpu_state_restore = state_restore_mmx;
}
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Libmpeg2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmpeg2-devel