# HG changeset patch
# User Diego 'Flameeyes' Pettenò <[EMAIL PROTECTED]>
# Date 1181399031 -7200
# Node ID 3a4f5594f404c9d8050a4328ca623961eead7e25
# Parent  fb2c63b1438ee6ca875aa64ec4d1800cc36e57ea
Complete deinterlacers port.

diff -r 3a4f5594f404c9d8050a4328ca623961eead7e25 -r 
fb2c63b1438ee6ca875aa64ec4d1800cc36e57ea 
src/post/deinterlace/plugins/kdetv_tomsmocomp.c
--- a/src/post/deinterlace/plugins/kdetv_tomsmocomp.c   Sat Jun 09 16:23:51 
2007 +0200
+++ b/src/post/deinterlace/plugins/kdetv_tomsmocomp.c   Sat Jun 09 16:03:22 
2007 +0200
@@ -33,12 +33,13 @@
 
 #include "attributes.h"
 #include "xineutils.h"
+#include "cpu_accel.h"
 #include "deinterlace.h"
 #include "speedtools.h"
 #include "speedy.h"
 #include "plugins.h"
 
-#if defined (ARCH_X86) || defined (ARCH_X86_64)
+#if defined(BUILD_SSE_MAYBE) || defined(BUILD_3DNOW_MAYBE) || 
defined(BUILD_MMX_MAYBE)
 
 static int Fieldcopy(void *dest, const void *src, size_t count,
                      int rows, int dst_pitch, int src_pitch)
@@ -65,7 +66,7 @@ static long SearchEffort=SearchEffortDef
 static long SearchEffort=SearchEffortDefault;
 static int UseStrangeBob=UseStrangeBobDefault;
 
-
+#ifdef BUILD_MMX_MAYBE
 #define IS_MMX
 #define SSE_TYPE MMX
 #define FUNCT_NAME tomsmocomp_filter_mmx
@@ -73,7 +74,9 @@ static int UseStrangeBob=UseStrangeBobDe
 #undef  IS_MMX
 #undef  SSE_TYPE
 #undef  FUNCT_NAME
+#endif
 
+#ifdef BUILD_3DNOW_MAYBE
 #define IS_3DNOW
 #define SSE_TYPE 3DNOW
 #define FUNCT_NAME tomsmocomp_filter_3dnow
@@ -81,7 +84,9 @@ static int UseStrangeBob=UseStrangeBobDe
 #undef  IS_3DNOW
 #undef  SSE_TYPE
 #undef  FUNCT_NAME
+#endif
 
+#ifdef BUILD_SSE_MAYBE
 #define IS_SSE
 #define SSE_TYPE SSE
 #define FUNCT_NAME tomsmocomp_filter_sse
@@ -89,7 +94,6 @@ static int UseStrangeBob=UseStrangeBobDe
 #undef  IS_SSE
 #undef  SSE_TYPE
 #undef  FUNCT_NAME
-
 #endif
 
 static void deinterlace_frame_di_tomsmocomp( uint8_t *output, int outstride,
@@ -97,22 +101,29 @@ static void deinterlace_frame_di_tomsmoc
                                              int bottom_field, int 
second_field,
                                              int width, int height )
 {
-#if defined (ARCH_X86) || defined (ARCH_X86_64)
-
-    if( xine_mm_accel() & MM_ACCEL_X86_MMXEXT ) {
+#ifdef BUILD_SSE_MAYBE 
+    if( CHECK_SSE ) {
         tomsmocomp_filter_sse( output, outstride, data,
                                bottom_field, second_field,
                                width, height );
-    } else if( xine_mm_accel() & MM_ACCEL_X86_3DNOW ) {
+       return;
+    }
+#endif
+#ifdef BUILD_3DNOW_MAYBE
+    if( CHECK_3DNOW ) {
         tomsmocomp_filter_3dnow( output, outstride, data,
                                  bottom_field, second_field,
                                  width, height );
-    } else {
+       return;
+    }
+#endif
+#ifdef BUILD_MMX_MAYBE
+    if ( CHECK_MMX ) {
         tomsmocomp_filter_mmx( output, outstride, data,
                                bottom_field, second_field,
                                width, height );
+       return;
     }
-
 #endif
 }
 
@@ -145,3 +156,5 @@ deinterlace_method_t *dscaler_tomsmocomp
     return &tomsmocompmethod;
 }
 
+#endif
+
diff -r 3a4f5594f404c9d8050a4328ca623961eead7e25 -r 
fb2c63b1438ee6ca875aa64ec4d1800cc36e57ea src/post/deinterlace/plugins/plugins.h
--- a/src/post/deinterlace/plugins/plugins.h    Sat Jun 09 16:23:51 2007 +0200
+++ b/src/post/deinterlace/plugins/plugins.h    Sat Jun 09 16:03:22 2007 +0200
@@ -41,8 +41,8 @@ deinterlace_method_t *scalerbob_get_meth
 deinterlace_method_t *scalerbob_get_method( void );
 deinterlace_method_t *linearblend_get_method( void );
 deinterlace_method_t *vfir_get_method( void );
+#if defined(BUILD_SSE_MAYBE) || defined(BUILD_3DNOW_MAYBE) || 
defined(BUILD_MMX_MAYBE)
 deinterlace_method_t *dscaler_tomsmocomp_get_method( void );
-#if defined(BUILD_SSE_MAYBE) || defined(BUILD_3DNOW_MAYBE) || 
defined(BUILD_MMX_MAYBE)
 deinterlace_method_t *dscaler_greedyh_get_method( void );
 #endif
 deinterlace_method_t *greedy_get_method( void );
diff -r 3a4f5594f404c9d8050a4328ca623961eead7e25 -r 
fb2c63b1438ee6ca875aa64ec4d1800cc36e57ea src/post/deinterlace/speedy.c
--- a/src/post/deinterlace/speedy.c     Sat Jun 09 16:23:51 2007 +0200
+++ b/src/post/deinterlace/speedy.c     Sat Jun 09 16:03:22 2007 +0200
@@ -64,6 +64,7 @@
 
 #include "attributes.h"
 #include "xineutils.h"
+#include "cpu_accel.h"
 #include "speedtools.h"
 #include "speedy.h"
 
diff -r 3a4f5594f404c9d8050a4328ca623961eead7e25 -r 
fb2c63b1438ee6ca875aa64ec4d1800cc36e57ea src/post/deinterlace/xine_plugin.c
--- a/src/post/deinterlace/xine_plugin.c        Sat Jun 09 16:23:51 2007 +0200
+++ b/src/post/deinterlace/xine_plugin.c        Sat Jun 09 16:03:22 2007 +0200
@@ -32,6 +32,7 @@
 #include "xine_internal.h"
 #include "post.h"
 #include "xineutils.h"
+#include "cpu_accel.h"
 #include "xine_buffer.h"
 #include <pthread.h>
 
@@ -320,8 +321,8 @@ static void *deinterlace_init_plugin(xin
   register_deinterlace_method( scalerbob_get_method() );
 #if defined(BUILD_SSE_MAYBE) || defined(BUILD_3DNOW_MAYBE) || 
defined(BUILD_MMX_MAYBE)
   register_deinterlace_method( dscaler_greedyh_get_method() );
+  register_deinterlace_method( dscaler_tomsmocomp_get_method() );
 #endif
-  register_deinterlace_method( dscaler_tomsmocomp_get_method() );
 
   filter_deinterlace_methods( config_flags, 5 /*fieldsavailable*/ );
   if( !get_num_deinterlace_methods() ) {

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Xine-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xine-cvslog

Reply via email to