properly access integer arguments that are passed on stack
ABI guaranties upper bytes cleared for pointer arguments only.

Signed-off-by: Matthias Räncker <[email protected]>
---
 libavcodec/x86/videodsp.asm | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/libavcodec/x86/videodsp.asm b/libavcodec/x86/videodsp.asm
index 19b910b..58f3ec2 100644
--- a/libavcodec/x86/videodsp.asm
+++ b/libavcodec/x86/videodsp.asm
@@ -43,18 +43,20 @@ SECTION .text
 %macro EMU_EDGE_FUNC 0
 %if ARCH_X86_64
 %define w_reg r7
+%define w_regp r7p
 cglobal emu_edge_core, 6, 9, 1
     mov         r8, r5          ; save block_h
 %else
 %define w_reg r6
+%define w_regp r6
 cglobal emu_edge_core, 2, 7, 0
-    mov         r4, r4m         ; end_y
-    mov         r5, r5m         ; block_h
+    mov        r4p, r4m         ; end_y
+    mov        r5p, r5m         ; block_h
 %endif
 
     ; start with vertical extend (top/bottom) and body pixel copy
-    mov      w_reg, r7m
-    sub      w_reg, r6m         ; w = start_x - end_x
+    mov     w_regp, r7m
+    sub     w_regp, r6m         ; w = start_x - end_x
     sub         r5, r4
 %if ARCH_X86_64
     sub         r4, r3
@@ -77,7 +79,7 @@ cglobal emu_edge_core, 2, 7, 0
 .v_extend_end:
 
     ; horizontal extend (left/right)
-    mov      w_reg, r6m         ; start_x
+    mov     w_regp, r6m         ; start_x
     sub         r0, w_reg
 %if ARCH_X86_64
     mov         r3, r0          ; backup of buf+block_h*linesize
@@ -111,8 +113,8 @@ cglobal emu_edge_core, 2, 7, 0
     mov         r0, r0m
     mov         r5, r5m
 %endif
-    mov      w_reg, r7m         ; end_x
-    mov         r1, r8m         ; block_w
+    mov     w_regp, r7m         ; end_x
+    mov        r1p, r8m         ; block_w
     mov         r4, r1
     sub         r1, w_reg
     jz .h_extend_end            ; if (end_x == block_w) goto h_extend_end
-- 
1.8.1.1

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to