aboutsummaryrefslogtreecommitdiffstats
path: root/libswscale/x86/rgb2rgb.c
diff options
context:
space:
mode:
authorMartin Vignali <martin.vignali@gmail.com>2018-10-11 21:35:05 +0200
committerMartin Vignali <martin.vignali@gmail.com>2018-10-13 14:12:41 +0200
commit296609f859a587575b91fe9e9691f2707d6e8136 (patch)
tree0d1934f04d1fe80a66537b29faec19bd37acc4a4 /libswscale/x86/rgb2rgb.c
parent04afdbb5605268e9edc7615cfd80b13a77243a95 (diff)
downloadffmpeg-296609f859a587575b91fe9e9691f2707d6e8136.tar.gz
swscale/x86/rgb2rgb : port shuffle 2103 mmxext to external asm and remove inline asm version
Diffstat (limited to 'libswscale/x86/rgb2rgb.c')
-rw-r--r--libswscale/x86/rgb2rgb.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libswscale/x86/rgb2rgb.c b/libswscale/x86/rgb2rgb.c
index 1191081440..2d6fc2ad26 100644
--- a/libswscale/x86/rgb2rgb.c
+++ b/libswscale/x86/rgb2rgb.c
@@ -144,6 +144,7 @@ DECLARE_ALIGNED(8, extern const uint64_t, ff_bgr2UVOffset);
#endif /* HAVE_INLINE_ASM */
+void ff_shuffle_bytes_2103_mmxext(const uint8_t *src, uint8_t *dst, int src_size);
void ff_shuffle_bytes_2103_ssse3(const uint8_t *src, uint8_t *dst, int src_size);
void ff_shuffle_bytes_0321_ssse3(const uint8_t *src, uint8_t *dst, int src_size);
void ff_shuffle_bytes_1230_ssse3(const uint8_t *src, uint8_t *dst, int src_size);
@@ -176,6 +177,9 @@ av_cold void rgb2rgb_init_x86(void)
rgb2rgb_init_avx();
#endif /* HAVE_INLINE_ASM */
+ if (EXTERNAL_MMXEXT(cpu_flags)) {
+ shuffle_bytes_2103 = ff_shuffle_bytes_2103_mmxext;
+ }
if (EXTERNAL_SSE2(cpu_flags)) {
#if ARCH_X86_64
uyvytoyuv422 = ff_uyvytoyuv422_sse2;