Merge commit '8db00081a37d5b7e23918ee500bb16bc59b57197'
* commit '8db00081a37d5b7e23918ee500bb16bc59b57197': 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: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
d0aa60da10
@ -54,7 +54,8 @@ av_cold void ff_hpeldsp_init(HpelDSPContext *c, int flags)
|
|||||||
hpel_funcs(avg, [3], 2);
|
hpel_funcs(avg, [3], 2);
|
||||||
hpel_funcs(avg_no_rnd,, 16);
|
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 (ARCH_ARM) ff_hpeldsp_init_arm (c, flags);
|
||||||
if (HAVE_VIS) ff_hpeldsp_init_vis (c, flags);
|
if (HAVE_VIS) ff_hpeldsp_init_vis (c, flags);
|
||||||
if (ARCH_ALPHA) ff_hpeldsp_init_alpha (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\
|
YASM-OBJS-$(CONFIG_DIRAC_DECODER) += x86/diracdsp_mmx.o x86/diracdsp_yasm.o\
|
||||||
x86/dwt_yasm.o
|
x86/dwt_yasm.o
|
||||||
YASM-OBJS-$(CONFIG_DSPUTIL) += x86/dsputil.o \
|
YASM-OBJS-$(CONFIG_DSPUTIL) += x86/dsputil.o \
|
||||||
x86/fpelbase.o \
|
x86/fpel.o \
|
||||||
x86/mpeg4qpel.o \
|
x86/mpeg4qpel.o \
|
||||||
x86/qpelbase.o
|
x86/qpel.o
|
||||||
YASM-OBJS-$(CONFIG_ENCODERS) += x86/dsputilenc.o
|
YASM-OBJS-$(CONFIG_ENCODERS) += x86/dsputilenc.o
|
||||||
YASM-OBJS-$(CONFIG_FFT) += x86/fft.o
|
YASM-OBJS-$(CONFIG_FFT) += x86/fft.o
|
||||||
YASM-OBJS-$(CONFIG_H263_DECODER) += x86/h263_loopfilter.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
|
x86/h264_intrapred_10bit.o
|
||||||
YASM-OBJS-$(CONFIG_H264QPEL) += x86/h264_qpel_8bit.o \
|
YASM-OBJS-$(CONFIG_H264QPEL) += x86/h264_qpel_8bit.o \
|
||||||
x86/h264_qpel_10bit.o \
|
x86/h264_qpel_10bit.o \
|
||||||
x86/qpelbase.o \
|
x86/fpel.o \
|
||||||
x86/fpelbase.o
|
x86/qpel.o
|
||||||
YASM-OBJS-$(CONFIG_HPELDSP) += x86/hpeldsp.o \
|
YASM-OBJS-$(CONFIG_HPELDSP) += x86/fpel.o \
|
||||||
x86/fpelbase.o
|
x86/hpeldsp.o
|
||||||
YASM-OBJS-$(CONFIG_MPEGAUDIODSP) += x86/imdct36.o
|
YASM-OBJS-$(CONFIG_MPEGAUDIODSP) += x86/imdct36.o
|
||||||
YASM-OBJS-$(CONFIG_PNG_DECODER) += x86/pngdsp.o
|
YASM-OBJS-$(CONFIG_PNG_DECODER) += x86/pngdsp.o
|
||||||
YASM-OBJS-$(CONFIG_PRORES_DECODER) += x86/proresdsp.o
|
YASM-OBJS-$(CONFIG_PRORES_DECODER) += x86/proresdsp.o
|
||||||
|
@ -27,10 +27,6 @@
|
|||||||
#include "libavcodec/hpeldsp.h"
|
#include "libavcodec/hpeldsp.h"
|
||||||
#include "dsputil_mmx.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,
|
void ff_put_pixels8_x2_mmxext(uint8_t *block, const uint8_t *pixels,
|
||||||
ptrdiff_t line_size, int h);
|
ptrdiff_t line_size, int h);
|
||||||
void ff_put_pixels8_x2_3dnow(uint8_t *block, const uint8_t *pixels,
|
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);
|
ptrdiff_t line_size, int h);
|
||||||
void ff_avg_pixels8_xy2_3dnow(uint8_t *block, const uint8_t *pixels,
|
void ff_avg_pixels8_xy2_3dnow(uint8_t *block, const uint8_t *pixels,
|
||||||
ptrdiff_t line_size, int h);
|
ptrdiff_t line_size, int h);
|
||||||
#endif /* HAVE_YASM */
|
|
||||||
|
|
||||||
|
|
||||||
#if HAVE_INLINE_ASM
|
#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[0][3] = ff_avg_pixels16_xy2_mmxext;
|
||||||
c->avg_pixels_tab[1][3] = ff_avg_pixels8_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) {
|
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][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;
|
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)
|
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)
|
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)) {
|
if (!(mm_flags & AV_CPU_FLAG_SSE2SLOW)) {
|
||||||
// these functions are slower than mmx on AMD, but faster on Intel
|
// these functions are slower than mmx on AMD, but faster on Intel
|
||||||
c->put_pixels_tab[0][0] = ff_put_pixels16_sse2;
|
c->put_pixels_tab[0][0] = ff_put_pixels16_sse2;
|
||||||
c->put_no_rnd_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;
|
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)
|
void ff_hpeldsp_init_x86(HpelDSPContext *c, int flags)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user