OSDN Git Service

use lambda/lmax instead of qscale/qmax as end check for vbv retry
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 28 Oct 2006 11:15:06 +0000 (11:15 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 28 Oct 2006 11:15:06 +0000 (11:15 +0000)
Originally committed as revision 6822 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/mpegvideo.c

index bc8ad7f..30aa86d 100644 (file)
@@ -2535,7 +2535,7 @@ vbv_retry:
             RateControlContext *rcc= &s->rc_context;
             int max_size= rcc->buffer_index/3;
 
-            if(put_bits_count(&s->pb) > max_size && s->qscale < s->avctx->qmax){
+            if(put_bits_count(&s->pb) > max_size && s->lambda < s->avctx->lmax){
                 s->next_lambda= FFMAX(s->lambda+1, s->lambda*(s->qscale+1) / s->qscale);
                 s->mb_skipped = 0;        //done in MPV_frame_start()
                 if(s->pict_type==P_TYPE){ //done in encode_picture() so we must undo it