* commit '63bac48f734fc69cca2ef2cfada92cd9a222734d': x86: dsputil: Move rv40-specific functions where they belong Conflicts: libavcodec/x86/dsputil_mmx.c libavcodec/x86/dsputil_mmx.h Merged-by: Michael Niedermayer <michaelni@gmx.at>tags/n2.0
| @@ -881,23 +881,6 @@ QPEL_OP(put_no_rnd_, ff_pw_15, _no_rnd_, mmxext) | |||||
| #if HAVE_INLINE_ASM | #if HAVE_INLINE_ASM | ||||
| void ff_put_rv40_qpel8_mc33_mmx(uint8_t *dst, uint8_t *src, ptrdiff_t stride) | |||||
| { | |||||
| ff_put_pixels8_xy2_mmx(dst, src, stride, 8); | |||||
| } | |||||
| void ff_put_rv40_qpel16_mc33_mmx(uint8_t *dst, uint8_t *src, ptrdiff_t stride) | |||||
| { | |||||
| ff_put_pixels16_xy2_mmx(dst, src, stride, 16); | |||||
| } | |||||
| void ff_avg_rv40_qpel8_mc33_mmx(uint8_t *dst, uint8_t *src, ptrdiff_t stride) | |||||
| { | |||||
| ff_avg_pixels8_xy2_mmx(dst, src, stride, 8); | |||||
| } | |||||
| void ff_avg_rv40_qpel16_mc33_mmx(uint8_t *dst, uint8_t *src, ptrdiff_t stride) | |||||
| { | |||||
| ff_avg_pixels16_xy2_mmx(dst, src, stride, 16); | |||||
| } | |||||
| typedef void emulated_edge_mc_func(uint8_t *dst, const uint8_t *src, | typedef void emulated_edge_mc_func(uint8_t *dst, const uint8_t *src, | ||||
| ptrdiff_t linesize, int block_w, int block_h, | ptrdiff_t linesize, int block_w, int block_h, | ||||
| int src_x, int src_y, int w, int h); | int src_x, int src_y, int w, int h); | ||||
| @@ -186,15 +186,10 @@ void ff_put_pixels8_xy2_mmx(uint8_t *block, const uint8_t *pixels, | |||||
| void ff_put_pixels16_xy2_mmx(uint8_t *block, const uint8_t *pixels, | void ff_put_pixels16_xy2_mmx(uint8_t *block, const uint8_t *pixels, | ||||
| ptrdiff_t line_size, int h); | ptrdiff_t line_size, int h); | ||||
| void ff_put_rv40_qpel8_mc33_mmx(uint8_t *block, uint8_t *pixels, ptrdiff_t stride); | |||||
| void ff_put_rv40_qpel16_mc33_mmx(uint8_t *block, uint8_t *pixels, ptrdiff_t stride); | |||||
| void ff_avg_rv40_qpel8_mc33_mmx(uint8_t *block, uint8_t *pixels, ptrdiff_t stride); | |||||
| void ff_avg_rv40_qpel16_mc33_mmx(uint8_t *block, uint8_t *pixels, ptrdiff_t stride); | |||||
| void ff_mmx_idct(int16_t *block); | void ff_mmx_idct(int16_t *block); | ||||
| void ff_mmxext_idct(int16_t *block); | void ff_mmxext_idct(int16_t *block); | ||||
| void ff_deinterlace_line_mmx(uint8_t *dst, | void ff_deinterlace_line_mmx(uint8_t *dst, | ||||
| const uint8_t *lum_m4, const uint8_t *lum_m3, | const uint8_t *lum_m4, const uint8_t *lum_m3, | ||||
| const uint8_t *lum_m2, const uint8_t *lum_m1, | const uint8_t *lum_m2, const uint8_t *lum_m1, | ||||
| @@ -188,6 +188,29 @@ QPEL_FUNCS_SET (OP, 3, 2, OPT) | |||||
| #endif /* HAVE_YASM */ | #endif /* HAVE_YASM */ | ||||
| #if HAVE_MMX_INLINE | |||||
| static void put_rv40_qpel8_mc33_mmx(uint8_t *dst, uint8_t *src, | |||||
| ptrdiff_t stride) | |||||
| { | |||||
| ff_put_pixels8_xy2_mmx(dst, src, stride, 8); | |||||
| } | |||||
| static void put_rv40_qpel16_mc33_mmx(uint8_t *dst, uint8_t *src, | |||||
| ptrdiff_t stride) | |||||
| { | |||||
| ff_put_pixels16_xy2_mmx(dst, src, stride, 16); | |||||
| } | |||||
| static void avg_rv40_qpel8_mc33_mmx(uint8_t *dst, uint8_t *src, | |||||
| ptrdiff_t stride) | |||||
| { | |||||
| ff_avg_pixels8_xy2_mmx(dst, src, stride, 8); | |||||
| } | |||||
| static void avg_rv40_qpel16_mc33_mmx(uint8_t *dst, uint8_t *src, | |||||
| ptrdiff_t stride) | |||||
| { | |||||
| ff_avg_pixels16_xy2_mmx(dst, src, stride, 16); | |||||
| } | |||||
| #endif /* HAVE_MMX_INLINE */ | |||||
| av_cold void ff_rv40dsp_init_x86(RV34DSPContext *c) | av_cold void ff_rv40dsp_init_x86(RV34DSPContext *c) | ||||
| { | { | ||||
| #if HAVE_YASM | #if HAVE_YASM | ||||
| @@ -197,10 +220,10 @@ av_cold void ff_rv40dsp_init_x86(RV34DSPContext *c) | |||||
| c->put_chroma_pixels_tab[0] = ff_put_rv40_chroma_mc8_mmx; | c->put_chroma_pixels_tab[0] = ff_put_rv40_chroma_mc8_mmx; | ||||
| c->put_chroma_pixels_tab[1] = ff_put_rv40_chroma_mc4_mmx; | c->put_chroma_pixels_tab[1] = ff_put_rv40_chroma_mc4_mmx; | ||||
| #if HAVE_MMX_INLINE | #if HAVE_MMX_INLINE | ||||
| c->put_pixels_tab[0][15] = ff_put_rv40_qpel16_mc33_mmx; | |||||
| c->put_pixels_tab[1][15] = ff_put_rv40_qpel8_mc33_mmx; | |||||
| c->avg_pixels_tab[0][15] = ff_avg_rv40_qpel16_mc33_mmx; | |||||
| c->avg_pixels_tab[1][15] = ff_avg_rv40_qpel8_mc33_mmx; | |||||
| c->put_pixels_tab[0][15] = put_rv40_qpel16_mc33_mmx; | |||||
| c->put_pixels_tab[1][15] = put_rv40_qpel8_mc33_mmx; | |||||
| c->avg_pixels_tab[0][15] = avg_rv40_qpel16_mc33_mmx; | |||||
| c->avg_pixels_tab[1][15] = avg_rv40_qpel8_mc33_mmx; | |||||
| #endif /* HAVE_MMX_INLINE */ | #endif /* HAVE_MMX_INLINE */ | ||||
| #if ARCH_X86_32 | #if ARCH_X86_32 | ||||
| QPEL_MC_SET(put_, _mmx) | QPEL_MC_SET(put_, _mmx) | ||||