Commit d0aa60da authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '8db00081'

* commit '8db00081':
  x86: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/hpeldsp.c
	libavcodec/hpeldsp.h
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/hpeldsp_init.c
	libavcodec/x86/hpeldsp_rnd_template.c
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 3fee9fa0 8db00081
......@@ -54,7 +54,8 @@ av_cold void ff_hpeldsp_init(HpelDSPContext *c, int flags)
hpel_funcs(avg, [3], 2);
hpel_funcs(avg_no_rnd,, 16);
if (ARCH_X86) ff_hpeldsp_init_x86 (c, flags);
if (ARCH_X86)
ff_hpeldsp_init_x86(c, flags);
if (ARCH_ARM) ff_hpeldsp_init_arm (c, flags);
if (HAVE_VIS) ff_hpeldsp_init_vis (c, flags);
if (ARCH_ALPHA) ff_hpeldsp_init_alpha (c, flags);
......
......@@ -53,9 +53,9 @@ YASM-OBJS-$(CONFIG_DCT) += x86/dct32.o
YASM-OBJS-$(CONFIG_DIRAC_DECODER) += x86/diracdsp_mmx.o x86/diracdsp_yasm.o\
x86/dwt_yasm.o
YASM-OBJS-$(CONFIG_DSPUTIL) += x86/dsputil.o \
x86/fpelbase.o \
x86/fpel.o \
x86/mpeg4qpel.o \
x86/qpelbase.o
x86/qpel.o
YASM-OBJS-$(CONFIG_ENCODERS) += x86/dsputilenc.o
YASM-OBJS-$(CONFIG_FFT) += x86/fft.o
YASM-OBJS-$(CONFIG_H263_DECODER) += x86/h263_loopfilter.o
......@@ -72,10 +72,10 @@ YASM-OBJS-$(CONFIG_H264PRED) += x86/h264_intrapred.o \
x86/h264_intrapred_10bit.o
YASM-OBJS-$(CONFIG_H264QPEL) += x86/h264_qpel_8bit.o \
x86/h264_qpel_10bit.o \
x86/qpelbase.o \
x86/fpelbase.o
YASM-OBJS-$(CONFIG_HPELDSP) += x86/hpeldsp.o \
x86/fpelbase.o
x86/fpel.o \
x86/qpel.o
YASM-OBJS-$(CONFIG_HPELDSP) += x86/fpel.o \
x86/hpeldsp.o
YASM-OBJS-$(CONFIG_MPEGAUDIODSP) += x86/imdct36.o
YASM-OBJS-$(CONFIG_PNG_DECODER) += x86/pngdsp.o
YASM-OBJS-$(CONFIG_PRORES_DECODER) += x86/proresdsp.o
......
......@@ -27,10 +27,6 @@
#include "libavcodec/hpeldsp.h"
#include "dsputil_mmx.h"
//#undef NDEBUG
//#include <assert.h>
#if HAVE_YASM
void ff_put_pixels8_x2_mmxext(uint8_t *block, const uint8_t *pixels,
ptrdiff_t line_size, int h);
void ff_put_pixels8_x2_3dnow(uint8_t *block, const uint8_t *pixels,
......@@ -77,7 +73,6 @@ void ff_avg_pixels8_xy2_mmxext(uint8_t *block, const uint8_t *pixels,
ptrdiff_t line_size, int h);
void ff_avg_pixels8_xy2_3dnow(uint8_t *block, const uint8_t *pixels,
ptrdiff_t line_size, int h);
#endif /* HAVE_YASM */
#if HAVE_INLINE_ASM
......@@ -341,14 +336,12 @@ static void hpeldsp_init_mmxext(HpelDSPContext *c, int flags, int mm_flags)
c->avg_pixels_tab[0][3] = ff_avg_pixels16_xy2_mmxext;
c->avg_pixels_tab[1][3] = ff_avg_pixels8_xy2_mmxext;
}
#endif /* HAVE_YASM */
#if HAVE_MMXEXT_EXTERNAL
if (flags & CODEC_FLAG_BITEXACT && CONFIG_VP3_DECODER) {
c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_exact_mmxext;
c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_exact_mmxext;
}
#endif /* HAVE_MMXEXT_EXTERNAL */
#endif /* HAVE_YASM */
}
static void hpeldsp_init_3dnow(HpelDSPContext *c, int flags, int mm_flags)
......@@ -387,14 +380,14 @@ static void hpeldsp_init_3dnow(HpelDSPContext *c, int flags, int mm_flags)
static void hpeldsp_init_sse2(HpelDSPContext *c, int flags, int mm_flags)
{
#if HAVE_SSE2_EXTERNAL
#if HAVE_YASM
if (!(mm_flags & AV_CPU_FLAG_SSE2SLOW)) {
// these functions are slower than mmx on AMD, but faster on Intel
c->put_pixels_tab[0][0] = ff_put_pixels16_sse2;
c->put_no_rnd_pixels_tab[0][0] = ff_put_pixels16_sse2;
c->avg_pixels_tab[0][0] = ff_avg_pixels16_sse2;
}
#endif /* HAVE_SSE2_EXTERNAL */
#endif /* HAVE_YASM */
}
void ff_hpeldsp_init_x86(HpelDSPContext *c, int flags)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment