x86: dsputil: Move hpeldsp-related declarations to a separate header
authorDiego Biurrun <diego@biurrun.de>
Wed, 29 Jan 2014 13:57:10 +0000 (14:57 +0100)
committerDiego Biurrun <diego@biurrun.de>
Sat, 22 Mar 2014 13:17:29 +0000 (06:17 -0700)
libavcodec/x86/dsputil_x86.h
libavcodec/x86/hpeldsp.h [copied from libavcodec/x86/hpeldsp_mmx.c with 53% similarity]
libavcodec/x86/hpeldsp_init.c
libavcodec/x86/hpeldsp_mmx.c
libavcodec/x86/rnd_mmx.c
libavcodec/x86/rv40dsp_init.c

index 9fd34fc..5f6aca4 100644 (file)
@@ -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 */
similarity index 53%
copy from libavcodec/x86/hpeldsp_mmx.c
copy to libavcodec/x86/hpeldsp.h
index b78a0c8..47b0b8b 100644 (file)
@@ -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
  * 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 */
index 0603e40..86e41bc 100644 (file)
@@ -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);
index b78a0c8..c93c78e 100644 (file)
@@ -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
index 720d88f..44718eb 100644 (file)
@@ -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
index 781f467..8fd2729 100644 (file)
@@ -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,