From 2af2550175ced5cf5f4e8a3cd37f1940e5a49683 Mon Sep 17 00:00:00 2001 From: reimar Date: Fri, 13 Mar 2009 17:02:15 +0000 Subject: Add missing ecx clobber in diff_MMX code (yes, that function is duplicated). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28940 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/vf_divtc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libmpcodecs/vf_divtc.c') diff --git a/libmpcodecs/vf_divtc.c b/libmpcodecs/vf_divtc.c index 1d55dc1eed..f84ae2e5a0 100644 --- a/libmpcodecs/vf_divtc.c +++ b/libmpcodecs/vf_divtc.c @@ -69,7 +69,7 @@ static int diff_MMX(unsigned char *old, unsigned char *new, int os, int ns) "emms \n\t" : : "S" (old), "D" (new), "a" ((long)os), "b" ((long)ns), "d" (out) - : "memory" + : "%ecx", "memory" ); return out[0]+out[1]+out[2]+out[3]; } -- cgit v1.2.3 From f9f40364d70d86971199d946052e494b6bd96ba1 Mon Sep 17 00:00:00 2001 From: reimar Date: Fri, 13 Mar 2009 17:09:39 +0000 Subject: Use the same code as in vf_decimate to select diff_MMX git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28941 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/vf_divtc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'libmpcodecs/vf_divtc.c') diff --git a/libmpcodecs/vf_divtc.c b/libmpcodecs/vf_divtc.c index f84ae2e5a0..f7baf61807 100644 --- a/libmpcodecs/vf_divtc.c +++ b/libmpcodecs/vf_divtc.c @@ -682,11 +682,10 @@ static int open(vf_instance_t *vf, char* args) if(!(p->history=calloc(sizeof *p->history, p->window))) goto nomem; - diff= + diff = diff_C; #if HAVE_MMX - gCpuCaps.hasMMX?diff_MMX: + if(gCpuCaps.hasMMX) diff = diff_MMX; #endif - diff_C; free(args); return 1; -- cgit v1.2.3 From 1f1b999cb94a1c98be13db954cba9ed3f41f6378 Mon Sep 17 00:00:00 2001 From: reimar Date: Fri, 13 Mar 2009 17:12:40 +0000 Subject: Check for HAVE_EBX_AVAILABLE before enabling MMX code that needs the EBX register. Makes things a bit simpler for everyone who insists on compiling MPlayer as PIE-code. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28942 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/vf_divtc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libmpcodecs/vf_divtc.c') diff --git a/libmpcodecs/vf_divtc.c b/libmpcodecs/vf_divtc.c index f7baf61807..fa2918135e 100644 --- a/libmpcodecs/vf_divtc.c +++ b/libmpcodecs/vf_divtc.c @@ -33,7 +33,7 @@ struct vf_priv_s * diff_MMX and diff_C stolen from vf_decimate.c */ -#if HAVE_MMX +#if HAVE_MMX && HAVE_EBX_AVAILABLE static int diff_MMX(unsigned char *old, unsigned char *new, int os, int ns) { volatile short out[4]; @@ -683,7 +683,7 @@ static int open(vf_instance_t *vf, char* args) goto nomem; diff = diff_C; -#if HAVE_MMX +#if HAVE_MMX && HAVE_EBX_AVAILABLE if(gCpuCaps.hasMMX) diff = diff_MMX; #endif -- cgit v1.2.3