ratecontrol: update last_qscale_for sooner
authorLuca Barbato <lu_zero@gentoo.org>
Fri, 16 Sep 2011 18:06:55 +0000 (20:06 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Fri, 23 Sep 2011 00:25:48 +0000 (17:25 -0700)
In order to make ratecontrol converge properly update the
last_qscale_for values when populating the qscale array.

It fixes the issue reported on
http://lists.libav.org/pipermail/libav-tools/2011-September/000050.html

libavcodec/ratecontrol.c

index dc5c063..e984ed5 100644 (file)
@@ -861,7 +861,9 @@ static int init_pass2(MpegEncContext *s)
 
         /* find qscale */
         for(i=0; i<rcc->num_entries; i++){
+            RateControlEntry *rce= &rcc->entry[i];
             qscale[i]= get_qscale(s, &rcc->entry[i], rate_factor, i);
+            rcc->last_qscale_for[rce->pict_type] = qscale[i];
         }
         assert(filter_size%2==1);