eamad: Use dsputils instead of a custom bswap16_buf
[ffmpeg.git] / libavcodec / x86 / idct_mmx.c
index eaefc24..2408ab2 100644 (file)
@@ -1,5 +1,4 @@
 /*
- * idct_mmx.c
  * Copyright (C) 1999-2001 Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
  *
  * This file is part of mpeg2dec, a free MPEG-2 video stream decoder.
@@ -26,6 +25,8 @@
 #include "libavutil/x86_cpu.h"
 #include "dsputil_mmx.h"
 
+#if HAVE_INLINE_ASM
+
 #define ROW_SHIFT 11
 #define COL_SHIFT 6
 
@@ -194,7 +195,7 @@ static inline void mmxext_row_mid (int16_t * const row, const int store,
 
         "movq       8(%3), %%mm4       \n\t" /* mm4 = C6 C4 C6 C4 */
         "pshufw     $0x4e, %%mm2, %%mm2\n\t" /* mm2 = x2 x0 x6 x4 */
-        :: "r" (row), "r" (2*offset), "r" (2*store), "r" (table)
+        :: "r" (row), "r" ((x86_reg) (2*offset)), "r" ((x86_reg) (2*store)), "r" (table)
         );
 }
 
@@ -337,7 +338,7 @@ static inline void mmx_row_mid (int16_t * const row, const int store,
 
         "movq      %%mm7, 8(%0,%2) \n\t" /* save y7 y6 y5 y4 */
         "pmaddwd   %%mm0, %%mm3    \n\t" /* mm3 = C4*x0+C6*x2 C4*x0+C2*x2 */
-        : : "r" (row), "r"(2*offset), "r" (2*store), "r" (table)
+        : : "r" (row), "r" ((x86_reg) (2*offset)), "r" ((x86_reg) (2*store)), "r" (table)
         );
 }
 
@@ -628,3 +629,4 @@ declare_idct (ff_mmxext_idct, mmxext_table,
 declare_idct (ff_mmx_idct, mmx_table,
               mmx_row_head, mmx_row, mmx_row_tail, mmx_row_mid)
 
+#endif /* HAVE_INLINE_ASM */