summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-04-19 15:56:52 +0200
committerwm4 <wm4@nowhere>2014-04-19 17:10:20 +0200
commit60fbce16bb28e4298716c8ab3c6c38fc7e9ebfae (patch)
tree48b3bf20f484e6d48a1b129fb4e7c8026abcc4cc /video
parentd0ebecb1c4d2e70d65b91a596acfcffb0e4bc4b0 (diff)
downloadmpv-60fbce16bb28e4298716c8ab3c6c38fc7e9ebfae.tar.bz2
mpv-60fbce16bb28e4298716c8ab3c6c38fc7e9ebfae.tar.xz
vf_divtc: remove inline asm
Becomes a bit slower (tested with progressive solid color video only), but this filter is pretty obscure and I'm not even sure what it's useful for.
Diffstat (limited to 'video')
-rw-r--r--video/filter/vf_divtc.c50
1 files changed, 0 insertions, 50 deletions
diff --git a/video/filter/vf_divtc.c b/video/filter/vf_divtc.c
index 56901f6870..869d7462d1 100644
--- a/video/filter/vf_divtc.c
+++ b/video/filter/vf_divtc.c
@@ -24,7 +24,6 @@
#include "config.h"
#include "common/msg.h"
-#include "common/cpudetect.h"
#include "options/m_option.h"
#include "libavutil/common.h"
#include "compat/mpbswap.h"
@@ -51,52 +50,6 @@ struct vf_priv_s
struct mp_image *buffer;
};
-/*
- * diff_MMX and diff_C stolen from vf_decimate.c
- */
-
-#if HAVE_MMX && HAVE_EBX_AVAILABLE
-static int diff_MMX(unsigned char *old, unsigned char *new, int os, int ns)
- {
- volatile short out[4];
- __asm__ (
- "movl $8, %%ecx \n\t"
- "pxor %%mm4, %%mm4 \n\t"
- "pxor %%mm7, %%mm7 \n\t"
-
- ".align 4 \n\t"
- "1: \n\t"
-
- "movq (%%"REG_S"), %%mm0 \n\t"
- "movq (%%"REG_S"), %%mm2 \n\t"
- "add %%"REG_a", %%"REG_S" \n\t"
- "movq (%%"REG_D"), %%mm1 \n\t"
- "add %%"REG_b", %%"REG_D" \n\t"
- "psubusb %%mm1, %%mm2 \n\t"
- "psubusb %%mm0, %%mm1 \n\t"
- "movq %%mm2, %%mm0 \n\t"
- "movq %%mm1, %%mm3 \n\t"
- "punpcklbw %%mm7, %%mm0 \n\t"
- "punpcklbw %%mm7, %%mm1 \n\t"
- "punpckhbw %%mm7, %%mm2 \n\t"
- "punpckhbw %%mm7, %%mm3 \n\t"
- "paddw %%mm0, %%mm4 \n\t"
- "paddw %%mm1, %%mm4 \n\t"
- "paddw %%mm2, %%mm4 \n\t"
- "paddw %%mm3, %%mm4 \n\t"
-
- "decl %%ecx \n\t"
- "jnz 1b \n\t"
- "movq %%mm4, (%%"REG_d") \n\t"
- "emms \n\t"
- :
- : "S" (old), "D" (new), "a" ((long)os), "b" ((long)ns), "d" (out)
- : "%ecx", "memory"
- );
- return out[0]+out[1]+out[2]+out[3];
- }
-#endif
-
static int diff_C(unsigned char *old, unsigned char *new, int os, int ns)
{
int x, y, d=0;
@@ -644,9 +597,6 @@ static int vf_open(vf_instance_t *vf)
abort();
diff = diff_C;
-#if HAVE_MMX && HAVE_EBX_AVAILABLE
- if(gCpuCaps.hasMMX) diff = diff_MMX;
-#endif
vf_detc_init_pts_buf(&p->ptsbuf);
return 1;