[x264-devel] commit: Fix keyint=1 + VBV + rc-lookahead (Jason Garrett-Glaser )
git version control
git at videolan.org
Thu Aug 27 08:32:55 CEST 2009
x264 | branch: master | Jason Garrett-Glaser <darkshikari at gmail.com> | Wed Aug 26 20:30:47 2009 -0700| [6b98d324248f59c3e2a2e49ca4c90ce313ff7b63] | committer: Jason Garrett-Glaser
Fix keyint=1 + VBV + rc-lookahead
> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=6b98d324248f59c3e2a2e49ca4c90ce313ff7b63
---
encoder/encoder.c | 2 ++
encoder/slicetype.c | 2 +-
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/encoder/encoder.c b/encoder/encoder.c
index a7c2f7f..e679688 100644
--- a/encoder/encoder.c
+++ b/encoder/encoder.c
@@ -478,6 +478,8 @@ static int x264_validate_parameters( x264_t *h )
h->param.analyse.i_direct_mv_pred = X264_DIRECT_PRED_SPATIAL;
}
h->param.i_bframe = x264_clip3( h->param.i_bframe, 0, X264_BFRAME_MAX );
+ if( h->param.i_keyint_max == 1 )
+ h->param.i_bframe = 0;
h->param.i_bframe_bias = x264_clip3( h->param.i_bframe_bias, -90, 100 );
h->param.b_bframe_pyramid = h->param.b_bframe_pyramid && h->param.i_bframe > 1;
if( !h->param.i_bframe )
diff --git a/encoder/slicetype.c b/encoder/slicetype.c
index 14ab0b8..dfd242c 100644
--- a/encoder/slicetype.c
+++ b/encoder/slicetype.c
@@ -861,7 +861,7 @@ static void x264_slicetype_analyse( x264_t *h, int keyframe )
{
if( ((j-keyint_limit) % h->param.i_keyint_max) == 0 )
{
- if( j )
+ if( j && h->param.i_keyint_max > 1 )
frames[j]->i_type = X264_TYPE_P;
frames[j+1]->i_type = X264_TYPE_IDR;
reset_start = X264_MIN( reset_start, j+2 );
More information about the x264-devel
mailing list