[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