Message ID | 20221019224712.194658-2-ccom@randomderp.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel,1/2] avcodec/libsvtav1: remove compressed_ten_bit_format and simplify alloc_buffer | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On 10/19/2022 7:47 PM, Christopher Degawa wrote: > From: Christopher Degawa <christopher.degawa@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@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);
On Wed, Oct 19, 2022 at 7:00 PM James Almer <jamrial@gmail.com> wrote: > On 10/19/2022 7:47 PM, Christopher Degawa wrote: > > From: Christopher Degawa <christopher.degawa@intel.com> > > 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. > Thanks, replaced locally.
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; 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);