summaryrefslogtreecommitdiffstats
path: root/libvo/aclib.c
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-12 23:17:14 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-12 23:17:14 +0000
commit7a4350e4c14add138b66f2c0c43b2796cf01094c (patch)
treef48fbac27b35728987935063b9c0ef2b6c464b6d /libvo/aclib.c
parent7891bbb9e939df7b9f6267adb4b6950ce5de325a (diff)
downloadmpv-7a4350e4c14add138b66f2c0c43b2796cf01094c.tar.bz2
mpv-7a4350e4c14add138b66f2c0c43b2796cf01094c.tar.xz
mem2agpcpy()
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4682 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/aclib.c')
-rw-r--r--libvo/aclib.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/libvo/aclib.c b/libvo/aclib.c
index a2931739ea..f569f58460 100644
--- a/libvo/aclib.c
+++ b/libvo/aclib.c
@@ -118,4 +118,34 @@ inline void * fast_memcpy(void * to, const void * from, size_t len)
#endif //!RUNTIME_CPUDETECT
}
-#endif /* use fastmemcpy */ \ No newline at end of file
+inline void * mem2agpcpy(void * to, const void * from, size_t len)
+{
+#ifdef RUNTIME_CPUDETECT
+#ifdef CAN_COMPILE_X86_ASM
+ // ordered per speed fasterst first
+ if(gCpuCaps.hasMMX2)
+ mem2agpcpy_MMX2(to, from, len);
+ else if(gCpuCaps.has3DNow)
+ mem2agpcpy_3DNow(to, from, len);
+ else if(gCpuCaps.hasMMX)
+ mem2agpcpy_MMX(to, from, len);
+ else
+#endif //CAN_COMPILE_X86_ASM
+ memcpy(to, from, len); // prior to mmx we use the standart memcpy
+#else
+#ifdef HAVE_MMX2
+ mem2agpcpy_MMX2(to, from, len);
+#elif defined (HAVE_3DNOW)
+ mem2agpcpy_3DNow(to, from, len);
+#elif defined (HAVE_MMX)
+ mem2agpcpy_MMX(to, from, len);
+#else
+ memcpy(to, from, len); // prior to mmx we use the standart memcpy
+#endif
+
+#endif //!RUNTIME_CPUDETECT
+}
+
+
+#endif /* use fastmemcpy */
+