diff --git a/src/modules/Image/image.c b/src/modules/Image/image.c index f6cf7477528249361ecea86624b2db70c8e6f1f1..4a6092692f87b4f01728c953a386dbcbde054818 100644 --- a/src/modules/Image/image.c +++ b/src/modules/Image/image.c @@ -1,9 +1,9 @@ -/* $Id: image.c,v 1.161 2000/06/02 05:01:44 per Exp $ */ +/* $Id: image.c,v 1.162 2000/06/03 21:01:02 per Exp $ */ /* **! module Image **! note -**! $Id: image.c,v 1.161 2000/06/02 05:01:44 per Exp $ +**! $Id: image.c,v 1.162 2000/06/03 21:01:02 per Exp $ **! class Image **! **! The main object of the <ref>Image</ref> module, this object @@ -98,7 +98,7 @@ #include "stralloc.h" #include "global.h" -RCSID("$Id: image.c,v 1.161 2000/06/02 05:01:44 per Exp $"); +RCSID("$Id: image.c,v 1.162 2000/06/03 21:01:02 per Exp $"); #include "pike_macros.h" #include "object.h" #include "constants.h" @@ -2266,19 +2266,14 @@ void image_color(INT32 args) THREADS_ALLOW(); { #ifdef ASSEMBLY_OK -#define MCcol( A, B, C, D ) ((A<<24) | (B<<16) | (C<<8) | D) if( image_cpuid & IMAGE_MMX ) { - image_mult_buffer_mmx_x86asm( d,s,x/4, - MCcol(rgb.r,rgb.b,rgb.g, rgb.r ), - MCcol(rgb.g,rgb.r,rgb.b, rgb.g ), - MCcol(rgb.b,rgb.g,rgb.r, rgb.b ) ); + image_mult_buffer_mmx_x86asm( d,s,x/4, RGB2ASMCOL( rgb ) ); s += x; x = x%4; s -= x; } } -#undef MCcol #endif while (x--) { diff --git a/src/modules/Image/operator.c b/src/modules/Image/operator.c index d0e8bfa6083c9eda6c0f4aeb4948594aa6389c67..ff51acd804c86747c6bb223d5b81c3e1dc5537b5 100644 --- a/src/modules/Image/operator.c +++ b/src/modules/Image/operator.c @@ -1,9 +1,9 @@ -/* $Id: operator.c,v 1.27 2000/06/02 05:03:32 per Exp $ */ +/* $Id: operator.c,v 1.28 2000/06/03 21:01:16 per Exp $ */ /* **! module Image **! note -**! $Id: operator.c,v 1.27 2000/06/02 05:03:32 per Exp $ +**! $Id: operator.c,v 1.28 2000/06/03 21:01:16 per Exp $ **! class Image */ @@ -26,10 +26,7 @@ #include "image.h" #include "image_machine.h" - -#ifdef ASSEMBLY_OK #include "assembly.h" -#endif extern struct program *image_program; #ifdef THIS @@ -188,7 +185,6 @@ STANDARD_OPERATOR_HEADER("`+") else { #ifdef ASSEMBLY_OK -#define MCcol( A, B, C, D ) ((A<<24) | (B<<16) | (C<<8) | D) if( image_cpuid & IMAGE_MMX ) { if( (rgb.r >= 0) && (rgb.g >= 0) && (rgb.b >= 0) ) @@ -196,10 +192,7 @@ STANDARD_OPERATOR_HEADER("`+") if( rgb.r > 255 ) rgb.r = 255; if( rgb.g > 255 ) rgb.g = 255; if( rgb.b > 255 ) rgb.b = 255; - image_add_buffer_mmx_x86asm( d,s1,i/4, - MCcol( rgb.r, rgb.b, rgb.g, rgb.r ), - MCcol( rgb.g, rgb.r, rgb.b, rgb.g ), - MCcol( rgb.b, rgb.g, rgb.r, rgb.b ) ); + image_add_buffer_mmx_x86asm( d,s1,i/4,RGB2ASMCOL(rgb) ); } else if( (rgb.r < 0) && (rgb.g < 0) && (rgb.b < 0) ) { rgb.r = -rgb.r; rgb.g = -rgb.g; @@ -207,16 +200,12 @@ STANDARD_OPERATOR_HEADER("`+") if( rgb.r > 255 ) rgb.r = 255; if( rgb.g > 255 ) rgb.g = 255; if( rgb.b > 255 ) rgb.b = 255; - image_sub_buffer_mmx_x86asm( d,s1,i/4, - MCcol( rgb.r, rgb.b, rgb.g, rgb.r ), - MCcol( rgb.g, rgb.r, rgb.b, rgb.g ), - MCcol( rgb.b, rgb.g, rgb.r, rgb.b ) ); + image_sub_buffer_mmx_x86asm( d,s1,i/4,RGB2ASMCOL(rgb) ); } d += i; s1 += i; i = i%4; d -= i; s1 -= i; } -#undef MCcol #endif while (i--) { @@ -286,18 +275,13 @@ STANDARD_OPERATOR_HEADER("`*") (rgb.b < 256) ) { #ifdef ASSEMBLY_OK -#define MCcol( A, B, C, D ) ((A<<24) | (B<<16) | (C<<8) | D) if( image_cpuid & IMAGE_MMX ) { - image_mult_buffer_mmx_x86asm( d,s1,i/4, - MCcol( rgb.r, rgb.b, rgb.g, rgb.r ), - MCcol( rgb.g, rgb.r, rgb.b, rgb.g ), - MCcol( rgb.b, rgb.g, rgb.r, rgb.b ) ); + image_mult_buffer_mmx_x86asm( d,s1,i/4,RGB2ASMCOL(rgb) ); d += i; s1 += i; i = i%4; d -= i; s1 -= i; } -#undef MCcol #endif while (i--) {