summaryrefslogtreecommitdiff
path: root/libswscale/rgb2rgb.c
diff options
context:
space:
mode:
authorMartin Vignali <martin.vignali@gmail.com>2018-03-24 20:17:32 +0100
committerMartin Vignali <martin.vignali@gmail.com>2018-03-24 20:22:02 +0100
commitd4f6640855faf57da1ccc3cade356975fcb00207 (patch)
tree73b0bc1e31a73e62634604b0d64ad0875262b730 /libswscale/rgb2rgb.c
parent923a324174c2d943b8d21d0b77fc0d0c847abca0 (diff)
swscale/rgb : move shuffle func shuffle_bytes_1230, shuffle_bytes_3012, shuffle_bytes_3210 in order to add SIMD
Diffstat (limited to 'libswscale/rgb2rgb.c')
-rw-r--r--libswscale/rgb2rgb.c23
1 files changed, 4 insertions, 19 deletions
diff --git a/libswscale/rgb2rgb.c b/libswscale/rgb2rgb.c
index 04b7908b5e..eab8e6aebb 100644
--- a/libswscale/rgb2rgb.c
+++ b/libswscale/rgb2rgb.c
@@ -53,6 +53,10 @@ void (*rgb15to32)(const uint8_t *src, uint8_t *dst, int src_size);
void (*shuffle_bytes_0321)(const uint8_t *src, uint8_t *dst, int src_size);
void (*shuffle_bytes_2103)(const uint8_t *src, uint8_t *dst, int src_size);
+void (*shuffle_bytes_1230)(const uint8_t *src, uint8_t *dst, int src_size);
+void (*shuffle_bytes_3012)(const uint8_t *src, uint8_t *dst, int src_size);
+void (*shuffle_bytes_3210)(const uint8_t *src, uint8_t *dst, int src_size);
+
void (*yv12toyuy2)(const uint8_t *ysrc, const uint8_t *usrc,
const uint8_t *vsrc, uint8_t *dst,
@@ -319,25 +323,6 @@ void rgb12tobgr12(const uint8_t *src, uint8_t *dst, int src_size)
}
}
-
-#define DEFINE_SHUFFLE_BYTES(a, b, c, d) \
-void shuffle_bytes_ ## a ## b ## c ## d(const uint8_t *src, \
- uint8_t *dst, int src_size) \
-{ \
- int 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(1, 2, 3, 0)
-DEFINE_SHUFFLE_BYTES(3, 0, 1, 2)
-DEFINE_SHUFFLE_BYTES(3, 2, 1, 0)
-
#define DEFINE_RGB48TOBGR48(need_bswap, swap) \
void rgb48tobgr48_ ## need_bswap(const uint8_t *src, \
uint8_t *dst, int src_size) \