aboutsummaryrefslogtreecommitdiffstats
path: root/libavfilter/x86/vf_transpose.asm
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2019-10-21 17:06:18 -0300
committerJames Almer <jamrial@gmail.com>2019-10-22 13:51:13 -0300
commit738bc3e7420751a7686040e7248efad13fcbc86b (patch)
treed3c9fb72a0d7cdaf114d6a3eb5b95dc7a008537c /libavfilter/x86/vf_transpose.asm
parent2a75006ddca9f7135efb3f6c1f58043f2c870f78 (diff)
downloadffmpeg-738bc3e7420751a7686040e7248efad13fcbc86b.tar.gz
x86/vf_transpose: make ff_transpose_8x8_16_sse2 work on x86_32
Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavfilter/x86/vf_transpose.asm')
-rw-r--r--libavfilter/x86/vf_transpose.asm11
1 files changed, 5 insertions, 6 deletions
diff --git a/libavfilter/x86/vf_transpose.asm b/libavfilter/x86/vf_transpose.asm
index f9f585369a..c532c899ee 100644
--- a/libavfilter/x86/vf_transpose.asm
+++ b/libavfilter/x86/vf_transpose.asm
@@ -56,10 +56,7 @@ cglobal transpose_8x8_8, 4,5,8, src, src_linesize, dst, dst_linesize, linesize3
movq [dstq + linesize3q], m7
RET
-%if ARCH_X86_64
-
-INIT_XMM sse2
-cglobal transpose_8x8_16, 4,5,9, src, src_linesize, dst, dst_linesize, linesize3
+cglobal transpose_8x8_16, 4,5,9, ARCH_X86_32 * 32, src, src_linesize, dst, dst_linesize, linesize3
lea linesize3q, [src_linesizeq * 3]
movu m0, [srcq + src_linesizeq * 0]
movu m1, [srcq + src_linesizeq * 1]
@@ -71,7 +68,11 @@ cglobal transpose_8x8_16, 4,5,9, src, src_linesize, dst, dst_linesize, linesize3
movu m6, [srcq + src_linesizeq * 2]
movu m7, [srcq + linesize3q]
+%if ARCH_X86_64
TRANSPOSE8x8W 0, 1, 2, 3, 4, 5, 6, 7, 8
+%else
+ TRANSPOSE8x8W 0, 1, 2, 3, 4, 5, 6, 7, [rsp], [rsp + 16]
+%endif
lea linesize3q, [dst_linesizeq * 3]
movu [dstq + dst_linesizeq * 0], m0
@@ -84,5 +85,3 @@ cglobal transpose_8x8_16, 4,5,9, src, src_linesize, dst, dst_linesize, linesize3
movu [dstq + dst_linesizeq * 2], m6
movu [dstq + linesize3q], m7
RET
-
-%endif