]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/x86/h264_qpel_mmx.c
Add apply_window_int16() to DSPContext with x86-optimized versions and use it
[ffmpeg] / libavcodec / x86 / h264_qpel_mmx.c
index 61a2d9c235f40345ef51682a7bb018b4ba5fe0a0..066f794fb67e1ddb5ae0af944a378940b8d279a6 100644 (file)
@@ -1,20 +1,20 @@
 /*
  * Copyright (c) 2004-2005 Michael Niedermayer, Loren Merritt
  *
- * This file is part of FFmpeg.
+ * This file is part of Libav.
  *
- * FFmpeg is free software; you can redistribute it and/or
+ * Libav is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
  * version 2.1 of the License, or (at your option) any later version.
  *
- * FFmpeg is distributed in the hope that it will be useful,
+ * Libav is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with FFmpeg; if not, write to the Free Software
+ * License along with Libav; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
@@ -664,11 +664,11 @@ static av_noinline void OPNAME ## h264_qpel16_h_lowpass_l2_ ## MMX(uint8_t *dst,
         : "+a"(src), "+c"(dst), "+d"(src2), "+g"(h)\
         : "D"((x86_reg)src2Stride), "S"((x86_reg)dstStride),\
           "m"(ff_pw_5), "m"(ff_pw_16)\
-        : "memory"\
-          XMM_CLOBBERS(, "%xmm0" , "%xmm1" , "%xmm2" , "%xmm3" , \
-                         "%xmm4" , "%xmm5" , "%xmm6" , "%xmm7" , \
-                         "%xmm8" , "%xmm9" , "%xmm10", "%xmm11", \
-                         "%xmm12", "%xmm13", "%xmm14", "%xmm15") \
+        : XMM_CLOBBERS("%xmm0" , "%xmm1" , "%xmm2" , "%xmm3" , \
+                       "%xmm4" , "%xmm5" , "%xmm6" , "%xmm7" , \
+                       "%xmm8" , "%xmm9" , "%xmm10", "%xmm11", \
+                       "%xmm12", "%xmm13", "%xmm14", "%xmm15",)\
+          "memory"\
     );\
 }
 #else // ARCH_X86_64
@@ -724,9 +724,9 @@ static av_noinline void OPNAME ## h264_qpel8_h_lowpass_l2_ ## MMX(uint8_t *dst,
         "jg 1b                      \n\t"\
         : "+a"(src), "+c"(dst), "+d"(src2), "+g"(h)\
         : "D"((x86_reg)src2Stride), "S"((x86_reg)dstStride)\
-        : "memory"\
-          XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", \
-                         "%xmm4", "%xmm5", "%xmm6", "%xmm7") \
+        : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \
+                       "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\
+          "memory"\
     );\
 }\
 QPEL_H264_H16_XMM(OPNAME, OP, MMX)\
@@ -767,9 +767,9 @@ static av_noinline void OPNAME ## h264_qpel8_h_lowpass_ ## MMX(uint8_t *dst, uin
         " jnz 1b                    \n\t"\
         : "+a"(src), "+c"(dst), "+g"(h)\
         : "D"((x86_reg)srcStride), "S"((x86_reg)dstStride)\
-        : "memory"\
-          XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", \
-                         "%xmm4", "%xmm5", "%xmm6", "%xmm7") \
+        : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \
+                       "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\
+          "memory"\
     );\
 }\
 static void OPNAME ## h264_qpel16_h_lowpass_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
@@ -824,9 +824,9 @@ static av_noinline void OPNAME ## h264_qpel8or16_v_lowpass_ ## MMX(uint8_t *dst,
         \
         : "+a"(src), "+c"(dst)\
         : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\
-        : "memory"\
-          XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", \
-                         "%xmm4", "%xmm5", "%xmm6", "%xmm7") \
+        : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \
+                       "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\
+          "memory"\
     );\
 }\
 static void OPNAME ## h264_qpel8_v_lowpass_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
@@ -879,9 +879,9 @@ static av_always_inline void put_h264_qpel8or16_hv1_lowpass_sse2(int16_t *tmp, u
             "2:                         \n\t"
             : "+a"(src)
             : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)
-            : "memory"
-              XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3",
-                             "%xmm4", "%xmm5", "%xmm6", "%xmm7")
+            : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3",
+                           "%xmm4", "%xmm5", "%xmm6", "%xmm7",)
+              "memory"
         );
         tmp += 8;
         src += 8 - (size+5)*srcStride;
@@ -944,9 +944,9 @@ static av_always_inline void OPNAME ## h264_qpel8or16_hv2_lowpass_ ## MMX(uint8_
             " jnz 1b                    \n\t"\
             : "+a"(tmp), "+c"(dst), "+g"(h)\
             : "S"((x86_reg)dstStride)\
-            : "memory"\
-              XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", \
-                             "%xmm4", "%xmm5", "%xmm6", "%xmm7") \
+            : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \
+                           "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\
+              "memory"\
         );\
     }else{\
         __asm__ volatile(\
@@ -980,9 +980,9 @@ static av_always_inline void OPNAME ## h264_qpel8or16_hv2_lowpass_ ## MMX(uint8_
             " jnz 1b                    \n\t"\
             : "+a"(tmp), "+c"(dst), "+g"(h)\
             : "S"((x86_reg)dstStride)\
-            : "memory"\
-              XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", \
-                             "%xmm4", "%xmm5", "%xmm6", "%xmm7") \
+            : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \
+                           "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\
+              "memory"\
         );\
     }\
 }