summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2012-09-14 00:59:03 +0200
committerDiego Biurrun <diego@biurrun.de>2012-09-14 01:59:47 +0200
commit58139e141bfd7116e527bae6a9f71c3b43fc8ff2 (patch)
tree2fb31923cc4e930efe8b25111abde061765362db /libavcodec
parent18d882551718f3e8da2c08ea664b4d0a1205212b (diff)
x86: dsputil: Move Xvid IDCT put/add functions to a more suitable place
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/x86/dsputil_mmx.c27
-rw-r--r--libavcodec/x86/idct_mmx_xvid.c25
-rw-r--r--libavcodec/x86/idct_xvid.h8
3 files changed, 33 insertions, 27 deletions
diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c
index 659b549281..121e7114c7 100644
--- a/libavcodec/x86/dsputil_mmx.c
+++ b/libavcodec/x86/dsputil_mmx.c
@@ -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);
}
-/* 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)
{
int i;
diff --git a/libavcodec/x86/idct_mmx_xvid.c b/libavcodec/x86/idct_mmx_xvid.c
index 23180b2c5a..08a627d5b9 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 495d2caaf9..82fa990873 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);