From 13b54752647fd89bbfea809fd047d3476020a546 Mon Sep 17 00:00:00 2001 From: Fabrice Bellard Date: Tue, 7 Aug 2001 22:45:35 +0000 Subject: permuted coefs in normal IDCT to avoid having different cases there Originally committed as revision 47 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/jrevdct.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'libavcodec/jrevdct.c') 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. */ -- cgit v1.2.3