[FFmpeg-devel] [PATCH 2/2] avcodec/libsvtav1: replace vbv_bufsize with maximum_buffer_size_ms

James Almer jamrial at gmail.com
Thu Oct 20 01:59:14 EEST 2022


On 10/19/2022 7:47 PM, Christopher Degawa wrote:
> From: Christopher Degawa <christopher.degawa at intel.com>
> 
> svt-av1 v1.2.0 has deprecated vbv_bufsize in favor of using
> - maximum_buffer_size_ms (--buf-sz)
> - starting_buffer_level_ms (--buf-initial-sz)
> - optimal_buffer_level_ms (--buf-optimal-sz)
> 
> and vbv_bufsize has not been in use since svt-av1 v0.8.6
> 
> Signed-off-by: Christopher Degawa <christopher.degawa at intel.com>
> ---
>   libavcodec/libsvtav1.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
> index 28da206cf8..74dad9892b 100644
> --- a/libavcodec/libsvtav1.c
> +++ b/libavcodec/libsvtav1.c
> @@ -179,7 +179,7 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param,
>           param->min_qp_allowed       = avctx->qmin;
>       }
>       param->max_bit_rate             = avctx->rc_max_rate;
> -    param->vbv_bufsize              = avctx->rc_buffer_size;
> +    param->maximum_buffer_size_ms   = avctx->rc_buffer_size * 1000 / avctx->bit_rate;

1000LL. The multiplication could overflow otherwise.

>   
>       if (svt_enc->crf > 0) {
>           param->qp                   = svt_enc->crf;
> @@ -296,7 +296,7 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param,
>       avctx->bit_rate       = param->rate_control_mode > 0 ?
>                               param->target_bit_rate : 0;
>       avctx->rc_max_rate    = param->max_bit_rate;
> -    avctx->rc_buffer_size = param->vbv_bufsize;
> +    avctx->rc_buffer_size = param->maximum_buffer_size_ms * avctx->bit_rate / 1000;
>   
>       if (avctx->bit_rate || avctx->rc_max_rate || avctx->rc_buffer_size) {
>           AVCPBProperties *cpb_props = ff_add_cpb_side_data(avctx);


More information about the ffmpeg-devel mailing list