* [FFmpeg-devel] [PATCH v3 1/2] avcodec/libsvtav1: update avctx bit rate according to RC mode
@ 2022-05-09 18:47 Jan Ekström
2022-05-09 18:47 ` [FFmpeg-devel] [PATCH v3 2/2] avcodec/libsvtav1: signal CPB properties through side data Jan Ekström
2022-05-09 19:07 ` [FFmpeg-devel] [PATCH v3 1/2] avcodec/libsvtav1: update avctx bit rate according to RC mode James Almer
0 siblings, 2 replies; 4+ messages in thread
From: Jan Ekström @ 2022-05-09 18:47 UTC (permalink / raw)
To: ffmpeg-devel
This way we can filter out the default value for this member, which
is nonzero. Bases on the current affairs that bit rate based rate
control is nonzero in SVT-AV1.
---
libavcodec/libsvtav1.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
index b4112004ad..2c4ddd4641 100644
--- a/libavcodec/libsvtav1.c
+++ b/libavcodec/libsvtav1.c
@@ -297,7 +297,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;
return 0;
}
--
2.36.0
_______________________________________________
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] 4+ messages in thread
* [FFmpeg-devel] [PATCH v3 2/2] avcodec/libsvtav1: signal CPB properties through side data
2022-05-09 18:47 [FFmpeg-devel] [PATCH v3 1/2] avcodec/libsvtav1: update avctx bit rate according to RC mode Jan Ekström
@ 2022-05-09 18:47 ` Jan Ekström
2022-05-09 19:07 ` [FFmpeg-devel] [PATCH v3 1/2] avcodec/libsvtav1: update avctx bit rate according to RC mode James Almer
1 sibling, 0 replies; 4+ messages in thread
From: Jan Ekström @ 2022-05-09 18:47 UTC (permalink / raw)
To: ffmpeg-devel
This way values such as maxrate/bufsize can be utilized further
down the chain.
First, syncs up the max_rate and buffer_size from SVT-AV1 back to
avctx, and then in case at least one of the utilized values is
nonzero, adds the CPB properties side data.
---
libavcodec/libsvtav1.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
index 2c4ddd4641..d9ebb6aa56 100644
--- a/libavcodec/libsvtav1.c
+++ b/libavcodec/libsvtav1.c
@@ -297,8 +297,20 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param,
param->profile = FF_PROFILE_AV1_HIGH;
}
- avctx->bit_rate = param->rate_control_mode > 0 ?
- param->target_bit_rate : 0;
+ 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;
+
+ if (avctx->bit_rate || avctx->rc_max_rate || avctx->rc_buffer_size) {
+ AVCPBProperties *cpb_props = ff_add_cpb_side_data(avctx);
+ if (!cpb_props)
+ return AVERROR(ENOMEM);
+
+ cpb_props->buffer_size = avctx->rc_buffer_size;
+ cpb_props->max_bitrate = avctx->rc_max_rate;
+ cpb_props->avg_bitrate = avctx->bit_rate;
+ }
return 0;
}
--
2.36.0
_______________________________________________
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] 4+ messages in thread
* Re: [FFmpeg-devel] [PATCH v3 1/2] avcodec/libsvtav1: update avctx bit rate according to RC mode
2022-05-09 18:47 [FFmpeg-devel] [PATCH v3 1/2] avcodec/libsvtav1: update avctx bit rate according to RC mode Jan Ekström
2022-05-09 18:47 ` [FFmpeg-devel] [PATCH v3 2/2] avcodec/libsvtav1: signal CPB properties through side data Jan Ekström
@ 2022-05-09 19:07 ` James Almer
2022-05-09 20:10 ` Jan Ekström
1 sibling, 1 reply; 4+ messages in thread
From: James Almer @ 2022-05-09 19:07 UTC (permalink / raw)
To: ffmpeg-devel
On 5/9/2022 3:47 PM, Jan Ekström wrote:
> This way we can filter out the default value for this member, which
> is nonzero. Bases on the current affairs that bit rate based rate
> control is nonzero in SVT-AV1.
> ---
> libavcodec/libsvtav1.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
> index b4112004ad..2c4ddd4641 100644
> --- a/libavcodec/libsvtav1.c
> +++ b/libavcodec/libsvtav1.c
> @@ -297,7 +297,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;
>
> return 0;
> }
Set LGTM.
_______________________________________________
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] 4+ messages in thread
* Re: [FFmpeg-devel] [PATCH v3 1/2] avcodec/libsvtav1: update avctx bit rate according to RC mode
2022-05-09 19:07 ` [FFmpeg-devel] [PATCH v3 1/2] avcodec/libsvtav1: update avctx bit rate according to RC mode James Almer
@ 2022-05-09 20:10 ` Jan Ekström
0 siblings, 0 replies; 4+ messages in thread
From: Jan Ekström @ 2022-05-09 20:10 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Mon, May 9, 2022 at 10:07 PM James Almer <jamrial@gmail.com> wrote:
>
> On 5/9/2022 3:47 PM, Jan Ekström wrote:
> > This way we can filter out the default value for this member, which
> > is nonzero. Bases on the current affairs that bit rate based rate
> > control is nonzero in SVT-AV1.
> > ---
> > libavcodec/libsvtav1.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
> > index b4112004ad..2c4ddd4641 100644
> > --- a/libavcodec/libsvtav1.c
> > +++ b/libavcodec/libsvtav1.c
> > @@ -297,7 +297,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;
> >
> > return 0;
> > }
>
> Set LGTM.
Thanks, applied set as
70887d44ffa31b95704b85531fc53ddd4d9aab14
fe100bc556d7b25d301ed65f7ae7a74880770f09
Jan
_______________________________________________
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] 4+ messages in thread
end of thread, other threads:[~2022-05-09 20:10 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-09 18:47 [FFmpeg-devel] [PATCH v3 1/2] avcodec/libsvtav1: update avctx bit rate according to RC mode Jan Ekström
2022-05-09 18:47 ` [FFmpeg-devel] [PATCH v3 2/2] avcodec/libsvtav1: signal CPB properties through side data Jan Ekström
2022-05-09 19:07 ` [FFmpeg-devel] [PATCH v3 1/2] avcodec/libsvtav1: update avctx bit rate according to RC mode James Almer
2022-05-09 20:10 ` 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