summaryrefslogtreecommitdiff
path: root/libavcodec/mpegvideo.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2002-10-31 00:48:05 +0000
committerMichael Niedermayer <michaelni@gmx.at>2002-10-31 00:48:05 +0000
commitaf27aea9226bea67f2730fd334c09cd7724d151b (patch)
tree66c97ab70d32910c2315ad8bc81c940711fb90bb /libavcodec/mpegvideo.c
parent4707cb07e1ceb0d1a518eda08fbf0d4035ea7745 (diff)
fixing another assert q>0.0 issue caused by variance < 0, this fix allso changes the inter/intra decission very slightly -> all regression checksums need to be updated
Originally committed as revision 1122 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpegvideo.c')
-rw-r--r--libavcodec/mpegvideo.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 4503e3e1e7..1e68e03e11 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -2590,11 +2590,10 @@ static void encode_picture(MpegEncContext *s, int picture_number)
int varc;
int sum = pix_sum(pix, s->linesize);
- sum= (sum+8)>>4;
- varc = (pix_norm1(pix, s->linesize) - sum*sum + 500 + 128)>>8;
+ varc = (pix_norm1(pix, s->linesize) - (((unsigned)(sum*sum))>>8) + 500 + 128)>>8;
s->mb_var [s->mb_width * mb_y + mb_x] = varc;
- s->mb_mean[s->mb_width * mb_y + mb_x] = (sum+7)>>4;
+ s->mb_mean[s->mb_width * mb_y + mb_x] = (sum+128)>>8;
s->mb_var_sum += varc;
}
}