diff faandct.c @ 1562:bf452704100f libavcodec

optionally merge postscale into quantization table for the float aan dct
author michael
date Thu, 23 Oct 2003 09:11:56 +0000
parents aa71c7981523
children 820e06c6ca9b
line wrap: on
line diff
--- a/faandct.c	Thu Oct 23 08:31:26 2003 +0000
+++ b/faandct.c	Thu Oct 23 09:11:56 2003 +0000
@@ -32,6 +32,11 @@
 #include "faandct.h"
 
 #define FLOAT float
+#ifdef FAAN_POSTSCALE
+#    define SCALE(x) postscale[x]
+#else
+#    define SCALE(x) 1
+#endif
 
 //numbers generated by simple c code (not as accurate as they could be)
 /*
@@ -130,12 +135,12 @@
         tmp11= tmp1 + tmp2;
         tmp12= tmp1 - tmp2;
         
-        data[8*0 + i]= lrint(postscale[8*0 + i] * (tmp10 + tmp11));
-        data[8*4 + i]= lrint(postscale[8*4 + i] * (tmp10 - tmp11));
+        data[8*0 + i]= lrint(SCALE(8*0 + i) * (tmp10 + tmp11));
+        data[8*4 + i]= lrint(SCALE(8*4 + i) * (tmp10 - tmp11));
         
         z1= (tmp12 + tmp13)* A1;
-        data[8*2 + i]= lrint(postscale[8*2 + i] * (tmp13 + z1));
-        data[8*6 + i]= lrint(postscale[8*6 + i] * (tmp13 - z1));
+        data[8*2 + i]= lrint(SCALE(8*2 + i) * (tmp13 + z1));
+        data[8*6 + i]= lrint(SCALE(8*6 + i) * (tmp13 - z1));
         
         tmp10= tmp4 + tmp5;
         tmp11= tmp5 + tmp6;
@@ -149,9 +154,9 @@
         z11= tmp7 + z3;
         z13= tmp7 - z3;
 
-        data[8*5 + i]= lrint(postscale[8*5 + i] * (z13 + z2));
-        data[8*3 + i]= lrint(postscale[8*3 + i] * (z13 - z2));
-        data[8*1 + i]= lrint(postscale[8*1 + i] * (z11 + z4));
-        data[8*7 + i]= lrint(postscale[8*7 + i] * (z11 - z4));
+        data[8*5 + i]= lrint(SCALE(8*5 + i) * (z13 + z2));
+        data[8*3 + i]= lrint(SCALE(8*3 + i) * (z13 - z2));
+        data[8*1 + i]= lrint(SCALE(8*1 + i) * (z11 + z4));
+        data[8*7 + i]= lrint(SCALE(8*7 + i) * (z11 - z4));
     }
 }