summaryrefslogtreecommitdiff
path: root/test/ximage.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/ximage.c')
-rw-r--r--test/ximage.c38
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