* [FFmpeg-devel] [PATCH v2 1/2] avcodec/libsvtav1: signal CPB properties through side data
@ 2022-04-12 20:43 Jan Ekström
2022-04-12 20:43 ` [FFmpeg-devel] [PATCH v2 2/2] avcodec/libsvtav1: only pass bit rate back to avctx if it'll get used Jan Ekström
0 siblings, 1 reply; 2+ messages in thread
From: Jan Ekström @ 2022-04-12 20:43 UTC (permalink / raw)
To: ffmpeg-devel
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-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 2+ messages in thread
* [FFmpeg-devel] [PATCH v2 2/2] avcodec/libsvtav1: only pass bit rate back to avctx if it'll get used
2022-04-12 20:43 [FFmpeg-devel] [PATCH v2 1/2] avcodec/libsvtav1: signal CPB properties through side data Jan Ekström
@ 2022-04-12 20:43 ` Jan Ekström
0 siblings, 0 replies; 2+ messages in thread
From: Jan Ekström @ 2022-04-12 20:43 UTC (permalink / raw)
To: ffmpeg-devel
SVT-AV1 has bit rate based rate control modes as non-zero. This way
we can filter out the default value for this value - which is nonzero.
---
libavcodec/libsvtav1.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
index 9271d3d9fe..dc82d94de8 100644
--- a/libavcodec/libsvtav1.c
+++ b/libavcodec/libsvtav1.c
@@ -273,7 +273,8 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param,
param->profile = FF_PROFILE_AV1_HIGH;
}
- avctx->bit_rate = param->target_bit_rate;
+ avctx->bit_rate = param->rate_control_mode > 0 ?
+ param->target_bit_rate : 0;
cpb_props->buffer_size = param->vbv_bufsize;
cpb_props->max_bitrate = param->max_bit_rate;
--
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-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-04-12 20:43 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-12 20:43 [FFmpeg-devel] [PATCH v2 1/2] avcodec/libsvtav1: signal CPB properties through side data Jan Ekström
2022-04-12 20:43 ` [FFmpeg-devel] [PATCH v2 2/2] avcodec/libsvtav1: only pass bit rate back to avctx if it'll get used Jan Ekström
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git