From: Luca Barbato Date: Fri, 16 Sep 2011 18:06:55 +0000 (+0200) Subject: ratecontrol: update last_qscale_for sooner X-Git-Tag: n0.9~57^2~954 X-Git-Url: http://git.videolan.org/?p=ffmpeg.git;a=commitdiff_plain;h=d554b33efe97d4b46c695e7cfa6f248780907ee7;hp=4d4d0e817607bce2a3a0806540f19d5d2b3b9376 ratecontrol: update last_qscale_for sooner 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 --- diff --git a/libavcodec/ratecontrol.c b/libavcodec/ratecontrol.c index dc5c063f02..e984ed5b29 100644 --- a/libavcodec/ratecontrol.c +++ b/libavcodec/ratecontrol.c @@ -861,7 +861,9 @@ static int init_pass2(MpegEncContext *s) /* find qscale */ for(i=0; inum_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);