x86/dirac: fix asm on win64
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 14 Jan 2013 22:26:33 +0000 (23:26 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 14 Jan 2013 22:28:01 +0000 (23:28 +0100)
This could also be fixed by changing the argument type if
someone prefers that and wants to change it ...

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/x86/diracdsp_yasm.asm
libavcodec/x86/dwt_yasm.asm

index d12fc64..3e9765b 100644 (file)
@@ -136,6 +136,8 @@ cglobal put_signed_rect_clamped_%1, 5,9,3, dst, dst_stride, src, src_stride, w,
     and     wd, ~(mmsize-1)
 
 %if ARCH_X86_64
+    movsxd   dst_strideq, dst_strided
+    movsxd   src_strideq, src_strided
     mov   r7d, r5m
     mov   r8d, wd
     %define wspill r8d
@@ -177,6 +179,8 @@ cglobal add_rect_clamped_%1, 7,9,3, dst, src, stride, idwt, idwt_stride, w, h
     and     wd, ~(mmsize-1)
 
 %if ARCH_X86_64
+    movsxd   strideq, strided
+    movsxd   idwt_strideq, idwt_strided
     mov   r8d, wd
     %define wspill r8d
 %else
index f6280d1..5253abc 100644 (file)
@@ -64,6 +64,9 @@ section .text
 ;                                  int width)
 cglobal vertical_compose53iL0_%1, 4,4,1, b0, b1, b2, width
     mova    m2, [pw_2]
+%if ARCH_X86_64
+    mov     widthd, widthd
+%endif
 .loop:
     sub     widthq, mmsize/2
     mova    m1, [b0q+2*widthq]
@@ -77,6 +80,9 @@ cglobal vertical_compose53iL0_%1, 4,4,1, b0, b1, b2, width
 ;                                  int width)
 cglobal vertical_compose_dirac53iH0_%1, 4,4,1, b0, b1, b2, width
     mova    m1, [pw_1]
+%if ARCH_X86_64
+    mov     widthd, widthd
+%endif
 .loop:
     sub     widthq, mmsize/2
     mova    m0, [b0q+2*widthq]
@@ -93,6 +99,9 @@ cglobal vertical_compose_dirac53iH0_%1, 4,4,1, b0, b1, b2, width
 cglobal vertical_compose_dd97iH0_%1, 6,6,5, b0, b1, b2, b3, b4, width
     mova    m3, [pw_8]
     mova    m4, [pw_1991]
+%if ARCH_X86_64
+    mov     widthd, widthd
+%endif
 .loop:
     sub     widthq, mmsize/2
     mova    m0, [b0q+2*widthq]
@@ -107,6 +116,9 @@ cglobal vertical_compose_dd97iH0_%1, 6,6,5, b0, b1, b2, b3, b4, width
 cglobal vertical_compose_dd137iL0_%1, 6,6,6, b0, b1, b2, b3, b4, width
     mova    m3, [pw_16]
     mova    m4, [pw_1991]
+%if ARCH_X86_64
+    mov     widthd, widthd
+%endif
 .loop:
     sub     widthq, mmsize/2
     mova    m0, [b0q+2*widthq]
@@ -131,6 +143,9 @@ cglobal vertical_compose_dd137iL0_%1, 6,6,6, b0, b1, b2, b3, b4, width
 ; void vertical_compose_haar(IDWTELEM *b0, IDWTELEM *b1, int width)
 cglobal vertical_compose_haar_%1, 3,4,3, b0, b1, width
     mova    m3, [pw_1]
+%if ARCH_X86_64
+    mov     widthd, widthd
+%endif
 .loop:
     sub     widthq, mmsize/2
     mova    m1, [b1q+2*widthq]