| @@ -2161,33 +2161,6 @@ void ff_avg_vc1_mspel_mc00_mmx2(uint8_t *dst, const uint8_t *src, | |||||
| avg_pixels8_mmx2(dst, src, stride, 8); | avg_pixels8_mmx2(dst, src, stride, 8); | ||||
| } | } | ||||
| /* XXX: Those functions should be suppressed ASAP when all IDCTs are | |||||
| * converted. */ | |||||
| static void ff_idct_xvid_mmx_put(uint8_t *dest, int line_size, DCTELEM *block) | |||||
| { | |||||
| ff_idct_xvid_mmx(block); | |||||
| ff_put_pixels_clamped_mmx(block, dest, line_size); | |||||
| } | |||||
| static void ff_idct_xvid_mmx_add(uint8_t *dest, int line_size, DCTELEM *block) | |||||
| { | |||||
| ff_idct_xvid_mmx(block); | |||||
| ff_add_pixels_clamped_mmx(block, dest, line_size); | |||||
| } | |||||
| static void ff_idct_xvid_mmx2_put(uint8_t *dest, int line_size, DCTELEM *block) | |||||
| { | |||||
| ff_idct_xvid_mmx2(block); | |||||
| ff_put_pixels_clamped_mmx(block, dest, line_size); | |||||
| } | |||||
| static void ff_idct_xvid_mmx2_add(uint8_t *dest, int line_size, DCTELEM *block) | |||||
| { | |||||
| ff_idct_xvid_mmx2(block); | |||||
| ff_add_pixels_clamped_mmx(block, dest, line_size); | |||||
| } | |||||
| static void vorbis_inverse_coupling_3dnow(float *mag, float *ang, int blocksize) | static void vorbis_inverse_coupling_3dnow(float *mag, float *ang, int blocksize) | ||||
| { | { | ||||
| int i; | int i; | ||||
| @@ -44,6 +44,7 @@ | |||||
| #include "config.h" | #include "config.h" | ||||
| #include "libavcodec/avcodec.h" | #include "libavcodec/avcodec.h" | ||||
| #include "libavutil/mem.h" | #include "libavutil/mem.h" | ||||
| #include "dsputil_mmx.h" | |||||
| #include "idct_xvid.h" | #include "idct_xvid.h" | ||||
| #if HAVE_INLINE_ASM | #if HAVE_INLINE_ASM | ||||
| @@ -529,4 +530,28 @@ __asm__ volatile( | |||||
| :: "r"(block), "r"(rounder_0), "r"(tab_i_04_xmm), "r"(tg_1_16)); | :: "r"(block), "r"(rounder_0), "r"(tab_i_04_xmm), "r"(tg_1_16)); | ||||
| } | } | ||||
| void ff_idct_xvid_mmx_put(uint8_t *dest, int line_size, DCTELEM *block) | |||||
| { | |||||
| ff_idct_xvid_mmx(block); | |||||
| ff_put_pixels_clamped_mmx(block, dest, line_size); | |||||
| } | |||||
| void ff_idct_xvid_mmx_add(uint8_t *dest, int line_size, DCTELEM *block) | |||||
| { | |||||
| ff_idct_xvid_mmx(block); | |||||
| ff_add_pixels_clamped_mmx(block, dest, line_size); | |||||
| } | |||||
| void ff_idct_xvid_mmx2_put(uint8_t *dest, int line_size, DCTELEM *block) | |||||
| { | |||||
| ff_idct_xvid_mmx2(block); | |||||
| ff_put_pixels_clamped_mmx(block, dest, line_size); | |||||
| } | |||||
| void ff_idct_xvid_mmx2_add(uint8_t *dest, int line_size, DCTELEM *block) | |||||
| { | |||||
| ff_idct_xvid_mmx2(block); | |||||
| ff_add_pixels_clamped_mmx(block, dest, line_size); | |||||
| } | |||||
| #endif /* HAVE_INLINE_ASM */ | #endif /* HAVE_INLINE_ASM */ | ||||
| @@ -28,8 +28,16 @@ | |||||
| #include <stdint.h> | #include <stdint.h> | ||||
| #include "libavcodec/dsputil.h" | |||||
| void ff_idct_xvid_mmx(short *block); | void ff_idct_xvid_mmx(short *block); | ||||
| void ff_idct_xvid_mmx_put(uint8_t *dest, int line_size, DCTELEM *block); | |||||
| void ff_idct_xvid_mmx_add(uint8_t *dest, int line_size, DCTELEM *block); | |||||
| void ff_idct_xvid_mmx2(short *block); | void ff_idct_xvid_mmx2(short *block); | ||||
| void ff_idct_xvid_mmx2_put(uint8_t *dest, int line_size, DCTELEM *block); | |||||
| void ff_idct_xvid_mmx2_add(uint8_t *dest, int line_size, DCTELEM *block); | |||||
| void ff_idct_xvid_sse2(short *block); | void ff_idct_xvid_sse2(short *block); | ||||
| void ff_idct_xvid_sse2_put(uint8_t *dest, int line_size, short *block); | void ff_idct_xvid_sse2_put(uint8_t *dest, int line_size, short *block); | ||||
| void ff_idct_xvid_sse2_add(uint8_t *dest, int line_size, short *block); | void ff_idct_xvid_sse2_add(uint8_t *dest, int line_size, short *block); | ||||