Change yadif to not use out of picture lines.
[ffmpeg.git] / libavfilter / x86 / yadif_template.c
index 5788a08..962a7c7 100644 (file)
@@ -1,20 +1,20 @@
 /*
  * Copyright (C) 2006 Michael Niedermayer <michaelni@gmx.at>
  *
- * This file is part of FFmpeg.
+ * This file is part of Libav.
  *
- * FFmpeg is free software; you can redistribute it and/or modify
+ * Libav is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 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 General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License along
- * with FFmpeg; if not, write to the Free Software Foundation, Inc.,
+ * with Libav; if not, write to the Free Software Foundation, Inc.,
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
@@ -62,7 +62,7 @@
             MOVQ"      "MM"2, "MM"5 \n\t"\
             "pxor      "MM"3, "MM"4 \n\t"\
             "pavgb     "MM"3, "MM"5 \n\t"\
-            "pand     "MANGLE(ff_pb_1)", "MM"4 \n\t"\
+            "pand     "MANGLE(pb_1)", "MM"4 \n\t"\
             "psubusb   "MM"4, "MM"5 \n\t"\
             PSRL1(MM"5")                 \
             "punpcklbw "MM"7, "MM"5 \n\t" /* (cur[x-refs+j] + cur[x+refs-j])>>1 */\
@@ -92,7 +92,7 @@
 
 #define CHECK2 /* pretend not to have checked dir=2 if dir=1 was bad.\
                   hurts both quality and speed, but matches the C version. */\
-            "paddw    "MANGLE(ff_pw_1)", "MM"6 \n\t"\
+            "paddw    "MANGLE(pw_1)", "MM"6 \n\t"\
             "psllw     $14,   "MM"6 \n\t"\
             "paddsw    "MM"6, "MM"2 \n\t"\
             MOVQ"      "MM"0, "MM"3 \n\t"\
 
 void RENAME(ff_yadif_filter_line)(uint8_t *dst,
                                   uint8_t *prev, uint8_t *cur, uint8_t *next,
-                                  int w, int refs, int parity, int mode)
+                                  int w, int prefs, int mrefs, int parity, int mode)
 {
     DECLARE_ALIGNED(16, uint8_t, tmp0[16]);
     DECLARE_ALIGNED(16, uint8_t, tmp1[16]);
@@ -167,7 +167,7 @@ void RENAME(ff_yadif_filter_line)(uint8_t *dst,
             "punpcklbw "MM"7, "MM"3 \n\t" /* ABS(cur[x-refs+1] - cur[x+refs+1]) */\
             "paddw     "MM"2, "MM"0 \n\t"\
             "paddw     "MM"3, "MM"0 \n\t"\
-            "psubw    "MANGLE(ff_pw_1)", "MM"0 \n\t" /* spatial_score */\
+            "psubw    "MANGLE(pw_1)", "MM"0 \n\t" /* spatial_score */\
 \
             CHECK(-2,0)\
             CHECK1\
@@ -226,8 +226,8 @@ void RENAME(ff_yadif_filter_line)(uint8_t *dst,
             :[prev] "r"(prev),\
              [cur]  "r"(cur),\
              [next] "r"(next),\
-             [prefs]"r"((x86_reg)refs),\
-             [mrefs]"r"((x86_reg)-refs),\
+             [prefs]"r"((x86_reg)prefs),\
+             [mrefs]"r"((x86_reg)mrefs),\
              [mode] "g"(mode)\
         );\
         __asm__ volatile(MOV" "MM"1, %0" :"=m"(*dst));\