dct-test: add PARTTRANS permutation
Originally committed as revision 16169 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
d358caed7e
commit
875f31259b
@ -69,7 +69,7 @@ struct algo {
|
|||||||
enum { FDCT, IDCT } is_idct;
|
enum { FDCT, IDCT } is_idct;
|
||||||
void (* func) (DCTELEM *block);
|
void (* func) (DCTELEM *block);
|
||||||
void (* ref) (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;
|
int mm_support;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -235,6 +235,9 @@ void dct_error(const char *name, int is_idct,
|
|||||||
} else if (form == SSE2_PERM) {
|
} else if (form == SSE2_PERM) {
|
||||||
for(i=0; i<64; i++)
|
for(i=0; i<64; i++)
|
||||||
block[(i&0x38) | idct_sse2_row_perm[i&7]] = block1[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 {
|
} else {
|
||||||
for(i=0; i<64; i++)
|
for(i=0; i<64; i++)
|
||||||
block[i]= block1[i];
|
block[i]= block1[i];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user