Only compile MMX/SSE code on x86/x86_64).

This commit is contained in:
jdc 2012-08-15 18:34:36 +00:00
parent a9413a2af3
commit 0cb033bb77
3 changed files with 58 additions and 0 deletions

View file

@ -0,0 +1,21 @@
$NetBSD: patch-src-post-deinterlace-plugins-greedy2frame.c,v 1.1 2012/08/15 18:34:36 jdc Exp $
--- src/post/deinterlace/plugins/greedy2frame.c.orig 2012-05-26 21:49:59.000000000 +0100
+++ src/post/deinterlace/plugins/greedy2frame.c 2012-08-15 08:08:27.000000000 +0100
@@ -59,6 +59,8 @@
int bottom_field, int second_field, int width, int height )
{
+#if defined(ARCH_X86) || defined(ARCH_X86_64)
+
if (xine_mm_accel() & MM_ACCEL_X86_SSE2) {
if (((uintptr_t)output & 15) || (outstride & 15) ||
width & 7 ||
@@ -82,6 +84,7 @@
bottom_field, second_field, width, height );
/* could fall back to 3dnow/mmx here too */
}
+#endif /*ARCH_X86 */
}

View file

@ -0,0 +1,20 @@
$NetBSD: patch-src-post-deinterlace-plugins-greedy2frame_template.c,v 1.1 2012/08/15 18:34:36 jdc Exp $
--- src/post/deinterlace/plugins/greedy2frame_template.c.orig 2012-05-26 21:49:59.000000000 +0100
+++ src/post/deinterlace/plugins/greedy2frame_template.c 2012-08-15 09:46:37.000000000 +0100
@@ -85,6 +85,7 @@
*/
+#if defined(ARCH_X86) || defined(ARCH_X86_64)
#if !defined(MASKS_DEFINED)
#define MASKS_DEFINED
static const mmx_t Mask = { uq: 0x7f7f7f7f7f7f7f7fll };
@@ -92,6 +93,7 @@
static const mmx_t GreedyTwoFrameThreshold = { ub: {TP, TP, TP, TP} };
#undef TP
#endif
+#endif /*ARCH_X86 */
#if defined(IS_MMXEXT)
static void DeinterlaceGreedy2Frame_MMXEXT(uint8_t *output, int outstride,

View file

@ -0,0 +1,17 @@
$NetBSD: patch-src-post-deinterlace-plugins-greedy2frame_template_sse2.c,v 1.1 2012/08/15 18:34:36 jdc Exp $
--- src/post/deinterlace/plugins/greedy2frame_template_sse2.c.orig 2012-08-14 12:47:20.000000000 +0100
+++ src/post/deinterlace/plugins/greedy2frame_template_sse2.c 2012-08-15 09:47:02.000000000 +0100
@@ -85,10 +85,12 @@
*/
+#if defined(ARCH_X86) || defined(ARCH_X86_64)
static const sse_t Mask128 = { uq: { 0x7f7f7f7f7f7f7f7fll, 0x7f7f7f7f7f7f7f7fll} };
#define TP GREEDYTWOFRAMETHRESHOLD, GREEDYTWOFRAMETHRESHOLD2
static const sse_t GreedyTwoFrameThreshold128 = { ub: {TP, TP, TP, TP, TP, TP, TP, TP} };
#undef TP
+#endif /*ARCH_X86 */
static void DeinterlaceGreedy2Frame_SSE2(uint8_t *output, int outstride,
deinterlace_frame_data_t *data,