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

Reply via email to