[FFmpeg-cvslog] x86: rnd_template: Eliminate pointless OP_AVG macro indirection

Diego Biurrun git at videolan.org
Wed May 8 13:59:50 CEST 2013


ffmpeg | branch: master | Diego Biurrun <diego at biurrun.de> | Tue May  7 00:15:41 2013 +0200| [7edaf4edb5c3c04f34ad1242680cbc32d11f4087] | committer: Diego Biurrun

x86: rnd_template: Eliminate pointless OP_AVG macro indirection

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7edaf4edb5c3c04f34ad1242680cbc32d11f4087
---

 libavcodec/x86/dsputil_mmx.c          |    2 --
 libavcodec/x86/hpeldsp_init.c         |    2 --
 libavcodec/x86/hpeldsp_rnd_template.c |   12 ++++++------
 libavcodec/x86/rnd_template.c         |    4 ++--
 4 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c
index 679f272..46859a6 100644
--- a/libavcodec/x86/dsputil_mmx.c
+++ b/libavcodec/x86/dsputil_mmx.c
@@ -106,7 +106,6 @@ void ff_put_no_rnd_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
 #define SET_RND  MOVQ_WTWO
 #define PAVGBP(a, b, c, d, e, f)        PAVGBP_MMX(a, b, c, d, e, f)
 #define PAVGB(a, b, c, e)               PAVGB_MMX(a, b, c, e)
-#define OP_AVG(a, b, c, e)              PAVGB_MMX(a, b, c, e)
 
 #include "rnd_template.c"
 
@@ -114,7 +113,6 @@ void ff_put_no_rnd_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
 #undef SET_RND
 #undef PAVGBP
 #undef PAVGB
-#undef OP_AVG
 
 /***********************************/
 /* standard MMX */
diff --git a/libavcodec/x86/hpeldsp_init.c b/libavcodec/x86/hpeldsp_init.c
index bcfa715..0f30517 100644
--- a/libavcodec/x86/hpeldsp_init.c
+++ b/libavcodec/x86/hpeldsp_init.c
@@ -91,7 +91,6 @@ void ff_avg_pixels8_xy2_3dnow(uint8_t *block, const uint8_t *pixels,
 #define SET_RND  MOVQ_WONE
 #define PAVGBP(a, b, c, d, e, f)        PAVGBP_MMX_NO_RND(a, b, c, d, e, f)
 #define PAVGB(a, b, c, e)               PAVGB_MMX_NO_RND(a, b, c, e)
-#define OP_AVG(a, b, c, e)              PAVGB_MMX(a, b, c, e)
 
 #include "hpeldsp_rnd_template.c"
 
@@ -113,7 +112,6 @@ void ff_avg_pixels8_xy2_3dnow(uint8_t *block, const uint8_t *pixels,
 #undef SET_RND
 #undef PAVGBP
 #undef PAVGB
-#undef OP_AVG
 
 #endif /* HAVE_INLINE_ASM */
 
diff --git a/libavcodec/x86/hpeldsp_rnd_template.c b/libavcodec/x86/hpeldsp_rnd_template.c
index 4976caa..90619b4 100644
--- a/libavcodec/x86/hpeldsp_rnd_template.c
+++ b/libavcodec/x86/hpeldsp_rnd_template.c
@@ -144,13 +144,13 @@ static void DEF(avg, pixels16_x2)(uint8_t *block, const uint8_t *pixels, ptrdiff
             "movq  1%1, %%mm1           \n\t"
             "movq  %0, %%mm3            \n\t"
             PAVGB(%%mm0, %%mm1, %%mm2, %%mm6)
-            OP_AVG(%%mm3, %%mm2, %%mm0, %%mm6)
+            PAVGB_MMX(%%mm3, %%mm2, %%mm0, %%mm6)
             "movq  %%mm0, %0            \n\t"
             "movq  8%1, %%mm0           \n\t"
             "movq  9%1, %%mm1           \n\t"
             "movq  8%0, %%mm3           \n\t"
             PAVGB(%%mm0, %%mm1, %%mm2, %%mm6)
-            OP_AVG(%%mm3, %%mm2, %%mm0, %%mm6)
+            PAVGB_MMX(%%mm3, %%mm2, %%mm0, %%mm6)
             "movq  %%mm0, 8%0           \n\t"
             :"+m"(*block)
             :"m"(*pixels)
@@ -172,9 +172,9 @@ static void DEF(avg, pixels8_y2)(uint8_t *block, const uint8_t *pixels, ptrdiff_
         "movq   (%1, %%"REG_a"), %%mm2  \n\t"
         PAVGBP(%%mm1, %%mm0, %%mm4,   %%mm2, %%mm1, %%mm5)
         "movq   (%2), %%mm3             \n\t"
-        OP_AVG(%%mm3, %%mm4, %%mm0, %%mm6)
+        PAVGB_MMX(%%mm3, %%mm4, %%mm0, %%mm6)
         "movq   (%2, %3), %%mm3         \n\t"
-        OP_AVG(%%mm3, %%mm5, %%mm1, %%mm6)
+        PAVGB_MMX(%%mm3, %%mm5, %%mm1, %%mm6)
         "movq   %%mm0, (%2)             \n\t"
         "movq   %%mm1, (%2, %3)         \n\t"
         "add    %%"REG_a", %1           \n\t"
@@ -184,9 +184,9 @@ static void DEF(avg, pixels8_y2)(uint8_t *block, const uint8_t *pixels, ptrdiff_
         "movq   (%1, %%"REG_a"), %%mm0  \n\t"
         PAVGBP(%%mm1, %%mm2, %%mm4,   %%mm0, %%mm1, %%mm5)
         "movq   (%2), %%mm3             \n\t"
-        OP_AVG(%%mm3, %%mm4, %%mm2, %%mm6)
+        PAVGB_MMX(%%mm3, %%mm4, %%mm2, %%mm6)
         "movq   (%2, %3), %%mm3         \n\t"
-        OP_AVG(%%mm3, %%mm5, %%mm1, %%mm6)
+        PAVGB_MMX(%%mm3, %%mm5, %%mm1, %%mm6)
         "movq   %%mm2, (%2)             \n\t"
         "movq   %%mm1, (%2, %3)         \n\t"
         "add    %%"REG_a", %1           \n\t"
diff --git a/libavcodec/x86/rnd_template.c b/libavcodec/x86/rnd_template.c
index 4443ec5..03f2a0d 100644
--- a/libavcodec/x86/rnd_template.c
+++ b/libavcodec/x86/rnd_template.c
@@ -132,7 +132,7 @@ static void DEF(avg, pixels8_xy2)(uint8_t *block, const uint8_t *pixels, ptrdiff
         "packuswb  %%mm5, %%mm4         \n\t"
                 "pcmpeqd %%mm2, %%mm2   \n\t"
                 "paddb %%mm2, %%mm2     \n\t"
-                OP_AVG(%%mm3, %%mm4, %%mm5, %%mm2)
+                PAVGB_MMX(%%mm3, %%mm4, %%mm5, %%mm2)
                 "movq   %%mm5, (%2, %%"REG_a")  \n\t"
         "add    %3, %%"REG_a"                \n\t"
 
@@ -156,7 +156,7 @@ static void DEF(avg, pixels8_xy2)(uint8_t *block, const uint8_t *pixels, ptrdiff
         "packuswb  %%mm1, %%mm0         \n\t"
                 "pcmpeqd %%mm2, %%mm2   \n\t"
                 "paddb %%mm2, %%mm2     \n\t"
-                OP_AVG(%%mm3, %%mm0, %%mm1, %%mm2)
+                PAVGB_MMX(%%mm3, %%mm0, %%mm1, %%mm2)
                 "movq   %%mm1, (%2, %%"REG_a")  \n\t"
         "add    %3, %%"REG_a"           \n\t"
 



More information about the ffmpeg-cvslog mailing list