diff options
Diffstat (limited to 'contrib/ffmpeg/libavcodec/dct-test.c')
-rw-r--r-- | contrib/ffmpeg/libavcodec/dct-test.c | 21 |
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) { |