---
 libavcodec/x86/dsputil_x86.h                | 14 ----------
 libavcodec/x86/{hpeldsp_mmx.c => hpeldsp.h} | 43 ++++++++++-------------------
 libavcodec/x86/hpeldsp_init.c               |  2 +-
 libavcodec/x86/hpeldsp_mmx.c                |  2 +-
 libavcodec/x86/rnd_mmx.c                    |  2 +-
 libavcodec/x86/rv40dsp_init.c               |  2 +-
 6 files changed, 18 insertions(+), 47 deletions(-)
 copy libavcodec/x86/{hpeldsp_mmx.c => hpeldsp.h} (53%)

diff --git a/libavcodec/x86/dsputil_x86.h b/libavcodec/x86/dsputil_x86.h
index 9fd34fc..5f6aca4 100644
--- a/libavcodec/x86/dsputil_x86.h
+++ b/libavcodec/x86/dsputil_x86.h
@@ -22,7 +22,6 @@
 #ifndef AVCODEC_X86_DSPUTIL_X86_H
 #define AVCODEC_X86_DSPUTIL_X86_H
 
-#include <stddef.h>
 #include <stdint.h>
 
 #include "libavcodec/avcodec.h"
@@ -61,17 +60,4 @@ void ff_gmc_mmx(uint8_t *dst, uint8_t *src,
 void ff_vector_clipf_sse(float *dst, const float *src,
                          float min, float max, int len);
 
-void ff_avg_pixels8_x2_mmx(uint8_t *block, const uint8_t *pixels,
-                           ptrdiff_t line_size, int h);
-
-void ff_avg_pixels8_xy2_mmx(uint8_t *block, const uint8_t *pixels,
-                            ptrdiff_t line_size, int h);
-void ff_avg_pixels16_xy2_mmx(uint8_t *block, const uint8_t *pixels,
-                             ptrdiff_t line_size, int h);
-
-void ff_put_pixels8_xy2_mmx(uint8_t *block, const uint8_t *pixels,
-                            ptrdiff_t line_size, int h);
-void ff_put_pixels16_xy2_mmx(uint8_t *block, const uint8_t *pixels,
-                             ptrdiff_t line_size, int h);
-
 #endif /* AVCODEC_X86_DSPUTIL_X86_H */
diff --git a/libavcodec/x86/hpeldsp_mmx.c b/libavcodec/x86/hpeldsp.h
similarity index 53%
copy from libavcodec/x86/hpeldsp_mmx.c
copy to libavcodec/x86/hpeldsp.h
index b78a0c8..47b0b8b 100644
--- a/libavcodec/x86/hpeldsp_mmx.c
+++ b/libavcodec/x86/hpeldsp.h
@@ -1,8 +1,4 @@
 /*
- * MMX-optimized avg/put pixel routines
- *
- * Copyright (c) 2001 Fabrice Bellard
- *
  * This file is part of Libav.
  *
  * Libav is free software; you can redistribute it and/or
@@ -20,34 +16,23 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#ifndef AVCODEC_X86_HPELDSP_H
+#define AVCODEC_X86_HPELDSP_H
+
 #include <stddef.h>
 #include <stdint.h>
 
-#include "config.h"
-#include "dsputil_x86.h"
-#include "inline_asm.h"
+void ff_avg_pixels8_x2_mmx(uint8_t *block, const uint8_t *pixels,
+                           ptrdiff_t line_size, int h);
 
-#if HAVE_MMX_INLINE
+void ff_avg_pixels8_xy2_mmx(uint8_t *block, const uint8_t *pixels,
+                            ptrdiff_t line_size, int h);
+void ff_avg_pixels16_xy2_mmx(uint8_t *block, const uint8_t *pixels,
+                             ptrdiff_t line_size, int h);
 
-void ff_avg_pixels8_x2_mmx(uint8_t *block, const uint8_t *pixels,
-                           ptrdiff_t line_size, int h)
-{
-    MOVQ_BFE(mm6);
-    JUMPALIGN();
-    do {
-        __asm__ volatile(
-            "movq  %1, %%mm0            \n\t"
-            "movq  1%1, %%mm1           \n\t"
-            "movq  %0, %%mm3            \n\t"
-            PAVGB_MMX(%%mm0, %%mm1, %%mm2, %%mm6)
-            PAVGB_MMX(%%mm3, %%mm2, %%mm0, %%mm6)
-            "movq  %%mm0, %0            \n\t"
-            :"+m"(*block)
-            :"m"(*pixels)
-            :"memory");
-        pixels += line_size;
-        block += line_size;
-    } while (--h);
-}
+void ff_put_pixels8_xy2_mmx(uint8_t *block, const uint8_t *pixels,
+                            ptrdiff_t line_size, int h);
+void ff_put_pixels16_xy2_mmx(uint8_t *block, const uint8_t *pixels,
+                             ptrdiff_t line_size, int h);
 
-#endif /* HAVE_MMX_INLINE */
+#endif /* AVCODEC_X86_HPELDSP_H */
diff --git a/libavcodec/x86/hpeldsp_init.c b/libavcodec/x86/hpeldsp_init.c
index 1e0d9a4..e9acb96 100644
--- a/libavcodec/x86/hpeldsp_init.c
+++ b/libavcodec/x86/hpeldsp_init.c
@@ -29,8 +29,8 @@
 #include "libavcodec/avcodec.h"
 #include "libavcodec/hpeldsp.h"
 #include "libavcodec/pixels.h"
-#include "dsputil_x86.h"
 #include "fpel.h"
+#include "hpeldsp.h"
 
 void ff_put_pixels8_x2_mmxext(uint8_t *block, const uint8_t *pixels,
                               ptrdiff_t line_size, int h);
diff --git a/libavcodec/x86/hpeldsp_mmx.c b/libavcodec/x86/hpeldsp_mmx.c
index b78a0c8..c93c78e 100644
--- a/libavcodec/x86/hpeldsp_mmx.c
+++ b/libavcodec/x86/hpeldsp_mmx.c
@@ -24,7 +24,7 @@
 #include <stdint.h>
 
 #include "config.h"
-#include "dsputil_x86.h"
+#include "hpeldsp.h"
 #include "inline_asm.h"
 
 #if HAVE_MMX_INLINE
diff --git a/libavcodec/x86/rnd_mmx.c b/libavcodec/x86/rnd_mmx.c
index 720d88f..44718eb 100644
--- a/libavcodec/x86/rnd_mmx.c
+++ b/libavcodec/x86/rnd_mmx.c
@@ -18,7 +18,7 @@
 
 #include "config.h"
 #include "libavcodec/pixels.h"
-#include "dsputil_x86.h"
+#include "hpeldsp.h"
 #include "inline_asm.h"
 
 #if HAVE_INLINE_ASM
diff --git a/libavcodec/x86/rv40dsp_init.c b/libavcodec/x86/rv40dsp_init.c
index 781f467..8fd2729 100644
--- a/libavcodec/x86/rv40dsp_init.c
+++ b/libavcodec/x86/rv40dsp_init.c
@@ -30,7 +30,7 @@
 #include "libavutil/attributes.h"
 #include "libavutil/mem.h"
 #include "libavutil/x86/cpu.h"
-#include "dsputil_x86.h"
+#include "hpeldsp.h"
 
 #if HAVE_YASM
 void ff_put_rv40_chroma_mc8_mmx  (uint8_t *dst, uint8_t *src,
-- 
1.8.3.2

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to