diff -urN libfame-0.9.1.orig/src/fame_decoder_mpeg.c libfame-0.9.1/src/fame_decoder_mpeg.c --- libfame-0.9.1.orig/src/fame_decoder_mpeg.c 2003-07-01 11:59:34 +0300 +++ libfame-0.9.1/src/fame_decoder_mpeg.c 2006-09-09 01:01:18 +0300 @@ -25,6 +25,7 @@ #include "fame_decoder.h" #include "fame_decoder_mpeg.h" #include "table_scale.h" + #if defined(HAS_MMX) #define arch_enter_state() #define arch_leave_state() asm("emms") @@ -33,7 +34,6 @@ #include "dequantize_mmx.h" #include "reconstruct_mmx.h" #include "pad_int.h" /* TODO */ -#include "half_mmx.h" #else #define arch_enter_state() #define arch_leave_state() @@ -41,6 +41,13 @@ #include "dequantize_float.h" #include "reconstruct_float.h" #include "pad_int.h" +#endif + +#ifdef HAS_SSE +#include "half_sse.h" +#elif defined(HAS_MMX) +#include "half_mmx.h" +#else #include "half_int.h" #endif diff -urN libfame-0.9.1.orig/src/fame_motion.c libfame-0.9.1/src/fame_motion.c --- libfame-0.9.1.orig/src/fame_motion.c 2002-04-24 00:40:56 +0300 +++ libfame-0.9.1/src/fame_motion.c 2006-09-09 00:58:46 +0300 @@ -21,13 +21,20 @@ #include #include "fame.h" #include "fame_motion.h" -#if defined(HAS_MMX) -#include "mad_mmx.h" + +#ifdef HAS_SSE +#include "mae_sse.h" +#elif defined(HAS_MMX) #include "mae_mmx.h" #else -#include "mad_int.h" #include "mae_int.h" #endif + +#ifdef HAS_MMX +#include "mad_mmx.h" +#else +#include "mad_int.h" +#endif static void motion_init(fame_motion_t *motion, int mb_width, diff -urN libfame-0.9.1.orig/src/half_mmx.h libfame-0.9.1/src/half_mmx.h --- libfame-0.9.1.orig/src/half_mmx.h 2002-04-30 21:04:02 +0300 +++ libfame-0.9.1/src/half_mmx.h 2006-09-09 00:46:50 +0300 @@ -18,7 +18,7 @@ */ /**************************** half-pixel interpolation ***********************/ -static short const _mmx_one[] = { 1, 1, 1, 1 }; +short const _mmx_one[] = { 1, 1, 1, 1 }; static void inline mmx_interpolate(unsigned char **ref, int pitch, diff -urN libfame-0.9.1.orig/src/half_sse.h libfame-0.9.1/src/half_sse.h --- libfame-0.9.1.orig/src/half_sse.h 2002-01-27 04:24:56 +0200 +++ libfame-0.9.1/src/half_sse.h 2006-09-09 01:02:58 +0300 @@ -19,8 +19,8 @@ */ /**************************** half-pixel interpolation ***********************/ -static short const _mmx_one[] = { 1, 1, 1, 1 }; -static unsigned char const _mmx_one_byte[] = {1,1,1,1,1,1,1,1}; +short const _mmx_one[] = { 1, 1, 1, 1 }; +unsigned char const _mmx_one_byte[] = {1,1,1,1,1,1,1,1}; static void inline mmx_interpolate_signed(unsigned char **ref,