On 2012-01-13 23:51:59 +0200, Martin Storsjö 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).
it's generally initialized to -1 > 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; so I'm wondering if it wouldn't make more sense to set it to 0 in avcodec_open2() Janne _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
