]> granicus.if.org Git - libx264/commitdiff
r422 broke x264_center_filter_mmxext
authorLoren Merritt <pengvado@videolan.org>
Thu, 9 Feb 2006 04:51:55 +0000 (04:51 +0000)
committerLoren Merritt <pengvado@videolan.org>
Thu, 9 Feb 2006 04:51:55 +0000 (04:51 +0000)
git-svn-id: svn://svn.videolan.org/x264/trunk@426 df754926-b1dd-0310-bc7b-ec298dee348c

common/i386/mc-a2.asm

index 55f0d2d6ed13d6231f6de90207a2d5d23b526326..29e7417239f7b4cd730a2cc59eeb21ca3796d18e 100644 (file)
@@ -173,19 +173,14 @@ x264_center_filter_mmxext :
     picgetgot   ebx
 
     pxor        mm0,      mm0                ; 0 ---> mm0
-    movq        mm7,      [mmx_dd_one GLOBAL] ; for rounding
 
 
 loopcy:
 
-;   mov         eax,    [picesp + twidth]
-    xor         eax,    eax
     mov         edi,    [picesp + tdst1]
     lea         ebp,    [picesp + tbuffer]
     mov         esi,    [picesp + tsrc]
-
-    ; Overwrite mm7, the value set above is never used
-    movd        mm7,    [mmx_dw_one GLOBAL]
+    movq        mm7,    [mmx_dw_one GLOBAL]
 
     picpop      ebx
 
@@ -200,7 +195,7 @@ loopcy:
     packuswb    mm1,    mm1
     movd        [edi],  mm1
 
-    add         eax,    8
+    mov         eax,    8
     add         esi,    4
 
 loopcx1:
@@ -236,7 +231,8 @@ loopcx1:
     mov         [esp + tdst1], edi
 
     mov         edi,    [esp + tdst2]
-    xor         eax,    eax
+;   mov         eax,    [esp + twidth]
+    sub         eax,    4
 
     picpush     ebx
     picgetgot   ebx
@@ -285,9 +281,8 @@ loopcx2:
 
     movd        [edi + eax], mm2
 
-    add         eax,    4
-    cmp         eax,    [picesp + twidth]
-    jnz         loopcx2
+    sub         eax,    4
+    jge         loopcx2
 
     add         edi,    [picesp + tdstp2]
     mov         [picesp + tdst2], edi