summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-04-05 16:38:40 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-04-05 16:38:40 +0000
commitd55c67d157fa0b29abfeb31eeaba949732d36c84 (patch)
treeeae662e145a248e91427f3873acf088c3a125f26 /libmpcodecs
parentbafe08d111c97410d112ad2215b4aa11fc801ea4 (diff)
downloadmpv-d55c67d157fa0b29abfeb31eeaba949732d36c84.tar.bz2
mpv-d55c67d157fa0b29abfeb31eeaba949732d36c84.tar.xz
Change ifdefs to make more sense: HAVE_SSSE3 should only be around SSSE3-code,
not around MMX code etc. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31018 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vf_gradfun.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/libmpcodecs/vf_gradfun.c b/libmpcodecs/vf_gradfun.c
index 57c61d41eb..5b435744f1 100644
--- a/libmpcodecs/vf_gradfun.c
+++ b/libmpcodecs/vf_gradfun.c
@@ -91,7 +91,7 @@ static void blur_line_c(uint16_t *dc, uint16_t *buf, uint16_t *buf1,
}
}
-#if HAVE_SSSE3
+#if HAVE_MMX2
static void filter_line_mmx2(uint8_t *dst, uint8_t *src, uint16_t *dc,
int width, int thresh, const uint16_t *dithers)
{
@@ -138,7 +138,9 @@ static void filter_line_mmx2(uint8_t *dst, uint8_t *src, uint16_t *dc,
:"memory"
);
}
+#endif
+#if HAVE_SSSE3
static void filter_line_ssse3(uint8_t *dst, uint8_t *src, uint16_t *dc,
int width, int thresh, const uint16_t *dithers)
{
@@ -184,7 +186,9 @@ static void filter_line_ssse3(uint8_t *dst, uint8_t *src, uint16_t *dc,
:"memory"
);
}
+#endif // HAVE_SSSE3
+#if HAVE_6REGS && HAVE_SSE2
#define BLURV(load)\
intptr_t x = -2*width;\
__asm__ volatile(\
@@ -218,7 +222,6 @@ static void filter_line_ssse3(uint8_t *dst, uint8_t *src, uint16_t *dc,
:"memory"\
);
-#if HAVE_6REGS
static void blur_line_sse2(uint16_t *dc, uint16_t *buf, uint16_t *buf1,
uint8_t *src, int sstride, int width)
{
@@ -228,8 +231,7 @@ static void blur_line_sse2(uint16_t *dc, uint16_t *buf, uint16_t *buf1,
BLURV("movdqa");
}
}
-#endif // HAVE_6REGS
-#endif // HAVE_SSSE3
+#endif // HAVE_6REGS && HAVE_SSE2
static void filter(struct vf_priv_s *ctx, uint8_t *dst, uint8_t *src,
int width, int height, int dstride, int sstride, int r)
@@ -383,13 +385,15 @@ static int vf_open(vf_instance_t *vf, char *args)
vf->priv->blur_line = blur_line_c;
vf->priv->filter_line = filter_line_c;
-#if HAVE_SSSE3
-#if HAVE_6REGS
+#if HAVE_6REGS && HAVE_SSE2
if (gCpuCaps.hasSSE2)
vf->priv->blur_line = blur_line_sse2;
#endif
+#if HAVE_MMX2
if (gCpuCaps.hasMMX2)
vf->priv->filter_line = filter_line_mmx2;
+#endif
+#if HAVE_SSSE3
if (gCpuCaps.hasSSSE3)
vf->priv->filter_line = filter_line_ssse3;
#endif