| Index: patched-ffmpeg-mt/libswscale/rgb2rgb.c
|
| ===================================================================
|
| --- patched-ffmpeg-mt/libswscale/rgb2rgb.c (revision 41250)
|
| +++ patched-ffmpeg-mt/libswscale/rgb2rgb.c (working copy)
|
| @@ -442,3 +442,23 @@
|
| dst[i] = ((b<<1)&0x07) | ((g&0x07)<<3) | ((r&0x03)<<6);
|
| }
|
| }
|
| +
|
| +#define DEFINE_SHUFFLE_BYTES(a, b, c, d) \
|
| +void shuffle_bytes_##a##b##c##d(const uint8_t *src, uint8_t *dst, long src_size) \
|
| +{ \
|
| + long i; \
|
| + \
|
| + for (i = 0; i < src_size; i+=4) { \
|
| + dst[i + 0] = src[i + a]; \
|
| + dst[i + 1] = src[i + b]; \
|
| + dst[i + 2] = src[i + c]; \
|
| + dst[i + 3] = src[i + d]; \
|
| + } \
|
| +}
|
| +
|
| +DEFINE_SHUFFLE_BYTES(0, 3, 2, 1);
|
| +DEFINE_SHUFFLE_BYTES(1, 2, 3, 0);
|
| +DEFINE_SHUFFLE_BYTES(2, 1, 0, 3);
|
| +DEFINE_SHUFFLE_BYTES(3, 0, 1, 2);
|
| +DEFINE_SHUFFLE_BYTES(3, 2, 1, 0);
|
| +
|
|
|