fix: roundoff initializer is not a constant
authorJames Berry <jamesberry@google.com>
Tue, 10 Jan 2012 18:37:35 +0000 (13:37 -0500)
committerJames Berry <jamesberry@google.com>
Tue, 10 Jan 2012 19:19:30 +0000 (14:19 -0500)
precision used in initialization of roundoff is not a constant
updated to use #define MFQE_PRECISION 4

Change-Id: If2fc3d3d633d58a7f4ab34d258c232ec1e5f0a79

vp8/common/postproc.c

index 0ef3009..65ec5f2 100644 (file)
@@ -29,6 +29,7 @@
     ( (0.439*(float)(t>>16)) - (0.368*(float)(t>>8&0xff)) - (0.071*(float)(t&0xff)) + 128)
 
 /* global constants */
+#define MFQE_PRECISION 4
 #if CONFIG_POSTPROC_VISUALIZER
 static const unsigned char MB_PREDICTION_MODE_colors[MB_MODE_COUNT][3] =
 {
@@ -727,27 +728,26 @@ static void multiframe_quality_enhance_block
     // These thresholds should be adapted later based on qcurr and qprev
     if (sad < thr)
     {
-        static const int precision = 4;
-        static const int roundoff = (1 << (precision - 1));
-        int ifactor = (sad << precision) / thr;
+        static const int roundoff = (1 << (MFQE_PRECISION - 1));
+        int ifactor = (sad << MFQE_PRECISION) / thr;
         // TODO: SIMD optimize this section
         if (ifactor)
         {
-            int icfactor = (1 << precision) - ifactor;
+            int icfactor = (1 << MFQE_PRECISION) - ifactor;
             for (yp = y, ydp = yd, i = 0; i < blksize; ++i, yp += y_stride, ydp += yd_stride)
             {
                 for (j = 0; j < blksize; ++j)
-                    ydp[j] = (int)((yp[j] * ifactor + ydp[j] * icfactor + roundoff) >> precision);
+                    ydp[j] = (int)((yp[j] * ifactor + ydp[j] * icfactor + roundoff) >> MFQE_PRECISION);
             }
             for (up = u, udp = ud, i = 0; i < blksizeby2; ++i, up += uv_stride, udp += uvd_stride)
             {
                 for (j = 0; j < blksizeby2; ++j)
-                    udp[j] = (int)((up[j] * ifactor + udp[j] * icfactor + roundoff) >> precision);
+                    udp[j] = (int)((up[j] * ifactor + udp[j] * icfactor + roundoff) >> MFQE_PRECISION);
             }
             for (vp = v, vdp = vd, i = 0; i < blksizeby2; ++i, vp += uv_stride, vdp += uvd_stride)
             {
                 for (j = 0; j < blksizeby2; ++j)
-                    vdp[j] = (int)((vp[j] * ifactor + vdp[j] * icfactor + roundoff) >> precision);
+                    vdp[j] = (int)((vp[j] * ifactor + vdp[j] * icfactor + roundoff) >> MFQE_PRECISION);
             }
         }
     }