diff options
author | Fabrice Bellard <fabrice@bellard.org> | 2001-08-07 22:45:35 +0000 |
---|---|---|
committer | Fabrice Bellard <fabrice@bellard.org> | 2001-08-07 22:45:35 +0000 |
commit | 13b54752647fd89bbfea809fd047d3476020a546 (patch) | |
tree | 883fb2656073bede12d07abc1fb07e167d0f2d67 /libavcodec/jrevdct.c | |
parent | dc541ee74b2fbf147685e254d50b72903cb66527 (diff) | |
download | ffmpeg-13b54752647fd89bbfea809fd047d3476020a546.tar.gz |
permuted coefs in normal IDCT to avoid having different cases there
Originally committed as revision 47 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/jrevdct.c')
-rw-r--r-- | libavcodec/jrevdct.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/libavcodec/jrevdct.c b/libavcodec/jrevdct.c index 2ef40f38e5..246f1b190a 100644 --- a/libavcodec/jrevdct.c +++ b/libavcodec/jrevdct.c @@ -197,16 +197,18 @@ void j_rev_dct(DCTBLOCK data) register int *idataptr = (int*)dataptr; + /* WARNING: we do the same permutation as MMX idct to simplify the + video core */ d0 = dataptr[0]; - d1 = dataptr[1]; - d2 = dataptr[2]; - d3 = dataptr[3]; - d4 = dataptr[4]; - d5 = dataptr[5]; - d6 = dataptr[6]; + d2 = dataptr[1]; + d4 = dataptr[2]; + d6 = dataptr[3]; + d1 = dataptr[4]; + d3 = dataptr[5]; + d5 = dataptr[6]; d7 = dataptr[7]; - if ((d1 == 0) && (idataptr[1] | idataptr[2] | idataptr[3]) == 0) { + if ((d1 | d2 | d3 | d4 | d5 | d6 | d7) == 0) { /* AC terms all zero */ if (d0) { /* Compute a 32 bit value to assign. */ |