Fixes rgb32to16 conversion for I think all platforms since the int8
authorRene Rebe <rene@exactcode.de>
Tue, 22 Mar 2005 10:11:42 +0000 (10:11 +0000)
committerDiego Biurrun <diego@biurrun.de>
Tue, 22 Mar 2005 10:11:42 +0000 (10:11 +0000)
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>

Originally committed as revision 14983 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc

postproc/rgb2rgb_template.c

index 8993178..e7571b4 100644 (file)
@@ -403,10 +403,8 @@ static inline void RENAME(rgb32to16)(const uint8_t *src, uint8_t *dst, unsigned
 #endif
        while(s < end)
        {
-               // FIXME on bigendian
-               const int src= *s; s += 4;
-               *d++ = ((src&0xFF)>>3) + ((src&0xFC00)>>5) + ((src&0xF80000)>>8);
-//             *d++ = ((src>>3)&0x1F) + ((src>>5)&0x7E0) + ((src>>8)&0xF800);
+               register int rgb = *(uint32_t*)s; s += 4;
+               *d++ = ((rgb&0xFF)>>3) + ((rgb&0xFC00)>>5) + ((rgb&0xF80000)>>8);
        }
 }