mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
Merge commit '63bac48f734fc69cca2ef2cfada92cd9a222734d'
* 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>
This commit is contained in:
commit
69d2eff5af
@ -881,23 +881,6 @@ QPEL_OP(put_no_rnd_, ff_pw_15, _no_rnd_, mmxext)
|
||||
|
||||
|
||||
#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,
|
||||
ptrdiff_t linesize, int block_w, int block_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,
|
||||
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_mmxext_idct(int16_t *block);
|
||||
|
||||
|
||||
void ff_deinterlace_line_mmx(uint8_t *dst,
|
||||
const uint8_t *lum_m4, const uint8_t *lum_m3,
|
||||
const uint8_t *lum_m2, const uint8_t *lum_m1,
|
||||
|
@ -188,6 +188,29 @@ QPEL_FUNCS_SET (OP, 3, 2, OPT)
|
||||
|
||||
#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)
|
||||
{
|
||||
#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[1] = ff_put_rv40_chroma_mc4_mmx;
|
||||
#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 */
|
||||
#if ARCH_X86_32
|
||||
QPEL_MC_SET(put_, _mmx)
|
||||
|
Loading…
x
Reference in New Issue
Block a user