From 678b317aca6f75ecab89cf21c31e05748e9d2a5f Mon Sep 17 00:00:00 2001 From: Fiona Glaser Date: Tue, 18 Aug 2009 19:25:45 -0700 Subject: [PATCH] Fix bug in VBV lookahead + no MB-tree I-frames need to have VBV lookahead run on them as well. --- encoder/slicetype.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/encoder/slicetype.c b/encoder/slicetype.c index 393f0b03..d4a80834 100644 --- a/encoder/slicetype.c +++ b/encoder/slicetype.c @@ -892,7 +892,8 @@ void x264_slicetype_decide( x264_t *h ) } else if( (h->param.i_bframe && h->param.i_bframe_adaptive) || h->param.i_scenecut_threshold - || h->param.rc.b_mb_tree ) + || h->param.rc.b_mb_tree + || (h->param.rc.i_vbv_buffer_size && h->param.rc.i_lookahead) ) x264_slicetype_analyse( h, 0 ); for( bframes = 0;; bframes++ ) @@ -950,8 +951,8 @@ int x264_rc_analyse_slice( x264_t *h ) if( IS_X264_TYPE_I(h->fenc->i_type) ) { p1 = b = 0; - /* For MB-tree, we have to perform propagation analysis on I-frames too. */ - if( h->param.rc.b_mb_tree ) + /* For MB-tree and VBV lookahead, we have to perform propagation analysis on I-frames too. */ + if( h->param.rc.b_mb_tree || (h->param.rc.i_vbv_buffer_size && h->param.rc.i_lookahead) ) { h->frames.last_nonb = h->fenc; x264_slicetype_analyse( h, 1 ); -- 2.50.1