deinterlace: convert from liboil to orc
authorDavid Schleef <ds@schleef.org>
Tue, 8 Jun 2010 23:03:36 +0000 (16:03 -0700)
committerDavid Schleef <ds@schleef.org>
Wed, 9 Jun 2010 00:25:34 +0000 (17:25 -0700)
15 files changed:
gst/deinterlace/Makefile.am
gst/deinterlace/gstdeinterlace.c
gst/deinterlace/gstdeinterlace.h
gst/deinterlace/gstdeinterlacemethod.c
gst/deinterlace/gstdeinterlacemethod.h
gst/deinterlace/tvtime/greedy.c
gst/deinterlace/tvtime/greedyh.c
gst/deinterlace/tvtime/linear.c
gst/deinterlace/tvtime/linearblend.c
gst/deinterlace/tvtime/scalerbob.c
gst/deinterlace/tvtime/tomsmocomp.c
gst/deinterlace/tvtime/vfir.c
gst/deinterlace/tvtime/weave.c
gst/deinterlace/tvtime/weavebff.c
gst/deinterlace/tvtime/weavetff.c

index ae15831..1d72287 100644 (file)
@@ -15,9 +15,9 @@ libgstdeinterlace_la_SOURCES = \
        tvtime/scalerbob.c
 
 libgstdeinterlace_la_CFLAGS = \
-       $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(LIBOIL_CFLAGS)
+       $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(ORC_CFLAGS)
 libgstdeinterlace_la_LIBADD = \
-       $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) $(GST_BASE_LIBS) $(GST_LIBS) $(LIBOIL_LIBS)
+       $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) $(GST_BASE_LIBS) $(GST_LIBS) $(ORC_LIBS)
 libgstdeinterlace_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
 libgstdeinterlace_la_LIBTOOLFLAGS = --tag=disable-static
 
index fb01ee3..61b7aa3 100644 (file)
@@ -1759,8 +1759,6 @@ plugin_init (GstPlugin * plugin)
 {
   GST_DEBUG_CATEGORY_INIT (deinterlace_debug, "deinterlace", 0, "Deinterlacer");
 
-  oil_init ();
-
   if (!gst_element_register (plugin, "deinterlace", GST_RANK_NONE,
           GST_TYPE_DEINTERLACE)) {
     return FALSE;
index 7e4ed6d..a457c84 100644 (file)
 #include <gst/gst.h>
 #include <gst/video/video.h>
 
-#include <liboil/liboil.h>
-#include <liboil/liboilcpu.h>
-#include <liboil/liboilfunction.h>
-
 #include "gstdeinterlacemethod.h"
 
 G_BEGIN_DECLS
index 76425c8..9c9e2bd 100644 (file)
@@ -24,9 +24,6 @@
 
 #include <string.h>
 
-#include <liboil/liboil.h>
-#include <liboil/liboilfunction.h>
-
 #include "gstdeinterlacemethod.h"
 
 G_DEFINE_ABSTRACT_TYPE (GstDeinterlaceMethod, gst_deinterlace_method,
@@ -292,14 +289,14 @@ static void
     (GstDeinterlaceSimpleMethod * self, guint8 * out,
     const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[0]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[0]);
 }
 
 static void
 gst_deinterlace_simple_method_copy_scanline_packed (GstDeinterlaceSimpleMethod *
     self, guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m0, self->parent.row_stride[0]);
+  memcpy (out, scanlines->m0, self->parent.row_stride[0]);
 }
 
 static void
@@ -348,11 +345,11 @@ gst_deinterlace_simple_method_deinterlace_frame_packed (GstDeinterlaceMethod *
 
   if (cur_field_flags == PICTURE_INTERLACED_BOTTOM) {
     /* double the first scanline of the bottom field */
-    oil_memcpy (out, field0, row_stride);
+    memcpy (out, field0, row_stride);
     out += row_stride;
   }
 
-  oil_memcpy (out, field0, row_stride);
+  memcpy (out, field0, row_stride);
   out += row_stride;
 
   for (line = 2; line <= field_height; line++) {
@@ -435,7 +432,7 @@ gst_deinterlace_simple_method_deinterlace_frame_packed (GstDeinterlaceMethod *
 
   if (cur_field_flags == PICTURE_INTERLACED_TOP) {
     /* double the last scanline of the top field */
-    oil_memcpy (out, field0, row_stride);
+    memcpy (out, field0, row_stride);
   }
 }
 
@@ -444,14 +441,14 @@ static void
     (GstDeinterlaceSimpleMethod * self, guint8 * out,
     const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[0]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[0]);
 }
 
 static void
 gst_deinterlace_simple_method_copy_scanline_planar_y (GstDeinterlaceSimpleMethod
     * self, guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m0, self->parent.row_stride[0]);
+  memcpy (out, scanlines->m0, self->parent.row_stride[0]);
 }
 
 static void
@@ -459,14 +456,14 @@ static void
     (GstDeinterlaceSimpleMethod * self, guint8 * out,
     const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[1]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[1]);
 }
 
 static void
 gst_deinterlace_simple_method_copy_scanline_planar_u (GstDeinterlaceSimpleMethod
     * self, guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m0, self->parent.row_stride[1]);
+  memcpy (out, scanlines->m0, self->parent.row_stride[1]);
 }
 
 static void
@@ -474,14 +471,14 @@ static void
     (GstDeinterlaceSimpleMethod * self, guint8 * out,
     const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[2]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[2]);
 }
 
 static void
 gst_deinterlace_simple_method_copy_scanline_planar_v (GstDeinterlaceSimpleMethod
     * self, guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m0, self->parent.row_stride[2]);
+  memcpy (out, scanlines->m0, self->parent.row_stride[2]);
 }
 
 static void
@@ -503,11 +500,11 @@ static void
 
   if (cur_field_flags == PICTURE_INTERLACED_BOTTOM) {
     /* double the first scanline of the bottom field */
-    oil_memcpy (out, field0, row_stride);
+    memcpy (out, field0, row_stride);
     out += row_stride;
   }
 
-  oil_memcpy (out, field0, row_stride);
+  memcpy (out, field0, row_stride);
   out += row_stride;
 
   for (line = 2; line <= field_height; line++) {
@@ -590,7 +587,7 @@ static void
 
   if (cur_field_flags == PICTURE_INTERLACED_TOP) {
     /* double the last scanline of the top field */
-    oil_memcpy (out, field0, row_stride);
+    memcpy (out, field0, row_stride);
   }
 }
 
index 6e56a7b..d8d3343 100644 (file)
 #ifndef __GST_DEINTERLACE_METHOD_H__
 #define __GST_DEINTERLACE_METHOD_H__
 
-#include <liboil/liboil.h>
-#include <liboil/liboilcpu.h>
-#include <liboil/liboilfunction.h>
-
 #include <gst/gst.h>
 #include <gst/video/video.h>
 
-#ifdef HAVE_GCC_ASM
+#if defined(HAVE_GCC_ASM) && defined(HAVE_ORC)
 #if defined(HAVE_CPU_I386) || defined(HAVE_CPU_X86_64)
 #define BUILD_X86_ASM
 #endif
index 177079c..ca9be73 100644 (file)
 
 #include "gstdeinterlacemethod.h"
 #include <string.h>
+#ifdef HAVE_ORC
+#include <orc/orc.h>
+#endif
+
 
 #define GST_TYPE_DEINTERLACE_METHOD_GREEDY_L   (gst_deinterlace_method_greedy_l_get_type ())
 #define GST_IS_DEINTERLACE_METHOD_GREEDY_L(obj)                (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_DEINTERLACE_METHOD_GREEDY_L))
@@ -371,7 +375,7 @@ deinterlace_frame_di_greedy_packed (GstDeinterlaceMethod * method,
       L2P += RowStride;
 
     // copy first even line
-    oil_memcpy (Dest, L1, RowStride);
+    memcpy (Dest, L1, RowStride);
     Dest += RowStride;
   } else {
     InfoIsOdd = 0;
@@ -389,17 +393,17 @@ deinterlace_frame_di_greedy_packed (GstDeinterlaceMethod * method,
       L2P += RowStride;
 
     // copy first even line
-    oil_memcpy (Dest, L1, RowStride);
+    memcpy (Dest, L1, RowStride);
     Dest += RowStride;
     // then first odd line
-    oil_memcpy (Dest, L1, RowStride);
+    memcpy (Dest, L1, RowStride);
     Dest += RowStride;
   }
 
   for (Line = 0; Line < (FieldHeight - 1); ++Line) {
     klass->scanline (self, L2, L1, L3, L2P, Dest, RowStride);
     Dest += RowStride;
-    oil_memcpy (Dest, L3, RowStride);
+    memcpy (Dest, L3, RowStride);
     Dest += RowStride;
 
     L1 += Pitch;
@@ -409,7 +413,7 @@ deinterlace_frame_di_greedy_packed (GstDeinterlaceMethod * method,
   }
 
   if (InfoIsOdd) {
-    oil_memcpy (Dest, L2, RowStride);
+    memcpy (Dest, L2, RowStride);
   }
 }
 
@@ -426,21 +430,21 @@ deinterlace_frame_di_greedy_planar_plane (GstDeinterlaceMethodGreedyL * self,
 
   if (InfoIsOdd) {
     // copy first even line
-    oil_memcpy (Dest, L1, RowStride);
+    memcpy (Dest, L1, RowStride);
     Dest += RowStride;
   } else {
     // copy first even line
-    oil_memcpy (Dest, L1, RowStride);
+    memcpy (Dest, L1, RowStride);
     Dest += RowStride;
     // then first odd line
-    oil_memcpy (Dest, L1, RowStride);
+    memcpy (Dest, L1, RowStride);
     Dest += RowStride;
   }
 
   for (Line = 0; Line < (FieldHeight - 1); ++Line) {
     scanline (self, L2, L1, L3, L2P, Dest, RowStride);
     Dest += RowStride;
-    oil_memcpy (Dest, L3, RowStride);
+    memcpy (Dest, L3, RowStride);
     Dest += RowStride;
 
     L1 += Pitch;
@@ -450,7 +454,7 @@ deinterlace_frame_di_greedy_planar_plane (GstDeinterlaceMethodGreedyL * self,
   }
 
   if (InfoIsOdd) {
-    oil_memcpy (Dest, L2, RowStride);
+    memcpy (Dest, L2, RowStride);
   }
 }
 
@@ -549,7 +553,8 @@ gst_deinterlace_method_greedy_l_class_init (GstDeinterlaceMethodGreedyLClass *
   GstDeinterlaceMethodClass *dim_class = (GstDeinterlaceMethodClass *) klass;
   GObjectClass *gobject_class = (GObjectClass *) klass;
 #ifdef BUILD_X86_ASM
-  guint cpu_flags = oil_cpu_get_flags ();
+  guint cpu_flags =
+      orc_target_get_default_flags (orc_target_get_by_name ("mmx"));
 #endif
 
   gobject_class->set_property = gst_deinterlace_method_greedy_l_set_property;
@@ -583,9 +588,9 @@ gst_deinterlace_method_greedy_l_class_init (GstDeinterlaceMethodGreedyLClass *
   dim_class->deinterlace_frame_bgr = deinterlace_frame_di_greedy_packed;
 
 #ifdef BUILD_X86_ASM
-  if (cpu_flags & OIL_IMPL_FLAG_MMXEXT) {
+  if (cpu_flags & ORC_TARGET_MMX_MMXEXT) {
     klass->scanline = deinterlace_greedy_scanline_mmxext;
-  } else if (cpu_flags & OIL_IMPL_FLAG_MMX) {
+  } else if (cpu_flags & ORC_TARGET_MMX_MMX) {
     klass->scanline = deinterlace_greedy_scanline_mmx;
   } else {
     klass->scanline = deinterlace_greedy_scanline_c;
index 32870f5..bd2794c 100644 (file)
@@ -37,6 +37,9 @@
 #include <gst/gst.h>
 #include "plugins.h"
 #include "gstdeinterlacemethod.h"
+#ifdef HAVE_ORC
+#include <orc/orc.h>
+#endif
 
 #define GST_TYPE_DEINTERLACE_METHOD_GREEDY_H   (gst_deinterlace_method_greedy_h_get_type ())
 #define GST_IS_DEINTERLACE_METHOD_GREEDY_H(obj)                (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_DEINTERLACE_METHOD_GREEDY_H))
@@ -769,7 +772,7 @@ deinterlace_frame_di_greedyh_packed (GstDeinterlaceMethod * method,
       L2P += RowStride;
 
     // copy first even line
-    oil_memcpy (Dest, L1, RowStride);
+    memcpy (Dest, L1, RowStride);
     Dest += RowStride;
   } else {
     InfoIsOdd = 0;
@@ -787,17 +790,17 @@ deinterlace_frame_di_greedyh_packed (GstDeinterlaceMethod * method,
       L2P += RowStride;
 
     // copy first even line
-    oil_memcpy (Dest, L1, RowStride);
+    memcpy (Dest, L1, RowStride);
     Dest += RowStride;
     // then first odd line
-    oil_memcpy (Dest, L1, RowStride);
+    memcpy (Dest, L1, RowStride);
     Dest += RowStride;
   }
 
   for (Line = 0; Line < (FieldHeight - 1); ++Line) {
     scanline (self, L1, L2, L3, L2P, Dest, RowStride);
     Dest += RowStride;
-    oil_memcpy (Dest, L3, RowStride);
+    memcpy (Dest, L3, RowStride);
     Dest += RowStride;
 
     L1 += Pitch;
@@ -807,7 +810,7 @@ deinterlace_frame_di_greedyh_packed (GstDeinterlaceMethod * method,
   }
 
   if (InfoIsOdd) {
-    oil_memcpy (Dest, L2, RowStride);
+    memcpy (Dest, L2, RowStride);
   }
 }
 
@@ -824,21 +827,21 @@ deinterlace_frame_di_greedyh_planar_plane (GstDeinterlaceMethodGreedyH * self,
 
   if (InfoIsOdd) {
     // copy first even line
-    oil_memcpy (Dest, L1, RowStride);
+    memcpy (Dest, L1, RowStride);
     Dest += RowStride;
   } else {
     // copy first even line
-    oil_memcpy (Dest, L1, RowStride);
+    memcpy (Dest, L1, RowStride);
     Dest += RowStride;
     // then first odd line
-    oil_memcpy (Dest, L1, RowStride);
+    memcpy (Dest, L1, RowStride);
     Dest += RowStride;
   }
 
   for (Line = 0; Line < (FieldHeight - 1); ++Line) {
     scanline (self, L1, L2, L3, L2P, Dest, RowStride);
     Dest += RowStride;
-    oil_memcpy (Dest, L3, RowStride);
+    memcpy (Dest, L3, RowStride);
     Dest += RowStride;
 
     L1 += Pitch;
@@ -848,7 +851,7 @@ deinterlace_frame_di_greedyh_planar_plane (GstDeinterlaceMethodGreedyH * self,
   }
 
   if (InfoIsOdd) {
-    oil_memcpy (Dest, L2, RowStride);
+    memcpy (Dest, L2, RowStride);
   }
 }
 
@@ -966,7 +969,8 @@ gst_deinterlace_method_greedy_h_class_init (GstDeinterlaceMethodGreedyHClass *
   GstDeinterlaceMethodClass *dim_class = (GstDeinterlaceMethodClass *) klass;
   GObjectClass *gobject_class = (GObjectClass *) klass;
 #ifdef BUILD_X86_ASM
-  guint cpu_flags = oil_cpu_get_flags ();
+  guint cpu_flags =
+      orc_target_get_default_flags (orc_target_get_by_name ("mmx"));
 #endif
 
   gobject_class->set_property = gst_deinterlace_method_greedy_h_set_property;
@@ -1008,13 +1012,13 @@ gst_deinterlace_method_greedy_h_class_init (GstDeinterlaceMethodGreedyHClass *
   dim_class->deinterlace_frame_y41b = deinterlace_frame_di_greedyh_planar;
 
 #ifdef BUILD_X86_ASM
-  if (cpu_flags & OIL_IMPL_FLAG_MMXEXT) {
+  if (cpu_flags & ORC_TARGET_MMX_MMXEXT) {
     klass->scanline_yuy2 = greedyh_scanline_MMXEXT_yuy2;
     klass->scanline_uyvy = greedyh_scanline_MMXEXT_uyvy;
-  } else if (cpu_flags & OIL_IMPL_FLAG_3DNOW) {
+  } else if (cpu_flags & ORC_TARGET_MMX_3DNOW) {
     klass->scanline_yuy2 = greedyh_scanline_3DNOW_yuy2;
     klass->scanline_uyvy = greedyh_scanline_3DNOW_uyvy;
-  } else if (cpu_flags & OIL_IMPL_FLAG_MMX) {
+  } else if (cpu_flags & ORC_TARGET_MMX_MMX) {
     klass->scanline_yuy2 = greedyh_scanline_MMX_yuy2;
     klass->scanline_uyvy = greedyh_scanline_MMX_uyvy;
   } else {
index 44e89af..d50aeec 100644 (file)
@@ -29,6 +29,9 @@
 
 #include "gstdeinterlacemethod.h"
 #include <string.h>
+#ifdef HAVE_ORC
+#include <orc/orc.h>
+#endif
 
 #define GST_TYPE_DEINTERLACE_METHOD_LINEAR     (gst_deinterlace_method_linear_get_type ())
 #define GST_IS_DEINTERLACE_METHOD_LINEAR(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_DEINTERLACE_METHOD_LINEAR))
@@ -282,7 +285,8 @@ gst_deinterlace_method_linear_class_init (GstDeinterlaceMethodLinearClass *
   GstDeinterlaceSimpleMethodClass *dism_class =
       (GstDeinterlaceSimpleMethodClass *) klass;
 #ifdef BUILD_X86_ASM
-  guint cpu_flags = oil_cpu_get_flags ();
+  guint cpu_flags =
+      orc_target_get_default_flags (orc_target_get_by_name ("mmx"));
 #endif
 
   dim_class->fields_required = 1;
@@ -308,7 +312,7 @@ gst_deinterlace_method_linear_class_init (GstDeinterlaceMethodLinearClass *
       deinterlace_scanline_linear_planar_v_c;
 
 #ifdef BUILD_X86_ASM
-  if (cpu_flags & OIL_IMPL_FLAG_MMXEXT) {
+  if (cpu_flags & ORC_TARGET_MMX_MMXEXT) {
     dism_class->interpolate_scanline_ayuv =
         deinterlace_scanline_linear_packed_mmxext;
     dism_class->interpolate_scanline_yuy2 =
@@ -335,7 +339,7 @@ gst_deinterlace_method_linear_class_init (GstDeinterlaceMethodLinearClass *
         deinterlace_scanline_linear_planar_u_mmxext;
     dism_class->interpolate_scanline_planar_v =
         deinterlace_scanline_linear_planar_v_mmxext;
-  } else if (cpu_flags & OIL_IMPL_FLAG_MMX) {
+  } else if (cpu_flags & ORC_TARGET_MMX_MMX) {
     dism_class->interpolate_scanline_ayuv =
         deinterlace_scanline_linear_packed_mmx;
     dism_class->interpolate_scanline_yuy2 =
index a3e5ea9..48ef96c 100644 (file)
@@ -33,6 +33,9 @@
 
 #include "gstdeinterlacemethod.h"
 #include <string.h>
+#ifdef HAVE_ORC
+#include <orc/orc.h>
+#endif
 
 #define GST_TYPE_DEINTERLACE_METHOD_LINEAR_BLEND       (gst_deinterlace_method_linear_blend_get_type ())
 #define GST_IS_DEINTERLACE_METHOD_LINEAR_BLEND(obj)            (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_DEINTERLACE_METHOD_LINEAR_BLEND))
@@ -314,7 +317,8 @@ static void
   GstDeinterlaceSimpleMethodClass *dism_class =
       (GstDeinterlaceSimpleMethodClass *) klass;
 #ifdef BUILD_X86_ASM
-  guint cpu_flags = oil_cpu_get_flags ();
+  guint cpu_flags =
+      orc_target_get_default_flags (orc_target_get_by_name ("mmx"));
 #endif
 
   dim_class->fields_required = 2;
@@ -369,7 +373,7 @@ static void
       deinterlace_scanline_linear_blend2_planar_v_c;
 
 #ifdef BUILD_X86_ASM
-  if (cpu_flags & OIL_IMPL_FLAG_MMX) {
+  if (cpu_flags & ORC_TARGET_MMX_MMX) {
     dism_class->interpolate_scanline_yuy2 =
         deinterlace_scanline_linear_blend_packed_mmx;
     dism_class->interpolate_scanline_yvyu =
index 1ec0b50..4612ef0 100644 (file)
@@ -42,28 +42,28 @@ static void
 deinterlace_scanline_scaler_bob_packed (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->t0, self->parent.row_stride[0]);
+  memcpy (out, scanlines->t0, self->parent.row_stride[0]);
 }
 
 static void
 deinterlace_scanline_scaler_bob_planar_y (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->t0, self->parent.row_stride[0]);
+  memcpy (out, scanlines->t0, self->parent.row_stride[0]);
 }
 
 static void
 deinterlace_scanline_scaler_bob_planar_u (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->t0, self->parent.row_stride[1]);
+  memcpy (out, scanlines->t0, self->parent.row_stride[1]);
 }
 
 static void
 deinterlace_scanline_scaler_bob_planar_v (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->t0, self->parent.row_stride[2]);
+  memcpy (out, scanlines->t0, self->parent.row_stride[2]);
 }
 
 G_DEFINE_TYPE (GstDeinterlaceMethodScalerBob, gst_deinterlace_method_scaler_bob,
index ac63fb1..280abe8 100644 (file)
@@ -31,6 +31,9 @@
 #include <string.h>
 
 #include <gst/gst.h>
+#ifdef HAVE_ORC
+#include <orc/orc.h>
+#endif
 #include "gstdeinterlacemethod.h"
 #include "plugins.h"
 
@@ -59,7 +62,7 @@ Fieldcopy (guint8 * dest, const guint8 * src, gint count,
   gint i;
 
   for (i = 0; i < rows; i++) {
-    oil_memcpy (dest, src, count);
+    memcpy (dest, src, count);
     src += src_pitch;
     dest += dst_pitch;
   }
@@ -161,7 +164,8 @@ static void
   GstDeinterlaceMethodClass *dim_class = (GstDeinterlaceMethodClass *) klass;
   GObjectClass *gobject_class = (GObjectClass *) klass;
 #ifdef BUILD_X86_ASM
-  guint cpu_flags = oil_cpu_get_flags ();
+  guint cpu_flags =
+      orc_target_get_default_flags (orc_target_get_by_name ("mmx"));
 #endif
 
   gobject_class->set_property = gst_deinterlace_method_tomsmocomp_set_property;
@@ -185,13 +189,13 @@ static void
   dim_class->latency = 1;
 
 #ifdef BUILD_X86_ASM
-  if (cpu_flags & OIL_IMPL_FLAG_MMXEXT) {
+  if (cpu_flags & ORC_TARGET_MMX_MMXEXT) {
     dim_class->deinterlace_frame_yuy2 = tomsmocompDScaler_MMXEXT;
     dim_class->deinterlace_frame_yvyu = tomsmocompDScaler_MMXEXT;
-  } else if (cpu_flags & OIL_IMPL_FLAG_3DNOW) {
+  } else if (cpu_flags & ORC_TARGET_MMX_3DNOW) {
     dim_class->deinterlace_frame_yuy2 = tomsmocompDScaler_3DNOW;
     dim_class->deinterlace_frame_yvyu = tomsmocompDScaler_3DNOW;
-  } else if (cpu_flags & OIL_IMPL_FLAG_MMX) {
+  } else if (cpu_flags & ORC_TARGET_MMX_MMX) {
     dim_class->deinterlace_frame_yuy2 = tomsmocompDScaler_MMX;
     dim_class->deinterlace_frame_yvyu = tomsmocompDScaler_MMX;
   } else {
index 39e5492..e226ac3 100644 (file)
@@ -35,6 +35,9 @@
 
 #include "gstdeinterlacemethod.h"
 #include <string.h>
+#ifdef HAVE_ORC
+#include <orc/orc.h>
+#endif
 
 #define GST_TYPE_DEINTERLACE_METHOD_VFIR       (gst_deinterlace_method_vfir_get_type ())
 #define GST_IS_DEINTERLACE_METHOD_VFIR(obj)            (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_DEINTERLACE_METHOD_VFIR))
@@ -255,7 +258,8 @@ gst_deinterlace_method_vfir_class_init (GstDeinterlaceMethodVFIRClass * klass)
   GstDeinterlaceSimpleMethodClass *dism_class =
       (GstDeinterlaceSimpleMethodClass *) klass;
 #ifdef BUILD_X86_ASM
-  guint cpu_flags = oil_cpu_get_flags ();
+  guint cpu_flags =
+      orc_target_get_default_flags (orc_target_get_by_name ("mmx"));
 #endif
 
   dim_class->fields_required = 2;
@@ -264,7 +268,7 @@ gst_deinterlace_method_vfir_class_init (GstDeinterlaceMethodVFIRClass * klass)
   dim_class->latency = 0;
 
 #ifdef BUILD_X86_ASM
-  if (cpu_flags & OIL_IMPL_FLAG_MMX) {
+  if (cpu_flags & ORC_TARGET_MMX_MMX) {
     dism_class->interpolate_scanline_ayuv = deinterlace_line_packed_mmx;
     dism_class->interpolate_scanline_yuy2 = deinterlace_line_packed_mmx;
     dism_class->interpolate_scanline_yvyu = deinterlace_line_packed_mmx;
index a4c4507..0f97142 100644 (file)
@@ -48,56 +48,56 @@ static void
 deinterlace_scanline_weave_packed (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[0]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[0]);
 }
 
 static void
 deinterlace_scanline_weave_planar_y (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[0]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[0]);
 }
 
 static void
 deinterlace_scanline_weave_planar_u (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[1]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[1]);
 }
 
 static void
 deinterlace_scanline_weave_planar_v (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[2]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[2]);
 }
 
 static void
 copy_scanline_packed (GstDeinterlaceSimpleMethod * self, guint8 * out,
     const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m0, self->parent.row_stride[0]);
+  memcpy (out, scanlines->m0, self->parent.row_stride[0]);
 }
 
 static void
 copy_scanline_planar_y (GstDeinterlaceSimpleMethod * self, guint8 * out,
     const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m0, self->parent.row_stride[0]);
+  memcpy (out, scanlines->m0, self->parent.row_stride[0]);
 }
 
 static void
 copy_scanline_planar_u (GstDeinterlaceSimpleMethod * self, guint8 * out,
     const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m0, self->parent.row_stride[1]);
+  memcpy (out, scanlines->m0, self->parent.row_stride[1]);
 }
 
 static void
 copy_scanline_planar_v (GstDeinterlaceSimpleMethod * self, guint8 * out,
     const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m0, self->parent.row_stride[2]);
+  memcpy (out, scanlines->m0, self->parent.row_stride[2]);
 }
 
 G_DEFINE_TYPE (GstDeinterlaceMethodWeave, gst_deinterlace_method_weave,
index 2fa62be..9c95ba8 100644 (file)
@@ -48,28 +48,28 @@ static void
 deinterlace_scanline_weave_packed (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[0]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[0]);
 }
 
 static void
 deinterlace_scanline_weave_planar_y (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[0]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[0]);
 }
 
 static void
 deinterlace_scanline_weave_planar_u (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[1]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[1]);
 }
 
 static void
 deinterlace_scanline_weave_planar_v (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[2]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[2]);
 }
 
 static void
@@ -78,9 +78,9 @@ copy_scanline_packed (GstDeinterlaceSimpleMethod * self, guint8 * out,
 {
   /* FIXME: original code used m2 and m0 but this looks really bad */
   if (scanlines->bottom_field) {
-    oil_memcpy (out, scanlines->bb2, self->parent.row_stride[0]);
+    memcpy (out, scanlines->bb2, self->parent.row_stride[0]);
   } else {
-    oil_memcpy (out, scanlines->bb0, self->parent.row_stride[0]);
+    memcpy (out, scanlines->bb0, self->parent.row_stride[0]);
   }
 }
 
@@ -90,9 +90,9 @@ copy_scanline_planar_y (GstDeinterlaceSimpleMethod * self, guint8 * out,
 {
   /* FIXME: original code used m2 and m0 but this looks really bad */
   if (scanlines->bottom_field) {
-    oil_memcpy (out, scanlines->bb2, self->parent.row_stride[0]);
+    memcpy (out, scanlines->bb2, self->parent.row_stride[0]);
   } else {
-    oil_memcpy (out, scanlines->bb0, self->parent.row_stride[0]);
+    memcpy (out, scanlines->bb0, self->parent.row_stride[0]);
   }
 }
 
@@ -102,9 +102,9 @@ copy_scanline_planar_u (GstDeinterlaceSimpleMethod * self, guint8 * out,
 {
   /* FIXME: original code used m2 and m0 but this looks really bad */
   if (scanlines->bottom_field) {
-    oil_memcpy (out, scanlines->bb2, self->parent.row_stride[1]);
+    memcpy (out, scanlines->bb2, self->parent.row_stride[1]);
   } else {
-    oil_memcpy (out, scanlines->bb0, self->parent.row_stride[1]);
+    memcpy (out, scanlines->bb0, self->parent.row_stride[1]);
   }
 }
 
@@ -114,9 +114,9 @@ copy_scanline_planar_v (GstDeinterlaceSimpleMethod * self, guint8 * out,
 {
   /* FIXME: original code used m2 and m0 but this looks really bad */
   if (scanlines->bottom_field) {
-    oil_memcpy (out, scanlines->bb2, self->parent.row_stride[2]);
+    memcpy (out, scanlines->bb2, self->parent.row_stride[2]);
   } else {
-    oil_memcpy (out, scanlines->bb0, self->parent.row_stride[2]);
+    memcpy (out, scanlines->bb0, self->parent.row_stride[2]);
   }
 }
 
index def8e35..2df0863 100644 (file)
@@ -49,28 +49,28 @@ static void
 deinterlace_scanline_weave_packed (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[0]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[0]);
 }
 
 static void
 deinterlace_scanline_weave_planar_y (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[0]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[0]);
 }
 
 static void
 deinterlace_scanline_weave_planar_u (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[1]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[1]);
 }
 
 static void
 deinterlace_scanline_weave_planar_v (GstDeinterlaceSimpleMethod * self,
     guint8 * out, const GstDeinterlaceScanlineData * scanlines)
 {
-  oil_memcpy (out, scanlines->m1, self->parent.row_stride[2]);
+  memcpy (out, scanlines->m1, self->parent.row_stride[2]);
 }
 
 static void
@@ -79,9 +79,9 @@ copy_scanline_packed (GstDeinterlaceSimpleMethod * self,
 {
   /* FIXME: original code used m2 and m0 but this looks really bad */
   if (scanlines->bottom_field) {
-    oil_memcpy (out, scanlines->bb0, self->parent.row_stride[0]);
+    memcpy (out, scanlines->bb0, self->parent.row_stride[0]);
   } else {
-    oil_memcpy (out, scanlines->bb2, self->parent.row_stride[0]);
+    memcpy (out, scanlines->bb2, self->parent.row_stride[0]);
   }
 }
 
@@ -91,9 +91,9 @@ copy_scanline_planar_y (GstDeinterlaceSimpleMethod * self,
 {
   /* FIXME: original code used m2 and m0 but this looks really bad */
   if (scanlines->bottom_field) {
-    oil_memcpy (out, scanlines->bb0, self->parent.row_stride[0]);
+    memcpy (out, scanlines->bb0, self->parent.row_stride[0]);
   } else {
-    oil_memcpy (out, scanlines->bb2, self->parent.row_stride[0]);
+    memcpy (out, scanlines->bb2, self->parent.row_stride[0]);
   }
 }
 
@@ -103,9 +103,9 @@ copy_scanline_planar_u (GstDeinterlaceSimpleMethod * self,
 {
   /* FIXME: original code used m2 and m0 but this looks really bad */
   if (scanlines->bottom_field) {
-    oil_memcpy (out, scanlines->bb0, self->parent.row_stride[1]);
+    memcpy (out, scanlines->bb0, self->parent.row_stride[1]);
   } else {
-    oil_memcpy (out, scanlines->bb2, self->parent.row_stride[1]);
+    memcpy (out, scanlines->bb2, self->parent.row_stride[1]);
   }
 }
 
@@ -115,9 +115,9 @@ copy_scanline_planar_v (GstDeinterlaceSimpleMethod * self,
 {
   /* FIXME: original code used m2 and m0 but this looks really bad */
   if (scanlines->bottom_field) {
-    oil_memcpy (out, scanlines->bb0, self->parent.row_stride[2]);
+    memcpy (out, scanlines->bb0, self->parent.row_stride[2]);
   } else {
-    oil_memcpy (out, scanlines->bb2, self->parent.row_stride[2]);
+    memcpy (out, scanlines->bb2, self->parent.row_stride[2]);
   }
 }