From 875f31259b8d14d091002a980eb722ef06f4d2f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5ns=20Rullg=C3=A5rd?= Date: Tue, 16 Dec 2008 19:59:50 +0000 Subject: [PATCH] dct-test: add PARTTRANS permutation Originally committed as revision 16169 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/dct-test.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavcodec/dct-test.c b/libavcodec/dct-test.c index bc7b34ba6a..69195e497d 100644 --- a/libavcodec/dct-test.c +++ b/libavcodec/dct-test.c @@ -69,7 +69,7 @@ struct algo { enum { FDCT, IDCT } is_idct; void (* func) (DCTELEM *block); void (* ref) (DCTELEM *block); - enum formattag { NO_PERM,MMX_PERM, MMX_SIMPLE_PERM, SCALE_PERM, SSE2_PERM } format; + enum formattag { NO_PERM,MMX_PERM, MMX_SIMPLE_PERM, SCALE_PERM, SSE2_PERM, PARTTRANS_PERM } format; int mm_support; }; @@ -235,6 +235,9 @@ void dct_error(const char *name, int is_idct, } else if (form == SSE2_PERM) { for(i=0; i<64; i++) block[(i&0x38) | idct_sse2_row_perm[i&7]] = block1[i]; + } else if (form == PARTTRANS_PERM) { + for(i=0; i<64; i++) + block[(i&0x24) | ((i&3)<<3) | ((i>>3)&3)] = block1[i]; } else { for(i=0; i<64; i++) block[i]= block1[i];