summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2008-12-16 19:59:50 +0000
committerMåns Rullgård <mans@mansr.com>2008-12-16 19:59:50 +0000
commit875f31259b8d14d091002a980eb722ef06f4d2f8 (patch)
tree07f0d98b1c16a8feee29d9a90544d5f6fbddc2d6 /libavcodec
parentd358caed7e56b30af9fc93f420372fd46a89b3d4 (diff)
dct-test: add PARTTRANS permutation
Originally committed as revision 16169 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/dct-test.c5
1 files changed, 4 insertions, 1 deletions
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];