On Thu, Mar 24, 2022 at 7:27 PM James Zern wrote: > > On Thu, Mar 24, 2022 at 6:12 AM Danil Chapovalov > 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 As I understand, docs describe command line options. I do not plan to expose changing qmax per frame as a command line option, I do not see how that can be reasonably done. My intent is to change max qp when ffmpeg is used as a library. I agree it looks unbalanced to change just the qmax, but that is the only parameter I currently need for my usecase. Personally I prefer to only add features that are planned to be used. Are there any particular configuration settings you want me to make configurable, or do you think it is better to support all settings that can be configurable?