[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