This way values such as maxrate/bufsize can be utilized further
down the chain.

Only sets the average bit rate if the rate control mode is nonzero,
which marks bit rate based rate control instead of constant quantizer
or CRF.
---
 libavcodec/libsvtav1.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
index 2e3d96ce37..9271d3d9fe 100644
--- a/libavcodec/libsvtav1.c
+++ b/libavcodec/libsvtav1.c
@@ -156,6 +156,9 @@ static int config_enc_params(EbSvtAv1EncConfiguration 
*param,
     SvtContext *svt_enc = avctx->priv_data;
     const AVPixFmtDescriptor *desc;
     AVDictionaryEntry *en = NULL;
+    AVCPBProperties *cpb_props = ff_add_cpb_side_data(avctx);
+    if (!cpb_props)
+        return AVERROR(ENOMEM);
 
     // Update param from options
 #if FF_API_SVTAV1_OPTS
@@ -272,6 +275,11 @@ static int config_enc_params(EbSvtAv1EncConfiguration 
*param,
 
     avctx->bit_rate                 = param->target_bit_rate;
 
+    cpb_props->buffer_size = param->vbv_bufsize;
+    cpb_props->max_bitrate = param->max_bit_rate;
+    cpb_props->avg_bitrate = param->rate_control_mode > 0 ?
+                             param->target_bit_rate  : 0;
+
     return 0;
 }
 
-- 
2.35.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to