diff options
Diffstat (limited to 'test/ximage.c')
-rw-r--r-- | test/ximage.c | 38 |
1 files changed, 11 insertions, 27 deletions
diff --git a/test/ximage.c b/test/ximage.c index 1c16bfda..3b4a9b8b 100644 --- a/test/ximage.c +++ b/test/ximage.c @@ -246,7 +246,7 @@ select_mode(void) info.mode = byteorder == MSBFirst ? RGBA8888 : ABGR8888; } - printf("argb:8888 -> %s\n", modename[info.mode]); + printf("convert ARGB8888 to %s\n", modename[info.mode]); /* select conversion function */ info.convert_func = ximage_convert_funcs[info.mode]; @@ -414,7 +414,6 @@ ximage_blit(Drawable d, GC gc, /* * */ - #ifndef _C99 #ifdef __GNUC__ #define restrict __restrict__ @@ -456,20 +455,16 @@ ximage_convert_bgra8888(PARAMS) int x, y; unsigned *s = (unsigned *)src; unsigned *d = (unsigned *)dst; + unsigned val; for (y = 0; y < h; y++) { for (x = 0; x < w; x++) { - unsigned val = s[x]; - unsigned a0g0 = val & 0xff00ff00; - unsigned gb00 = val << 16; - unsigned zzar = val >> 16; - unsigned gbar = gb00 | zzar; - d[x] = (gbar & 0x00ff00ff) | a0g0; -/* + val = s[x]; d[x] = (val >> 24) | - ((val >> 8) & 0xff) | - ((val << 8) & 0xff0000) | - (val << 24); + ((val >> 8) & 0xff00) | + (val << 24) | + ((val << 8) & 0xff0000); +/* d[x] = (((val >> 24) & 0xff) << 0) | (((val >> 16) & 0xff) << 8) | @@ -487,7 +482,6 @@ ximage_convert_bgra8888(PARAMS) static void ximage_convert_abgr8888(PARAMS) { -#if 1 int x, y; unsigned *s = (unsigned *)src; unsigned *d = (unsigned *)dst; @@ -496,26 +490,16 @@ ximage_convert_abgr8888(PARAMS) for (y = 0; y < h; y++) { for (x = 0; x < w; x++) { val = s[x]; - /* bigendian... */ +#if 1 /* FZ_MSB */ d[x] = (val & 0xff00ff00) | (((val << 16) | (val >> 16)) & 0x00ff00ff); +#else /* FZ_LSB */ + d[x] = (val << 24) | ((val >> 8) & 0xff); +#endif } d += dststride>>2; s += srcstride>>2; } -#else - int x, y; - for (y = 0; y < h; y++) { - for (x = 0; x < w; x++) { - dst[x * 4 + 0] = src[x * 4 + 0]; - dst[x * 4 + 1] = src[x * 4 + 3]; - dst[x * 4 + 2] = src[x * 4 + 2]; - dst[x * 4 + 3] = src[x * 4 + 1]; - } - dst += dststride; - src += srcstride; - } -#endif } static void |