diff motion_est.c @ 233:3f5b72726118 libavcodec

- More work on preliminary bit rate control, just to be able to get an average variance for picture's MBs so we can adjust qscale on the MB layer.
author pulento
date Sun, 10 Feb 2002 06:10:50 +0000
parents b640ec5948b0
children 16cd8a9c4da4
line wrap: on
line diff
--- a/motion_est.c	Sun Feb 10 01:56:50 2002 +0000
+++ b/motion_est.c	Sun Feb 10 06:10:50 2002 +0000
@@ -400,7 +400,7 @@
     UINT8 *pix, *ppix;
     int sum, varc, vard, mx, my, range, dmin, xx, yy;
     int xmin, ymin, xmax, ymax;
-
+    
     range = 8 * (1 << (s->f_code - 1));
     /* XXX: temporary kludge to avoid overflow for msmpeg4 */
     if (s->out_format == FMT_H263 && !s->h263_msmpeg4)
@@ -458,9 +458,12 @@
     vard = vard >> 8;
     sum = sum >> 8;
     varc = (varc >> 8) - (sum * sum);
+    
+    s->avg_mb_var += varc;
+     
 #if 0
-    printf("varc=%d (sum=%d) vard=%d mx=%d my=%d\n",
-	   varc, sum, vard, mx - xx, my - yy);
+    printf("varc=%4d avg_var=%4d (sum=%4d) vard=%4d mx=%2d my=%2d\n",
+	   varc, s->avg_mb_var, sum, vard, mx - xx, my - yy);
 #endif
     if (vard <= 64 || vard < varc) {
         if (s->full_search != ME_ZERO) {