On Fri, 13 Jan 2012 23:51:59 +0200, Martin Storsjö <[email protected]> wrote: > max_b_frames is initialized to -1 for libx264, to allow > distinguishing between an explicit user set 0 and a default not > touched 0 (see bb73cda2). > > If max_b_frames is left as -1, this affects dts generation (where > expressions like max_b_frames != 0 are used), so make sure it is > left at the default 0 after the libx264 init function returns. > > This avoids unnecessarily producing dts != pts when using > profile=baseline. > --- > libavcodec/libx264.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c > index 9b34795..b3581f1 100644 > --- a/libavcodec/libx264.c > +++ b/libavcodec/libx264.c > @@ -448,6 +448,9 @@ static av_cold int X264_init(AVCodecContext *avctx) > // update AVCodecContext with x264 parameters > avctx->has_b_frames = x4->params.i_bframe ? > x4->params.i_bframe_pyramid ? 2 : 1 : 0; > + if (avctx->max_b_frames < 0) > + avctx->max_b_frames = 0; > + > avctx->bit_rate = x4->params.rc.i_bitrate*1000; > #if FF_API_X264_GLOBAL_OPTS > avctx->crf = x4->params.rc.f_rf_constant; > -- > 1.7.3.1 >
Ok. -- Anton Khirnov _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
