[FFmpeg-cvslog] rc: finetune convergence failure fix

Michael Niedermayer git at videolan.org
Wed Sep 21 21:08:30 CEST 2011


ffmpeg | branch: release/0.8 | Michael Niedermayer <michaelni at gmx.at> | Fri Sep  9 18:50:00 2011 +0200| [a13ef6105167032cd0ecaeb86a3727c9bf67ac95] | committer: Michael Niedermayer

rc: finetune convergence failure fix

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit 73e0ec2ff453799e361c67395b93df11986609b3)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a13ef6105167032cd0ecaeb86a3727c9bf67ac95
---

 libavcodec/ratecontrol.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libavcodec/ratecontrol.c b/libavcodec/ratecontrol.c
index bd42d72..cc742d1 100644
--- a/libavcodec/ratecontrol.c
+++ b/libavcodec/ratecontrol.c
@@ -866,7 +866,7 @@ static int init_pass2(MpegEncContext *s)
         assert(filter_size%2==1);
 
         /* fixed I/B QP relative to P mode */
-        for(i=0; i<rcc->num_entries; i++){
+        for(i=FFMAX(0, rcc->num_entries-300); i<rcc->num_entries; i++){
             RateControlEntry *rce= &rcc->entry[i];
 
             qscale[i]= get_diff_limited_q(s, rce, qscale[i]);



More information about the ffmpeg-cvslog mailing list