summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2008-07-04 18:54:15 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2008-07-04 18:54:15 +0000
commitfa81d7c15de525c796bea4b1720698d097ea94ee (patch)
treedeb2255967d90ed5d315a91efd57b38cdf71baaa
parent60128149f864acead0cb0b552033c44f5519be32 (diff)
downloadgst-plugins-bad-fa81d7c15de525c796bea4b1720698d097ea94ee.tar.gz
gst-plugins-bad-fa81d7c15de525c796bea4b1720698d097ea94ee.tar.bz2
gst-plugins-bad-fa81d7c15de525c796bea4b1720698d097ea94ee.zip
gst/deinterlace2/tvtime/greedyh.c: Only build the assembly optimized implementations on x86.
Original commit message from CVS: * gst/deinterlace2/tvtime/greedyh.c: (deinterlace_frame_di_greedyh): Only build the assembly optimized implementations on x86.
-rw-r--r--ChangeLog6
-rw-r--r--gst/deinterlace2/tvtime/greedyh.c8
2 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index b6fff094..9c7dec81 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2008-07-04 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ * gst/deinterlace2/tvtime/greedyh.c:
+ (deinterlace_frame_di_greedyh):
+ Only build the assembly optimized implementations on x86.
+
+2008-07-04 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
* configure.ac:
diff --git a/gst/deinterlace2/tvtime/greedyh.c b/gst/deinterlace2/tvtime/greedyh.c
index 44f5c572..72f43781 100644
--- a/gst/deinterlace2/tvtime/greedyh.c
+++ b/gst/deinterlace2/tvtime/greedyh.c
@@ -182,6 +182,8 @@ greedyDScaler_C (uint8_t * L1, uint8_t * L2, uint8_t * L3, uint8_t * L2P,
}
}
+#ifdef HAVE_CPU_I386
+
#define IS_MMXEXT
#define SIMD_TYPE MMXEXT
#define FUNCT_NAME greedyDScaler_MMXEXT
@@ -206,6 +208,8 @@ greedyDScaler_C (uint8_t * L1, uint8_t * L2, uint8_t * L3, uint8_t * L2P,
#undef IS_MMX
#undef FUNCT_NAME
+#endif
+
static void
deinterlace_frame_di_greedyh (GstDeinterlace2 * object)
{
@@ -223,6 +227,7 @@ deinterlace_frame_di_greedyh (GstDeinterlace2 * object)
unsigned char *L2P; // ptr to prev Line2
unsigned char *Dest = GST_BUFFER_DATA (object->out_buf);
+#ifdef HAVE_CPU_I386
if (object->cpu_feature_flags & OIL_IMPL_FLAG_MMXEXT) {
func = greedyDScaler_MMXEXT;
} else if (object->cpu_feature_flags & OIL_IMPL_FLAG_3DNOW) {
@@ -232,6 +237,9 @@ deinterlace_frame_di_greedyh (GstDeinterlace2 * object)
} else {
func = greedyDScaler_C;
}
+#else
+ func = greedyDScaler_C;
+#endif
// copy first even line no matter what, and the first odd line if we're
// processing an EVEN field. (note diff from other deint rtns.)