[gst-cvs] gst-plugins-bad: dtsdec: Use orc for CPU feature detection
Sebastian Dröge
slomo at kemper.freedesktop.org
Mon Jun 14 05:53:45 PDT 2010
Module: gst-plugins-bad
Branch: master
Commit: 8474fd95184c897492277065c9add5bd0d198c26
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=8474fd95184c897492277065c9add5bd0d198c26
Author: Sebastian Dröge <sebastian.droege at collabora.co.uk>
Date: Mon Jun 14 14:51:31 2010 +0200
dtsdec: Use orc for CPU feature detection
---
ext/dts/Makefile.am | 4 ++--
ext/dts/gstdtsdec.c | 21 ++++++++++++---------
2 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/ext/dts/Makefile.am b/ext/dts/Makefile.am
index 2688f50..f93e87d 100644
--- a/ext/dts/Makefile.am
+++ b/ext/dts/Makefile.am
@@ -1,8 +1,8 @@
plugin_LTLIBRARIES = libgstdtsdec.la
libgstdtsdec_la_SOURCES = gstdtsdec.c
-libgstdtsdec_la_CFLAGS = $(GST_CFLAGS) $(LIBOIL_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
-libgstdtsdec_la_LIBADD = $(DTS_LIBS) $(LIBOIL_LIBS) $(GST_PLUGINS_BASE_LIBS) \
+libgstdtsdec_la_CFLAGS = $(GST_CFLAGS) $(ORC_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
+libgstdtsdec_la_LIBADD = $(DTS_LIBS) $(ORC_LIBS) $(GST_PLUGINS_BASE_LIBS) \
-lgstaudio- at GST_MAJORMINOR@
libgstdtsdec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstdtsdec_la_LIBTOOLFLAGS = --tag=disable-static
diff --git a/ext/dts/gstdtsdec.c b/ext/dts/gstdtsdec.c
index 9f3ddf0..51305be 100644
--- a/ext/dts/gstdtsdec.c
+++ b/ext/dts/gstdtsdec.c
@@ -81,9 +81,9 @@ typedef struct dts_state_s dca_state_t;
#include "gstdtsdec.h"
-#include <liboil/liboil.h>
-#include <liboil/liboilcpu.h>
-#include <liboil/liboilfunction.h>
+#if HAVE_ORC
+#include <orc/orc.h>
+#endif
#if defined(LIBDTS_FIXED) || defined(LIBDCA_FIXED)
#define SAMPLE_WIDTH 16
@@ -187,16 +187,19 @@ gst_dtsdec_class_init (GstDtsDecClass * klass)
g_param_spec_boolean ("drc", "Dynamic Range Compression",
"Use Dynamic Range Compression", FALSE, G_PARAM_READWRITE));
- oil_init ();
-
klass->dts_cpuflags = 0;
- cpuflags = oil_cpu_get_flags ();
- if (cpuflags & OIL_IMPL_FLAG_MMX)
+
+#if HAVE_ORC
+ cpuflags = orc_target_get_default_flags (orc_target_get_by_name ("mmx"));
+ if (cpuflags & ORC_TARGET_MMX_MMX)
klass->dts_cpuflags |= MM_ACCEL_X86_MMX;
- if (cpuflags & OIL_IMPL_FLAG_3DNOW)
+ if (cpuflags & ORC_TARGET_MMX_3DNOW)
klass->dts_cpuflags |= MM_ACCEL_X86_3DNOW;
- if (cpuflags & OIL_IMPL_FLAG_MMXEXT)
+ if (cpuflags & ORC_TARGET_MMX_MMXEXT)
klass->dts_cpuflags |= MM_ACCEL_X86_MMXEXT;
+#else
+ klass->dts_cpuflags = 0;
+#endif
GST_LOG ("CPU flags: dts=%08x, liboil=%08x", klass->dts_cpuflags, cpuflags);
}
More information about the Gstreamer-commits
mailing list