mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-25 00:32:31 +00:00
Fix rgb32tobgr16, rgb32to15, and rgb32tobgr15. All had the same problem that
was fixed in rgb32to16 about a year ago: using only the first 8 bits of the 32-bit pixel. Originally committed as revision 17671 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
This commit is contained in:
parent
7bdb4f67bc
commit
1d773cfde0
@ -468,8 +468,8 @@ static inline void RENAME(rgb32tobgr16)(const uint8_t *src, uint8_t *dst, long s
|
||||
#endif
|
||||
while(s < end)
|
||||
{
|
||||
const int src= *s; s += 4;
|
||||
*d++ = ((src&0xF8)<<8) + ((src&0xFC00)>>5) + ((src&0xF80000)>>19);
|
||||
register int rgb = *(uint32_t*)s; s += 4;
|
||||
*d++ = ((rgb&0xF8)<<8) + ((rgb&0xFC00)>>5) + ((rgb&0xF80000)>>19);
|
||||
}
|
||||
}
|
||||
|
||||
@ -564,8 +564,8 @@ static inline void RENAME(rgb32to15)(const uint8_t *src, uint8_t *dst, long src_
|
||||
#endif
|
||||
while(s < end)
|
||||
{
|
||||
const int src= *s; s += 4;
|
||||
*d++ = ((src&0xFF)>>3) + ((src&0xF800)>>6) + ((src&0xF80000)>>9);
|
||||
register int rgb = *(uint32_t*)s; s += 4;
|
||||
*d++ = ((rgb&0xFF)>>3) + ((rgb&0xF800)>>6) + ((rgb&0xF80000)>>9);
|
||||
}
|
||||
}
|
||||
|
||||
@ -625,8 +625,8 @@ static inline void RENAME(rgb32tobgr15)(const uint8_t *src, uint8_t *dst, long s
|
||||
#endif
|
||||
while(s < end)
|
||||
{
|
||||
const int src= *s; s += 4;
|
||||
*d++ = ((src&0xF8)<<7) + ((src&0xF800)>>6) + ((src&0xF80000)>>19);
|
||||
register int rgb = *(uint32_t*)s; s += 4;
|
||||
*d++ = ((rgb&0xF8)<<7) + ((rgb&0xF800)>>6) + ((rgb&0xF80000)>>19);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user