diff options
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/dct-test.c | 1 | ||||
-rw-r--r-- | libavcodec/x86/dsputil_mmx.c | 24 | ||||
-rw-r--r-- | libavcodec/x86/idct_mmx_xvid.c | 25 | ||||
-rw-r--r-- | libavcodec/x86/idct_xvid.h | 8 |
4 files changed, 33 insertions, 25 deletions
diff --git a/libavcodec/dct-test.c b/libavcodec/dct-test.c index a277817452..6cefd9dce0 100644 --- a/libavcodec/dct-test.c +++ b/libavcodec/dct-test.c @@ -57,7 +57,6 @@ void ff_bfin_fdct(DCTELEM *block); // ALTIVEC void ff_fdct_altivec(DCTELEM *block); -//void ff_idct_altivec(DCTELEM *block);?? no routine // ARM void ff_j_rev_dct_arm(DCTELEM *data); diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c index 567d8be057..c36a027229 100644 --- a/libavcodec/x86/dsputil_mmx.c +++ b/libavcodec/x86/dsputil_mmx.c @@ -2291,30 +2291,6 @@ static void ff_libmpeg2mmx2_idct_add(uint8_t *dest, int line_size, } #endif -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) { int i; diff --git a/libavcodec/x86/idct_mmx_xvid.c b/libavcodec/x86/idct_mmx_xvid.c index 29286b647a..2465cdf136 100644 --- a/libavcodec/x86/idct_mmx_xvid.c +++ b/libavcodec/x86/idct_mmx_xvid.c @@ -44,6 +44,7 @@ #include "config.h" #include "libavcodec/avcodec.h" #include "libavutil/mem.h" +#include "dsputil_mmx.h" #include "idct_xvid.h" #if HAVE_INLINE_ASM @@ -529,4 +530,28 @@ __asm__ volatile( :: "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 */ diff --git a/libavcodec/x86/idct_xvid.h b/libavcodec/x86/idct_xvid.h index be91d1c68a..6000654ac4 100644 --- a/libavcodec/x86/idct_xvid.h +++ b/libavcodec/x86/idct_xvid.h @@ -28,8 +28,16 @@ #include <stdint.h> +#include "libavcodec/dsputil.h" + 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_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_put(uint8_t *dest, int line_size, short *block); void ff_idct_xvid_sse2_add(uint8_t *dest, int line_size, short *block); |