Mercurial > libavcodec.hg
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) {