// Convert 0000bbb0 ggg0rrr0 0000bbb0 ggg0rrr0 // to 00000000 rrr00000 ggg00000 bbb00000 ... void vidConvCpyRGB32 (void *to, void *from, int pixels) { unsigned short *ps = from; unsigned int *pd = to; for (; pixels; pixels--, ps++, pd++) { *pd = ((*ps<<20)&0xe00000) | ((*ps<<8)&0xe000) | ((*ps>>4)&0xe0); *pd |= *pd >> 3; } } void vidConvCpyRGB32sh(void *to, void *from, int pixels) { unsigned short *ps = from; unsigned int *pd = to; for (; pixels; pixels--, ps++, pd++) { *pd = ((*ps<<20)&0xe00000) | ((*ps<<8)&0xe000) | ((*ps>>4)&0xe0); *pd >>= 1; *pd |= *pd >> 3; } } void vidConvCpyRGB32hi(void *to, void *from, int pixels) { unsigned short *ps = from; unsigned int *pd = to; for (; pixels; pixels--, ps++, pd++) { *pd = ((*ps<<20)&0xe00000) | ((*ps<<8)&0xe000) | ((*ps>>4)&0xe0); continue; *pd += 0x00404040; if (*pd & 0x01000000) *pd |= 0x00e00000; if (*pd & 0x00010000) *pd |= 0x0000e000; if (*pd & 0x00000100) *pd |= 0x000000e0; *pd &= 0x00e0e0e0; *pd |= *pd >> 3; } } void vidCpyM2_40col(void *dest, void *src) { unsigned char *pd = dest, *ps = src; int i, u; for (i = 0; i < 224; i++) { ps += 8; for (u = 0; u < 320; u++) *pd++ = *ps++; } } void vidCpyM2_32col(void *dest, void *src) { unsigned char *pd = dest, *ps = src; int i, u; for (i = 0; i < 224; i++) { ps += 8; pd += 32; for (u = 0; u < 256; u++) *pd++ = *ps++; ps += 64; pd += 32; } } void vidCpyM2_32col_nobord(void *dest, void *src) { vidCpyM2_32col(dest, src); }