[vlc-commits] deinterlace/yadif: x86_32 asm position independent
Janne Grunau
git at videolan.org
Tue Feb 5 11:23:58 CET 2019
vlc | branch: master | Janne Grunau <janne-vlc at jannau.net> | Sun Jan 6 19:00:24 2019 +0100| [c91d4c267d4b01af539f164645789e4b43eea937] | committer: Jean-Baptiste Kempf
deinterlace/yadif: x86_32 asm position independent
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c91d4c267d4b01af539f164645789e4b43eea937
---
modules/video_filter/deinterlace/yadif_x86.asm | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/modules/video_filter/deinterlace/yadif_x86.asm b/modules/video_filter/deinterlace/yadif_x86.asm
index fc1e5624c5..a3661afa2e 100644
--- a/modules/video_filter/deinterlace/yadif_x86.asm
+++ b/modules/video_filter/deinterlace/yadif_x86.asm
@@ -214,15 +214,22 @@ SECTION .text
%macro YADIF 0
%if ARCH_X86_32
-cglobal yadif_filter_line, 4, 6, 8, 80, dst, prev, cur, next, w, prefs, \
+cglobal yadif_filter_line, 4, 6, 8, 112, dst, prev, cur, next, w, prefs, \
mrefs, parity, mode
%else
-cglobal yadif_filter_line, 4, 7, 8, 80, dst, prev, cur, next, w, prefs, \
+cglobal yadif_filter_line, 4, 7, 8, 80, dst, prev, cur, next, w, prefs, \
mrefs, parity, mode
%endif
cmp DWORD wm, 0
jle .ret
%if ARCH_X86_32
+ LEA r4, pb_1
+ %define pb_1 rsp + 80
+ %define pw_1 rsp + 96
+ mova m0, [r4]
+ mova m1, [r4 + 16]
+ movu [pb_1], m0
+ movu [pw_1], m1
mov r4, r5mp
mov r5, r6mp
DECLARE_REG_TMP 4,5
@@ -245,6 +252,10 @@ cglobal yadif_filter_line, 4, 7, 8, 80, dst, prev, cur, next, w, prefs, \
emms
%endif
RET
+%if ARCH_X86_32
+ %undef pb_1
+ %undef pw_1
+%endif
%endmacro
INIT_XMM ssse3
More information about the vlc-commits
mailing list