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

Danil Chapovalov danilchap at webrtc.org
Wed Mar 9 15:27:50 EET 2022


Signed-off-by: Danil Chapovalov <danilchap at webrtc.org>
---
 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.616.g0bdcbb4464-goog


More information about the ffmpeg-devel mailing list