[FFmpeg-devel] [PATCH] Allow to modify max qp configuration parameter in libvpx without reseting the encoder

Danil Chapovalov danilchap at google.com
Mon Mar 14 15:04:59 EET 2022


---
 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);
+            }
+
             memset(&layer_id, 0, sizeof(layer_id));
 
             en = av_dict_get(frame->metadata, "temporal_id", NULL, 0);
-- 
2.35.1.723.g4982287a31-goog



More information about the ffmpeg-devel mailing list