# HG changeset patch
# User Diego 'Flameeyes' Pettenò <[EMAIL PROTECTED]>
# Date 1181396674 -7200
# Node ID 9de08f498b630c24ce6678260e3ada49e22ae07d
# Parent ab096da18c08c44fb8fc81ec4d8cf56b190fb0d2
Finish planar porting.
diff -r 9de08f498b630c24ce6678260e3ada49e22ae07d -r
ab096da18c08c44fb8fc81ec4d8cf56b190fb0d2 src/post/planar/noise.c
--- a/src/post/planar/noise.c Sat Jun 09 15:44:34 2007 +0200
+++ b/src/post/planar/noise.c Sat Jun 09 15:35:48 2007 +0200
@@ -26,11 +26,12 @@
#include "xine_internal.h"
#include "post.h"
#include "xineutils.h"
+#include "cpu_accel.h"
#include <math.h>
#include <pthread.h>
-#ifdef ARCH_X86_64
+#ifdef __x86_64__
# define REG_a "rax"
#else
# define REG_a "eax"
@@ -149,7 +150,7 @@ static inline void lineNoise_C(uint8_t *
}
}
-#ifdef ARCH_X86
+#ifdef BUILD_MMX_MAYBE
static inline void lineNoise_MMX(uint8_t *dst, uint8_t *src, int8_t *noise,
int len, int shift){
long mmx_len= len&(~7);
noise+=shift;
@@ -175,7 +176,9 @@ static inline void lineNoise_MMX(uint8_t
if(mmx_len!=len)
lineNoise_C(dst+mmx_len, src+mmx_len, noise+mmx_len, len-mmx_len, 0);
}
-
+#endif
+
+#ifdef BUILD_MMXEXT_MAYBE
//duplicate of previous except movntq
static inline void lineNoise_MMX2(uint8_t *dst, uint8_t *src, int8_t *noise,
int len, int shift){
long mmx_len= len&(~7);
@@ -218,7 +221,7 @@ static inline void lineNoiseAvg_C(uint8_
}
}
-#ifdef ARCH_X86
+#ifdef BUILD_MMX_MAYBE
static inline void lineNoiseAvg_MMX(uint8_t *dst, uint8_t *src, int len,
int8_t **shift){
long mmx_len= len&(~7);
@@ -457,11 +460,15 @@ void *noise_init_plugin(xine_t *xine, vo
class->get_description = noise_get_description;
class->dispose = noise_class_dispose;
-#ifdef ARCH_X86
- if (xine_mm_accel() & MM_ACCEL_X86_MMX) {
+#ifdef BUILD_MMX_MAYBE
+ if ( CHECK_MMX ) {
lineNoise = lineNoise_MMX;
lineNoiseAvg = lineNoiseAvg_MMX;
- } else if (xine_mm_accel() & MM_ACCEL_X86_MMXEXT) {
+ }
+#endif
+
+#ifdef BUILD_MMXEXT_MAYBE
+ if ( CHECK_MMXEXT ) {
lineNoise = lineNoise_MMX2;
}
#endif
@@ -590,10 +597,13 @@ static int noise_draw(vo_frame_t *frame,
frame->width * 2, frame->height, &this->params[0]);
}
-#ifdef ARCH_X86
- if (xine_mm_accel() & MM_ACCEL_X86_MMX)
+#ifdef BUILD_MMX_MAYBE
+ if ( CHECK_MMX )
asm volatile ("emms\n\t");
- if (xine_mm_accel() & MM_ACCEL_X86_MMXEXT)
+#endif
+
+#ifdef BUILD_MMXEXT_MAYBE
+ if ( CHECK_MMXEXT )
asm volatile ("sfence\n\t");
#endif
-------------------------------------------------------------------------
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