Quoting Mark Thompson (2017-01-05 01:10:09)
> Before this change, it was possible to overflow pic_order_cnt_lsb and
> generate a stream with invalid POC numbering.  This makes sure that
> the field is large enough that a single IDR B* P sequence uses fewer
> than half the available POC lsb values.
> ---
>  libavcodec/vaapi_encode_h264.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/libavcodec/vaapi_encode_h264.c b/libavcodec/vaapi_encode_h264.c
> index deb99a7d2..74e7cb1c1 100644
> --- a/libavcodec/vaapi_encode_h264.c
> +++ b/libavcodec/vaapi_encode_h264.c
> @@ -800,6 +800,8 @@ static int 
> vaapi_encode_h264_init_sequence_params(AVCodecContext *avctx)
>          vseq->seq_fields.bits.direct_8x8_inference_flag = 1;
>          vseq->seq_fields.bits.log2_max_frame_num_minus4 = 4;
>          vseq->seq_fields.bits.pic_order_cnt_type = 0;
> +        vseq->seq_fields.bits.log2_max_pic_order_cnt_lsb_minus4 =
> +            av_clip(av_log2(avctx->max_b_frames + 1) - 2, 0, 12);
>  
>          if (avctx->width  != ctx->surface_width ||
>              avctx->height != ctx->surface_height) {
> -- 
> 2.11.0

LGTM

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to