[vlc-devel] [PATCH 3/3] deinterlace/yadif: x86_32 asm position independent
Janne Grunau
janne-vlc at jannau.net
Sat Jan 26 13:23:38 CET 2019
---
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
--
2.20.1
More information about the vlc-devel
mailing list