diff mpegvideo.c @ 302:826b179dad50 libavcodec

fixing 1/0
author michaelni
date Sat, 30 Mar 2002 21:33:14 +0000
parents e20de99b6295
children 764aeec1320e
line wrap: on
line diff
--- a/mpegvideo.c	Fri Mar 29 05:15:49 2002 +0000
+++ b/mpegvideo.c	Sat Mar 30 21:33:14 2002 +0000
@@ -1995,7 +1995,7 @@
     s->short_term_qcount++;
     short_term_q= s->short_term_qsum/s->short_term_qcount;
     
-    long_term_q= s->qsum/s->qcount*s->total_bits/wanted_bits;
+    long_term_q= s->qsum/s->qcount*(s->total_bits+1)/(wanted_bits+1); //+1 to avoid nan & 0
 
 //    q= (long_term_q - short_term_q)*s->qcompress + short_term_q;
     q= 1/((1/long_term_q - 1/short_term_q)*s->qcompress + 1/short_term_q);
@@ -2016,8 +2016,8 @@
     s->qcount++;
 
     s->last_pict_type= s->pict_type;
-//printf("q:%d diff:%d comp:%f rate_q:%d st_q:%d fvar:%d last_size:%d\n", qscale, (int)diff, br_compensation, 
-//       rate_q, (int)short_term_q, s->mc_mb_var, s->frame_bits);
+//printf("q:%d diff:%d comp:%f rate_q:%d st_q:%f fvar:%d last_size:%d\n", qscale, (int)diff, br_compensation, 
+//       rate_q, short_term_q, s->mc_mb_var, s->frame_bits);
 //printf("%d %d\n", s->bit_rate, (int)fps);
     return qscale;
 #else