[FFmpeg-devel] [PATCH] Allow to modify max qp configuration parameter in libvpx without reseting the encoder
Jan Ekström
jeebjp at gmail.com
Mon Mar 14 17:27:36 EET 2022
On Mon, Mar 14, 2022 at 3:05 PM Danil Chapovalov
<danilchap-at-google.com at ffmpeg.org> wrote:
>
> ---
Probably something a la
avcodec/libvpxenc: enable dynamic quantizer reconfiguration
?
> libavcodec/libvpxenc.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
> index 8f94ba15dc..45baeed435 100644
> --- a/libavcodec/libvpxenc.c
> +++ b/libavcodec/libvpxenc.c
> @@ -1658,6 +1658,13 @@ static int vpx_encode(AVCodecContext *avctx, AVPacket *pkt,
> flags |= strtoul(en->value, NULL, 10);
> }
>
> + en = av_dict_get(frame->metadata, "max-quantizer", NULL, 0);
> + if (en) {
> + struct vpx_codec_enc_cfg cfg = *enccfg;
> + cfg.rc_max_quantizer = strtoul(en->value, NULL, 10);
> + vpx_codec_enc_config_set(&ctx->encoder, &cfg);
> + }
> +
There is side data already defined for quantizers, AVVideoEncParams /
AV_FRAME_DATA_VIDEO_ENC_PARAMS .
In other words, this should be handled in a similar manner to ROI, not
as an ad-hoc metadata key in the AVFrame.
Cheers,
Jan
More information about the ffmpeg-devel
mailing list