diff options
| -rw-r--r-- | gst/deinterlace2/Makefile.am | 9 | ||||
| -rw-r--r-- | gst/deinterlace2/gstdeinterlace2.c | 12 | ||||
| -rw-r--r-- | gst/deinterlace2/gstdeinterlace2.h | 11 | ||||
| -rw-r--r-- | gst/deinterlace2/tvtime/greedy.c | 6 | ||||
| -rw-r--r-- | gst/deinterlace2/tvtime/greedyh.c | 6 | ||||
| -rw-r--r-- | gst/deinterlace2/tvtime/vfir.c | 6 | 
6 files changed, 31 insertions, 19 deletions
diff --git a/gst/deinterlace2/Makefile.am b/gst/deinterlace2/Makefile.am index 26952e2e..fbddf189 100644 --- a/gst/deinterlace2/Makefile.am +++ b/gst/deinterlace2/Makefile.am @@ -4,15 +4,18 @@ libgstdeinterlace2_la_SOURCES = \  	gstdeinterlace2.c \  	tvtime/greedy.c \  	tvtime/greedyh.c \ -	tvtime/vfir.c \ -	tvtime/tomsmocomp.c +	tvtime/vfir.c + +#	tvtime/tomsmocomp.c  libgstdeinterlace2_la_CFLAGS = $(GST_CFLAGS) \ -	$(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(LIBOIL_CFLAGS) -DHAVE_MMX -DHAVE_SSE +	$(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(LIBOIL_CFLAGS)  libgstdeinterlace2_la_LIBADD = $(GST_LIBS) \  	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) $(GST_BASE_LIBS) $(LIBOIL_LIBS)  libgstdeinterlace2_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) +EXTRA_DIST = tvtime/tomsmocomp.c +  noinst_HEADERS = \  	gstdeinterlace2.h \  	tvtime/mmx.h \ diff --git a/gst/deinterlace2/gstdeinterlace2.c b/gst/deinterlace2/gstdeinterlace2.c index 14fea794..54cde5ff 100644 --- a/gst/deinterlace2/gstdeinterlace2.c +++ b/gst/deinterlace2/gstdeinterlace2.c @@ -23,10 +23,11 @@  #include "config.h"  #endif -#include "gstdeinterlace2.h"  #include <gst/gst.h>  #include <gst/video/video.h> +#include <liboil/liboil.h> +#include "gstdeinterlace2.h"  #include "tvtime/plugins.h"  #include <string.h> @@ -95,7 +96,9 @@ gst_deinterlace2_methods_get_type (void)    static GType deinterlace2_methods_type = 0;    static const GEnumValue methods_types[] = { +#if 0      {GST_DEINTERLACE2_TOMSMOCOMP, "Toms Motion Compensation", "tomsmocomp"}, +#endif      {GST_DEINTERLACE2_GREEDY_H, "Greedy High Motion", "greedyh"},      {GST_DEINTERLACE2_GREEDY_L, "Greedy Low Motion", "greedyl"},      {GST_DEINTERLACE2_VFIR, "Vertical Blur", "vfir"}, @@ -212,9 +215,11 @@ gst_deinterlace2_set_method (GstDeinterlace2 * self,    }    switch (method) { +#if 0      case GST_DEINTERLACE2_TOMSMOCOMP:        self->method = g_object_new (GST_TYPE_DEINTERLACE_TOMSMOCOMP, NULL);        break; +#endif      case GST_DEINTERLACE2_GREEDY_H:        self->method = g_object_new (GST_TYPE_DEINTERLACE_GREEDY_H, NULL);        break; @@ -270,8 +275,7 @@ gst_deinterlace2_class_init (GstDeinterlace2Class * klass)            "Method",            "Deinterlace Method",            GST_TYPE_DEINTERLACE2_METHODS, -          GST_DEINTERLACE2_TOMSMOCOMP, -          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS) +          GST_DEINTERLACE2_GREEDY_H, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)        );    g_object_class_install_property (gobject_class, ARG_FIELDS, @@ -351,7 +355,7 @@ gst_deinterlace2_init (GstDeinterlace2 * self, GstDeinterlace2Class * klass)    gst_element_no_more_pads (GST_ELEMENT (self)); -  gst_deinterlace2_set_method (self, GST_DEINTERLACE2_TOMSMOCOMP); +  gst_deinterlace2_set_method (self, GST_DEINTERLACE2_GREEDY_H);    self->field_layout = GST_DEINTERLACE2_LAYOUT_AUTO;    self->fields = GST_DEINTERLACE2_ALL; diff --git a/gst/deinterlace2/gstdeinterlace2.h b/gst/deinterlace2/gstdeinterlace2.h index 091602a5..ee9a2018 100644 --- a/gst/deinterlace2/gstdeinterlace2.h +++ b/gst/deinterlace2/gstdeinterlace2.h @@ -22,12 +22,17 @@  #ifndef __GST_DEINTERLACE_2_H__  #define __GST_DEINTERLACE_2_H__ +#include <gst/gst.h> +#include <gst/base/gstbasetransform.h>  #include <liboil/liboil.h> -#include <liboil/liboilfunction.h>  #include <liboil/liboilcpu.h> +#include <liboil/liboilfunction.h> -#include <gst/gst.h> -#include <gst/base/gstbasetransform.h> +#ifdef HAVE_GCC_ASM +#if defined(HAVE_CPU_I386) || defined(HAVE_CPU_X86_64) +#define BUILD_X86_ASM +#endif +#endif  G_BEGIN_DECLS diff --git a/gst/deinterlace2/tvtime/greedy.c b/gst/deinterlace2/tvtime/greedy.c index 9e398e75..e4324657 100644 --- a/gst/deinterlace2/tvtime/greedy.c +++ b/gst/deinterlace2/tvtime/greedy.c @@ -121,7 +121,7 @@ deinterlace_greedy_packed422_scanline_c (GstDeinterlaceMethodGreedyL * self,    }  } -#ifdef HAVE_CPU_I386 +#ifdef BUILD_X86_ASM  #include "mmx.h"  static void  deinterlace_greedy_packed422_scanline_mmx (GstDeinterlaceMethodGreedyL * self, @@ -449,7 +449,7 @@ gst_deinterlace_method_greedy_l_class_init (GstDeinterlaceMethodGreedyLClass *  {    GstDeinterlaceMethodClass *dim_class = (GstDeinterlaceMethodClass *) klass;    GObjectClass *gobject_class = (GObjectClass *) klass; -#ifdef HAVE_CPU_I386 +#ifdef BUILD_X86_ASM    guint cpu_flags = oil_cpu_get_flags ();  #endif @@ -468,7 +468,7 @@ gst_deinterlace_method_greedy_l_class_init (GstDeinterlaceMethodGreedyLClass *    dim_class->nick = "greedyl";    dim_class->latency = 1; -#ifdef HAVE_CPU_I386 +#ifdef BUILD_X86_ASM    if (cpu_flags & OIL_IMPL_FLAG_MMXEXT) {      klass->scanline = deinterlace_greedy_packed422_scanline_mmxext;    } else if (cpu_flags & OIL_IMPL_FLAG_MMX) { diff --git a/gst/deinterlace2/tvtime/greedyh.c b/gst/deinterlace2/tvtime/greedyh.c index 037c4dfc..73b572fa 100644 --- a/gst/deinterlace2/tvtime/greedyh.c +++ b/gst/deinterlace2/tvtime/greedyh.c @@ -205,7 +205,7 @@ greedyDScaler_C (GstDeinterlaceMethodGreedyH * self, uint8_t * L1, uint8_t * L2,    }  } -#ifdef HAVE_CPU_I386 +#ifdef BUILD_X86_ASM  #define IS_MMXEXT  #define SIMD_TYPE MMXEXT @@ -363,7 +363,7 @@ gst_deinterlace_method_greedy_h_class_init (GstDeinterlaceMethodGreedyHClass *  {    GstDeinterlaceMethodClass *dim_class = (GstDeinterlaceMethodClass *) klass;    GObjectClass *gobject_class = (GObjectClass *) klass; -#ifdef HAVE_CPU_I386 +#ifdef BUILD_X86_ASM    guint cpu_flags = oil_cpu_get_flags ();  #endif @@ -396,7 +396,7 @@ gst_deinterlace_method_greedy_h_class_init (GstDeinterlaceMethodGreedyHClass *    dim_class->nick = "greedyh";    dim_class->latency = 1; -#ifdef HAVE_CPU_I386 +#ifdef BUILD_X86_ASM    if (cpu_flags & OIL_IMPL_FLAG_MMXEXT) {      klass->scanline = greedyDScaler_MMXEXT;    } else if (cpu_flags & OIL_IMPL_FLAG_3DNOW) { diff --git a/gst/deinterlace2/tvtime/vfir.c b/gst/deinterlace2/tvtime/vfir.c index 0f46e6f4..85ed1555 100644 --- a/gst/deinterlace2/tvtime/vfir.c +++ b/gst/deinterlace2/tvtime/vfir.c @@ -90,7 +90,7 @@ deinterlace_line_c (uint8_t * dst, uint8_t * lum_m4,    }  } -#ifdef HAVE_CPU_I386 +#ifdef BUILD_X86_ASM  #include "mmx.h"  static void  deinterlace_line_mmx (uint8_t * dst, uint8_t * lum_m4, @@ -207,7 +207,7 @@ static void  gst_deinterlace_method_vfir_class_init (GstDeinterlaceMethodVFIRClass * klass)  {    GstDeinterlaceMethodClass *dim_class = (GstDeinterlaceMethodClass *) klass; -#ifdef HAVE_CPU_I386 +#ifdef BUILD_X86_ASM    guint cpu_flags = oil_cpu_get_flags ();  #endif @@ -217,7 +217,7 @@ gst_deinterlace_method_vfir_class_init (GstDeinterlaceMethodVFIRClass * klass)    dim_class->nick = "vfir";    dim_class->latency = 0; -#ifdef HAVE_CPU_I386 +#ifdef BUILD_X86_ASM    if (cpu_flags & OIL_IMPL_FLAG_MMX) {      klass->scanline = deinterlace_line_mmx;    } else {  | 
