summaryrefslogtreecommitdiff
path: root/src/post/goom/mmx.h
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2004-07-21 14:38:29 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2004-07-21 14:38:29 +0000
commit2e73a5e69f0227f15c6049ef805a9b8c20166e2b (patch)
treea76597e387b3748bb06290e7980e432711d72670 /src/post/goom/mmx.h
parent5ef0b5f10d0ee154a8add83c7c19d8557898226f (diff)
downloadxine-lib-2e73a5e69f0227f15c6049ef805a9b8c20166e2b.tar.gz
xine-lib-2e73a5e69f0227f15c6049ef805a9b8c20166e2b.tar.bz2
new goom2k4-dev18 includes almost all of my warning fixes
(the goom team is quite fast in applying my patches :) ) some files are still slightly patched from the release version, but I will get this sorted out so we will soon use a completely unmodified version of goom it compiles almost warningless now (the remaining warnings are introduced by lex/yacc and I plan to simply ignore them) the Makefile.am distclean-hack is also obsolete now, since the offending files have been renamed CVS patchset: 6828 CVS date: 2004/07/21 14:38:29
Diffstat (limited to 'src/post/goom/mmx.h')
-rwxr-xr-xsrc/post/goom/mmx.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/post/goom/mmx.h b/src/post/goom/mmx.h
index fe095de12..53c1cc5d9 100755
--- a/src/post/goom/mmx.h
+++ b/src/post/goom/mmx.h
@@ -27,6 +27,8 @@
#ifndef _MMX_H
#define _MMX_H
+#include "goom_graphic.h"
+
/* Warning: at this writing, the version of GAS packaged
with most Linux distributions does not handle the
parallel AND operation mnemonic correctly. If the
@@ -58,7 +60,7 @@ typedef union {
/* Function to test if multimedia instructions are supported...
*/
-inline extern int
+static int
mm_support(void)
{
/* Returns 1 if MMX instructions are supported,
@@ -223,13 +225,25 @@ mm_support(void)
/* Function to test if mmx instructions are supported...
*/
-inline extern int
+static inline int
mmx_ok(void)
{
/* Returns 1 if MMX instructions are supported, 0 otherwise */
return ( mm_support() & 0x1 );
}
+int mmx_supported (void);
+int xmmx_supported (void);
+
+
+/* MMX optimized implementations */
+void draw_line_mmx (Pixel *data, int x1, int y1, int x2, int y2, int col, int screenx, int screeny);
+void draw_line_xmmx (Pixel *data, int x1, int y1, int x2, int y2, int col, int screenx, int screeny);
+void zoom_filter_mmx (int prevX, int prevY, Pixel *expix1, Pixel *expix2,
+ int *brutS, int *brutD, int buffratio, int precalCoef[16][16]);
+void zoom_filter_xmmx (int prevX, int prevY, Pixel *expix1, Pixel *expix2,
+ int *lbruS, int *lbruD, int buffratio, int precalCoef[16][16]);
+
/* Helper functions for the instruction macros that follow...
(note that memory-to-register, m2r, instructions are nearly