summaryrefslogtreecommitdiff
path: root/contrib/ffmpeg/libavcodec/dct-test.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ffmpeg/libavcodec/dct-test.c')
-rw-r--r--contrib/ffmpeg/libavcodec/dct-test.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/contrib/ffmpeg/libavcodec/dct-test.c b/contrib/ffmpeg/libavcodec/dct-test.c
index 7cd866832..c3ef297c4 100644
--- a/contrib/ffmpeg/libavcodec/dct-test.c
+++ b/contrib/ffmpeg/libavcodec/dct-test.c
@@ -30,17 +30,20 @@
#include <string.h>
#include <sys/time.h>
#include <unistd.h>
+#include <math.h>
#include "dsputil.h"
#include "simple_idct.h"
#include "faandct.h"
+#include "faanidct.h"
#ifndef MAX
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
#endif
#undef printf
+#undef random
void *fast_memcpy(void *a, const void *b, size_t c){return memcpy(a,b,c);};
@@ -51,7 +54,6 @@ extern void ff_idct_xvid_mmx(DCTELEM *block);
extern void ff_idct_xvid_mmx2(DCTELEM *block);
extern void init_fdct();
-extern void j_rev_dct(DCTELEM *data);
extern void ff_mmx_idct(DCTELEM *data);
extern void ff_mmxext_idct(DCTELEM *data);
@@ -85,19 +87,24 @@ struct algo {
struct algo algos[] = {
DCT_ERROR( "REF-DBL", 0, fdct, fdct, NO_PERM),
+ DCT_ERROR("FAAN", 0, ff_faandct, fdct, FAAN_SCALE),
+ DCT_ERROR("FAANI", 1, ff_faanidct, idct, NO_PERM),
DCT_ERROR("IJG-AAN-INT", 0, fdct_ifast, fdct, SCALE_PERM),
DCT_ERROR("IJG-LLM-INT", 0, ff_jpeg_fdct_islow, fdct, NO_PERM),
DCT_ERROR("REF-DBL", 1, idct, idct, NO_PERM),
DCT_ERROR("INT", 1, j_rev_dct, idct, MMX_PERM),
- DCT_ERROR("SIMPLE-C", 1, simple_idct, idct, NO_PERM),
+ DCT_ERROR("SIMPLE-C", 1, ff_simple_idct, idct, NO_PERM),
-#ifdef ARCH_X86
+#ifdef HAVE_MMX
DCT_ERROR("MMX", 0, ff_fdct_mmx, fdct, NO_PERM),
+#ifdef HAVE_MMX2
DCT_ERROR("MMX2", 0, ff_fdct_mmx2, fdct, NO_PERM),
- DCT_ERROR("FAAN", 0, ff_faandct, fdct, FAAN_SCALE),
+#endif
+#ifdef CONFIG_GPL
DCT_ERROR("LIBMPEG2-MMX", 1, ff_mmx_idct, idct, MMX_PERM),
DCT_ERROR("LIBMPEG2-MMXEXT", 1, ff_mmxext_idct, idct, MMX_PERM),
+#endif
DCT_ERROR("SIMPLE-MMX", 1, ff_simple_idct_mmx, idct, MMX_SIMPLE_PERM),
DCT_ERROR("XVID-MMX", 1, ff_idct_xvid_mmx, idct, NO_PERM),
DCT_ERROR("XVID-MMX2", 1, ff_idct_xvid_mmx2, idct, NO_PERM),
@@ -333,7 +340,7 @@ void dct_error(const char *name, int is_idct,
for(i=0; i<64; i++)
block[i]= block1[i];
// memcpy(block, block1, sizeof(DCTELEM) * 64);
-// dont memcpy especially not fastmemcpy because it does movntq !!!
+// do not memcpy especially not fastmemcpy because it does movntq !!!
fdct_func(block);
}
it1 += NB_ITS_SPEED;
@@ -493,7 +500,7 @@ void idct248_error(const char *name,
for(i=0; i<64; i++)
block[i]= block1[i];
// memcpy(block, block1, sizeof(DCTELEM) * 64);
-// dont memcpy especially not fastmemcpy because it does movntq !!!
+// do not memcpy especially not fastmemcpy because it does movntq !!!
idct248_put(img_dest, 8, block);
}
it1 += NB_ITS_SPEED;
@@ -554,7 +561,7 @@ int main(int argc, char **argv)
printf("ffmpeg DCT/IDCT test\n");
if (test_248_dct) {
- idct248_error("SIMPLE-C", simple_idct248_put);
+ idct248_error("SIMPLE-C", ff_simple_idct248_put);
} else {
for (i=0;algos[i].name;i++)
if (algos[i].is_idct == test_idct) {