Mercurial > mplayer.hg
diff libswscale/rgb2rgb.h @ 30459:9bb2ebbb52be
Implement shuffle_bytes_abcd() functions and use them for shuffling
bytes when converting between RGB32 variants.
In particular fix the argb -> rgba and abgr -> bgra conversions.
See the thread:
Subject: [FFmpeg-devel] [RFC] RGB32 / BGR32 ethernal bug
Date: Tue, 26 Jan 2010 01:06:18 +0100
author | stefano |
---|---|
date | Wed, 03 Feb 2010 23:46:00 +0000 |
parents | 1032ff2e83f1 |
children | 9f894134a0b3 |
line wrap: on
line diff
--- a/libswscale/rgb2rgb.h Wed Feb 03 22:36:47 2010 +0000 +++ b/libswscale/rgb2rgb.h Wed Feb 03 23:46:00 2010 +0000 @@ -60,6 +60,11 @@ void rgb15tobgr15(const uint8_t *src, uint8_t *dst, long src_size); void bgr8torgb8 (const uint8_t *src, uint8_t *dst, long src_size); +void shuffle_bytes_0321(const uint8_t *src, uint8_t *dst, long src_size); +void shuffle_bytes_1230(const uint8_t *src, uint8_t *dst, long src_size); +void shuffle_bytes_2103(const uint8_t *src, uint8_t *dst, long src_size); +void shuffle_bytes_3012(const uint8_t *src, uint8_t *dst, long src_size); +void shuffle_bytes_3210(const uint8_t *src, uint8_t *dst, long src_size); void palette8topacked32(const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette); void palette8topacked24(const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette);