Message ID | 20221120023350.1684083-1-ccom@randomderp.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] avcodec/libsvtav1: guard against bit_rate being zero | expand |
Context | Check | Description |
---|---|---|
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On 11/19/2022 11:33 PM, Christopher Degawa wrote: > division by zero occurs if it's not specified > > Signed-off-by: Christopher Degawa <ccom@randomderp.com> > --- > libavcodec/libsvtav1.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c > index 48cd58a0b3..06874dfa63 100644 > --- a/libavcodec/libsvtav1.c > +++ b/libavcodec/libsvtav1.c > @@ -179,7 +179,9 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param, > param->min_qp_allowed = avctx->qmin; > } > param->max_bit_rate = avctx->rc_max_rate; > - param->maximum_buffer_size_ms = avctx->rc_buffer_size * 1000LL / avctx->bit_rate; > + param->maximum_buffer_size_ms = avctx->bit_rate > + ? (avctx->rc_buffer_size * 1000LL / avctx->bit_rate) > + : 0; The documentation for maximum_buffer_size_ms says minimum value is 20. > > if (svt_enc->crf > 0) { > param->qp = svt_enc->crf;
diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c index 48cd58a0b3..06874dfa63 100644 --- a/libavcodec/libsvtav1.c +++ b/libavcodec/libsvtav1.c @@ -179,7 +179,9 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param, param->min_qp_allowed = avctx->qmin; } param->max_bit_rate = avctx->rc_max_rate; - param->maximum_buffer_size_ms = avctx->rc_buffer_size * 1000LL / avctx->bit_rate; + param->maximum_buffer_size_ms = avctx->bit_rate + ? (avctx->rc_buffer_size * 1000LL / avctx->bit_rate) + : 0; if (svt_enc->crf > 0) { param->qp = svt_enc->crf;
division by zero occurs if it's not specified Signed-off-by: Christopher Degawa <ccom@randomderp.com> --- libavcodec/libsvtav1.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)