summaryrefslogtreecommitdiff
path: root/libavcodec/x86
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2013-01-18 23:37:41 +0100
committerDiego Biurrun <diego@biurrun.de>2013-01-20 14:50:42 +0100
commit0b711ca3f3e5643bac9ddef775f2b16187b66835 (patch)
treeb8de88f89476a5f03101731bb3dcdb39ffd71d99 /libavcodec/x86
parent4603ec85ed620e585fc6e2e072c99858ed421855 (diff)
dsputil: drop non-compliant "fast" qpel mc functions
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diffstat (limited to 'libavcodec/x86')
-rw-r--r--libavcodec/x86/dsputil_avg_template.c51
-rw-r--r--libavcodec/x86/dsputil_mmx.c61
2 files changed, 0 insertions, 112 deletions
diff --git a/libavcodec/x86/dsputil_avg_template.c b/libavcodec/x86/dsputil_avg_template.c
index 1a4343d76e..4fc188c982 100644
--- a/libavcodec/x86/dsputil_avg_template.c
+++ b/libavcodec/x86/dsputil_avg_template.c
@@ -802,54 +802,3 @@ static void DEF(avg_pixels16_xy2)(uint8_t *block, const uint8_t *pixels, int lin
DEF(avg_pixels8_xy2)(block , pixels , line_size, h);
DEF(avg_pixels8_xy2)(block+8, pixels+8, line_size, h);
}
-
-#define QPEL_2TAP_L3(OPNAME) \
-static void DEF(OPNAME ## 2tap_qpel16_l3)(uint8_t *dst, uint8_t *src, int stride, int h, int off1, int off2){\
- __asm__ volatile(\
- "1: \n\t"\
- "movq (%1,%2), %%mm0 \n\t"\
- "movq 8(%1,%2), %%mm1 \n\t"\
- PAVGB" (%1,%3), %%mm0 \n\t"\
- PAVGB" 8(%1,%3), %%mm1 \n\t"\
- PAVGB" (%1), %%mm0 \n\t"\
- PAVGB" 8(%1), %%mm1 \n\t"\
- STORE_OP( (%1,%4),%%mm0)\
- STORE_OP(8(%1,%4),%%mm1)\
- "movq %%mm0, (%1,%4) \n\t"\
- "movq %%mm1, 8(%1,%4) \n\t"\
- "add %5, %1 \n\t"\
- "decl %0 \n\t"\
- "jnz 1b \n\t"\
- :"+g"(h), "+r"(src)\
- :"r"((x86_reg)off1), "r"((x86_reg)off2),\
- "r"((x86_reg)(dst-src)), "r"((x86_reg)stride)\
- :"memory"\
- );\
-}\
-static void DEF(OPNAME ## 2tap_qpel8_l3)(uint8_t *dst, uint8_t *src, int stride, int h, int off1, int off2){\
- __asm__ volatile(\
- "1: \n\t"\
- "movq (%1,%2), %%mm0 \n\t"\
- PAVGB" (%1,%3), %%mm0 \n\t"\
- PAVGB" (%1), %%mm0 \n\t"\
- STORE_OP((%1,%4),%%mm0)\
- "movq %%mm0, (%1,%4) \n\t"\
- "add %5, %1 \n\t"\
- "decl %0 \n\t"\
- "jnz 1b \n\t"\
- :"+g"(h), "+r"(src)\
- :"r"((x86_reg)off1), "r"((x86_reg)off2),\
- "r"((x86_reg)(dst-src)), "r"((x86_reg)stride)\
- :"memory"\
- );\
-}
-
-#ifndef SKIP_FOR_3DNOW
-#define STORE_OP(a,b) PAVGB" "#a","#b" \n\t"
-QPEL_2TAP_L3(avg_)
-#undef STORE_OP
-#define STORE_OP(a,b)
-QPEL_2TAP_L3(put_)
-#undef STORE_OP
-#undef QPEL_2TAP_L3
-#endif /* SKIP_FOR_3DNOW */
diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c
index 74f7df5002..7a122ab653 100644
--- a/libavcodec/x86/dsputil_mmx.c
+++ b/libavcodec/x86/dsputil_mmx.c
@@ -1557,63 +1557,6 @@ QPEL_OP(put_, ff_pw_16, _, PUT_OP, mmxext)
QPEL_OP(avg_, ff_pw_16, _, AVG_MMXEXT_OP, mmxext)
QPEL_OP(put_no_rnd_, ff_pw_15, _no_rnd_, PUT_OP, mmxext)
-/***********************************/
-/* bilinear qpel: not compliant to any spec, only for -lavdopts fast */
-
-#define QPEL_2TAP_XY(OPNAME, SIZE, MMX, XY, HPEL) \
-static void OPNAME ## 2tap_qpel ## SIZE ## _mc ## XY ## _ ## MMX(uint8_t *dst, \
- uint8_t *src, \
- int stride) \
-{ \
- OPNAME ## pixels ## SIZE ## HPEL(dst, src, stride, SIZE); \
-}
-
-#define QPEL_2TAP_L3(OPNAME, SIZE, MMX, XY, S0, S1, S2) \
-static void OPNAME ## 2tap_qpel ## SIZE ## _mc ## XY ## _ ## MMX(uint8_t *dst, \
- uint8_t *src, \
- int stride) \
-{ \
- OPNAME ## 2tap_qpel ## SIZE ## _l3_ ## MMX(dst, src + S0, stride, SIZE, \
- S1, S2); \
-}
-
-#define QPEL_2TAP(OPNAME, SIZE, MMX) \
-QPEL_2TAP_XY(OPNAME, SIZE, MMX, 20, _x2_ ## MMX) \
-QPEL_2TAP_XY(OPNAME, SIZE, MMX, 02, _y2_ ## MMX) \
-QPEL_2TAP_XY(OPNAME, SIZE, MMX, 22, _xy2_mmx) \
-static const qpel_mc_func OPNAME ## 2tap_qpel ## SIZE ## _mc00_ ## MMX = \
- OPNAME ## qpel ## SIZE ## _mc00_ ## MMX; \
-static const qpel_mc_func OPNAME ## 2tap_qpel ## SIZE ## _mc21_ ## MMX = \
- OPNAME ## 2tap_qpel ## SIZE ## _mc20_ ## MMX; \
-static const qpel_mc_func OPNAME ## 2tap_qpel ## SIZE ## _mc12_ ## MMX = \
- OPNAME ## 2tap_qpel ## SIZE ## _mc02_ ## MMX; \
-static void OPNAME ## 2tap_qpel ## SIZE ## _mc32_ ## MMX(uint8_t *dst, \
- uint8_t *src, \
- int stride) \
-{ \
- OPNAME ## pixels ## SIZE ## _y2_ ## MMX(dst, src + 1, stride, SIZE); \
-} \
-static void OPNAME ## 2tap_qpel ## SIZE ## _mc23_ ## MMX(uint8_t *dst, \
- uint8_t *src, \
- int stride) \
-{ \
- OPNAME ## pixels ## SIZE ## _x2_ ## MMX(dst, src + stride, \
- stride, SIZE); \
-} \
-QPEL_2TAP_L3(OPNAME, SIZE, MMX, 10, 0, 1, 0) \
-QPEL_2TAP_L3(OPNAME, SIZE, MMX, 30, 1, -1, 0) \
-QPEL_2TAP_L3(OPNAME, SIZE, MMX, 01, 0, stride, 0) \
-QPEL_2TAP_L3(OPNAME, SIZE, MMX, 03, stride, -stride, 0) \
-QPEL_2TAP_L3(OPNAME, SIZE, MMX, 11, 0, stride, 1) \
-QPEL_2TAP_L3(OPNAME, SIZE, MMX, 31, 1, stride, -1) \
-QPEL_2TAP_L3(OPNAME, SIZE, MMX, 13, stride, -stride, 1) \
-QPEL_2TAP_L3(OPNAME, SIZE, MMX, 33, stride + 1, -stride, -1) \
-
-QPEL_2TAP(put_, 16, mmxext)
-QPEL_2TAP(avg_, 16, mmxext)
-QPEL_2TAP(put_, 8, mmxext)
-QPEL_2TAP(avg_, 8, mmxext)
-
void ff_put_rv40_qpel8_mc33_mmx(uint8_t *dst, uint8_t *src, int stride)
{
put_pixels8_xy2_mmx(dst, src, stride, 8);
@@ -2042,13 +1985,9 @@ static void dsputil_init_mmxext(DSPContext *c, AVCodecContext *avctx,
#if HAVE_INLINE_ASM
SET_QPEL_FUNCS(avg_qpel, 0, 16, mmxext, );
SET_QPEL_FUNCS(avg_qpel, 1, 8, mmxext, );
- SET_QPEL_FUNCS(avg_2tap_qpel, 0, 16, mmxext, );
- SET_QPEL_FUNCS(avg_2tap_qpel, 1, 8, mmxext, );
SET_QPEL_FUNCS(put_qpel, 0, 16, mmxext, );
SET_QPEL_FUNCS(put_qpel, 1, 8, mmxext, );
- SET_QPEL_FUNCS(put_2tap_qpel, 0, 16, mmxext, );
- SET_QPEL_FUNCS(put_2tap_qpel, 1, 8, mmxext, );
SET_QPEL_FUNCS(put_no_rnd_qpel, 0, 16, mmxext, );
SET_QPEL_FUNCS(put_no_rnd_qpel, 1, 8, mmxext, );