static void test_mul32s(void) { int x, y; for(y = 0; y < height; y++) { uint32_t *data = img + y * width; for(x = 0; x < width ; x++) { uint32_t x = *data; uint8_t a = x >> 24; uint8_t b = (uint8_t)(x >> 16); uint8_t c = (uint8_t)(x >> 8); uint8_t d = (uint8_t)x; a *= K; b *= K; c *= K; d *= K; *data++ = ((uint32_t)a << 24) | ((uint32_t)b << 16) | ((uint16_t)c << 8) | d; } } } static void test_mul32(void) { int x, y; for(y = 0; y < height; y++) { uint32_t *data = img + y * width; for(x = 0; x < width ; x++) { union { uint32_t x; uint8_t t[4]; } u; u.x = *data; u.t[0] *= K; u.t[1] *= K; u.t[2] *= K; u.t[3] *= K; *data++ = u.x; } } }