]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/x86/sbrdsp.asm
x86: conditionally compile H.264 QPEL optimizations
[ffmpeg] / libavcodec / x86 / sbrdsp.asm
index c165c52ca495e02f712466facdd88810b6aea0c5..6f66327088ac53ffde4634b953251ae0a32215c1 100644 (file)
@@ -81,15 +81,16 @@ cglobal sbr_hf_g_filt, 5, 6, 5
     lea         r2, [r2 + r3*4]
     lea         r0, [r0 + r3*8]
     neg         r3
+    jz          .loop1
 .loop4:
-    movq        m0, [r2 + 4*r3 + 0]
-    movq        m1, [r2 + 4*r3 + 8]
-    movq        m2, [r1 + 0*STEP]
-    movq        m3, [r1 + 2*STEP]
+    movlps      m0, [r2 + 4*r3 + 0]
+    movlps      m1, [r2 + 4*r3 + 8]
+    movlps      m2, [r1 + 0*STEP]
+    movlps      m3, [r1 + 2*STEP]
     movhps      m2, [r1 + 1*STEP]
     movhps      m3, [r1 + 3*STEP]
-    punpckldq   m0, m0
-    punpckldq   m1, m1
+    unpcklps    m0, m0
+    unpcklps    m1, m1
     mulps       m0, m2
     mulps       m1, m3
     movu        [r0 + 8*r3 +  0], m0
@@ -101,10 +102,10 @@ cglobal sbr_hf_g_filt, 5, 6, 5
     jz          .end
 .loop1: ; element 0 and 1 can be computed at the same time
     movss       m0, [r2]
-    movq        m2, [r1]
-    punpckldq   m0, m0
+    movlps      m2, [r1]
+    unpcklps    m0, m0
     mulps       m2, m0
-    movq      [r0], m2
+    movlps    [r0], m2
     add         r0, 8
     add         r2, 4
     add         r1, STEP