diff options
Diffstat (limited to 'gst/deinterlace2/tvtime/tomsmocomp.c')
-rw-r--r-- | gst/deinterlace2/tvtime/tomsmocomp.c | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/gst/deinterlace2/tvtime/tomsmocomp.c b/gst/deinterlace2/tvtime/tomsmocomp.c index c27d4874..0565b6c7 100644 --- a/gst/deinterlace2/tvtime/tomsmocomp.c +++ b/gst/deinterlace2/tvtime/tomsmocomp.c @@ -29,9 +29,6 @@ #include "gstdeinterlace2.h" #include "plugins.h" -#include "tomsmocomp/tomsmocompmacros.h" -#include "x86-64_macros.inc" - #define GST_TYPE_DEINTERLACE_METHOD_TOMSMOCOMP (gst_deinterlace_method_tomsmocomp_get_type ()) #define GST_IS_DEINTERLACE_METHOD_TOMSMOCOMP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_DEINTERLACE_METHOD_TOMSMOCOMP)) #define GST_IS_DEINTERLACE_METHOD_TOMSMOCOMP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_DEINTERLACE_METHOD_TOMSMOCOMP)) @@ -72,6 +69,20 @@ Fieldcopy (void *dest, const void *src, size_t count, return 0; } +#define USE_FOR_DSCALER + +#define IS_C +#define SIMD_TYPE C +#define FUNCT_NAME tomsmocompDScaler_C +#include "tomsmocomp/TomsMoCompAll.inc" +#undef IS_C +#undef SIMD_TYPE +#undef FUNCT_NAME + +#ifdef BUILD_X86_ASM + +#include "tomsmocomp/tomsmocompmacros.h" +#include "x86-64_macros.inc" #define IS_MMX #define SIMD_TYPE MMX @@ -97,6 +108,8 @@ Fieldcopy (void *dest, const void *src, size_t count, #undef SIMD_TYPE #undef FUNCT_NAME +#endif + G_DEFINE_TYPE (GstDeinterlaceMethodTomsMoComp, gst_deinterlace_method_tomsmocomp, GST_TYPE_DEINTERLACE_METHOD); @@ -173,6 +186,7 @@ static void dim_class->nick = "tomsmocomp"; dim_class->latency = 1; +#ifdef BUILD_X86_ASM if (cpu_flags & OIL_IMPL_FLAG_MMXEXT) { dim_class->deinterlace_frame = tomsmocompDScaler_MMXEXT; } else if (cpu_flags & OIL_IMPL_FLAG_3DNOW) { @@ -180,8 +194,11 @@ static void } else if (cpu_flags & OIL_IMPL_FLAG_MMX) { dim_class->deinterlace_frame = tomsmocompDScaler_MMX; } else { - dim_class->available = FALSE; + dim_class->deinterlace_frame = tomsmocompDScaler_C; } +#else + dim_class->deinterlace_frame = tomsmocompDScaler_C; +#endif } static void |