comparison postproc/rgb2rgb_template.c @ 14982:49dd10a86b23

Fixes rgb32to16 conversion for I think all platforms since the int8 cast should never have worked. Tested on PowerPC and fixes the black GUI to show the content. patch by Rene Rebe <rene at exactcode dot de>
author diego
date Tue, 22 Mar 2005 10:11:42 +0000
parents 821f464b4d90
children e91f944f6ed9
comparison
equal deleted inserted replaced
14981:293d3dee2eae 14982:49dd10a86b23
401 __asm __volatile(SFENCE:::"memory"); 401 __asm __volatile(SFENCE:::"memory");
402 __asm __volatile(EMMS:::"memory"); 402 __asm __volatile(EMMS:::"memory");
403 #endif 403 #endif
404 while(s < end) 404 while(s < end)
405 { 405 {
406 // FIXME on bigendian 406 register int rgb = *(uint32_t*)s; s += 4;
407 const int src= *s; s += 4; 407 *d++ = ((rgb&0xFF)>>3) + ((rgb&0xFC00)>>5) + ((rgb&0xF80000)>>8);
408 *d++ = ((src&0xFF)>>3) + ((src&0xFC00)>>5) + ((src&0xF80000)>>8);
409 // *d++ = ((src>>3)&0x1F) + ((src>>5)&0x7E0) + ((src>>8)&0xF800);
410 } 408 }
411 } 409 }
412 410
413 static inline void RENAME(rgb32tobgr16)(const uint8_t *src, uint8_t *dst, unsigned int src_size) 411 static inline void RENAME(rgb32tobgr16)(const uint8_t *src, uint8_t *dst, unsigned int src_size)
414 { 412 {