]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/jrevdct.c
8bpp support (no dithering yet, use -vop noise for now)
[ffmpeg] / libavcodec / jrevdct.c
index 2ef40f38e540608e3d2a23115eee3f5742544e09..3ba91543de70d4036de2168f1d1dc0f0300196f7 100644 (file)
@@ -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. */
@@ -1164,4 +1166,5 @@ void j_rev_dct(DCTBLOCK data)
   }
 }
 
-
+#undef FIX
+#undef CONST_BITS