]> git.sesse.net Git - vlc/commitdiff
* ./plugins/chroma/i420_yuy2.h: bugfix for the I420 to YUY2 MMX chroma
authorSam Hocevar <sam@videolan.org>
Wed, 22 May 2002 21:05:18 +0000 (21:05 +0000)
committerSam Hocevar <sam@videolan.org>
Wed, 22 May 2002 21:05:18 +0000 (21:05 +0000)
    transformations, with the help of Pascal Levesque.

plugins/chroma/i420_yuy2.h

index 42c804787b52082af34e71d52df3ea7b1d513ac7..170fdce7a5898d51d62ea1aba8f33538c5d9c693 100644 (file)
@@ -2,7 +2,7 @@
  * i420_yuy2.h : YUV to YUV conversion module for vlc
  *****************************************************************************
  * Copyright (C) 2000, 2001 VideoLAN
- * $Id: i420_yuy2.h,v 1.5 2002/05/21 02:46:39 sam Exp $
+ * $Id: i420_yuy2.h,v 1.6 2002/05/22 21:05:18 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -29,15 +29,11 @@ UNUSED_LONGLONG(woo_00ffw) = 0x00ff00ff00ff00ff;
 UNUSED_LONGLONG(woo_80w)   = 0x0000000080808080;
 
 #define MMX_LOAD "                                                        \n\
-pushl     %%ebx                                                           \n\
-movl         %8,%%eax                                                     \n\
 movl         %9,%%ebx                                                     \n\
 "
 
 #define MMX_SAVE "                                                        \n\
-movl      %%eax,%8                                                        \n\
 movl      %%ebx,%9                                                        \n\
-popl      %%ebx                                                           \n\
 "
 
 #define MMX_INC "                                                         \n\
@@ -61,8 +57,8 @@ addl         $2, %%ebx                                                    \n\
         MMX_SAVE                                                    \
         : "=c" (p_line1), "=d" (p_line2), "=D" (p_y1), "=S" (p_y2)  \
         :  "c" (p_line1),  "d" (p_line2),  "D" (p_y1),  "S" (p_y2), \
-          "m" (p_u), "m" (p_v)                                      \
-        : "eax", "memory" );
+          "a" (p_u), "m" (p_v)                                      \
+        : "ebx", "memory" );
 
 #define MMX_YUV420_YUYV "                                                 \n\
 movq       (%2), %%mm0  # Load 8 Y            y7 y6 y5 y4 y3 y2 y1 y0     \n\