[FFmpeg-devel] [PATCH] avcodec/libvpxenc: enable dynamic max quantizer parameter reconfiguration
James Zern
jzern at google.com
Thu Mar 24 20:27:20 EET 2022
On Thu, Mar 24, 2022 at 6:12 AM Danil Chapovalov
<danilchap-at-google.com at ffmpeg.org> wrote:
>
> ---
> libavcodec/libvpxenc.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
> index dff1d06b0e..463a658bb0 100644
> --- a/libavcodec/libvpxenc.c
> +++ b/libavcodec/libvpxenc.c
> @@ -1625,6 +1625,12 @@ static int vpx_encode(AVCodecContext *avctx, AVPacket *pkt,
> vpx_svc_layer_id_t layer_id;
> int layer_id_valid = 0;
>
> + if (avctx->qmax >= 0 && enccfg->rc_max_quantizer != avctx->qmax) {
> + struct vpx_codec_enc_cfg cfg = *enccfg;
> + cfg.rc_max_quantizer = avctx->qmax;
> + vpx_codec_enc_config_set(&ctx->encoder, &cfg);
> + }
> +
Jan, I think this was what you were suggesting, no?
The docs could be updated to note qmax can be changed per-frame
[1][2]. Saying that, it does seem a bit unbalanced to only do qmax
here.
[1] https://ffmpeg.org/ffmpeg-codecs.html#libvpx
[2] https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/HEAD:/doc/encoders.texi#l2000
More information about the ffmpeg-devel
mailing list