From 0d90aec0fd7428a77b5c4c536ab65635669bc42d Mon Sep 17 00:00:00 2001 From: Mike Melanson Date: Sun, 14 Mar 2004 21:14:07 +0000 Subject: sync to ffmpeg build 4707 CVS patchset: 6253 CVS date: 2004/03/14 21:14:07 --- src/libffmpeg/libavcodec/ratecontrol.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/libffmpeg/libavcodec/ratecontrol.c') diff --git a/src/libffmpeg/libavcodec/ratecontrol.c b/src/libffmpeg/libavcodec/ratecontrol.c index 6c90b1b6c..473645def 100644 --- a/src/libffmpeg/libavcodec/ratecontrol.c +++ b/src/libffmpeg/libavcodec/ratecontrol.c @@ -545,9 +545,10 @@ static void adaptive_quantization(MpegEncContext *s, double q){ /* handle qmin/qmax cliping */ if(s->flags&CODEC_FLAG_NORMALIZE_AQP){ + float factor= bits_sum/cplx_sum; for(i=0; imb_num; i++){ float newq= q*cplx_tab[i]/bits_tab[i]; - newq*= bits_sum/cplx_sum; + newq*= factor; if (newq > qmax){ bits_sum -= bits_tab[i]; @@ -558,6 +559,8 @@ static void adaptive_quantization(MpegEncContext *s, double q){ cplx_sum -= cplx_tab[i]*q/qmin; } } + if(bits_sum < 0.001) bits_sum= 0.001; + if(cplx_sum < 0.001) cplx_sum= 0.001; } for(i=0; imb_num; i++){ -- cgit v1.2.3