lavc/aomenc: Force default qmax of 0 if crf was set to 0.
authorCarl Eugen Hoyos <ceffmpeg@gmail.com>
Sat, 20 Mar 2021 18:27:48 +0000 (19:27 +0100)
committerCarl Eugen Hoyos <ceffmpeg@gmail.com>
Sun, 21 Mar 2021 08:46:23 +0000 (09:46 +0100)
Fixes lossless encoding without setting qmax to 0.

libavcodec/libaomenc.c

index 2c3c3eb..fcf75e8 100644 (file)
@@ -654,8 +654,11 @@ static av_cold int aom_init(AVCodecContext *avctx,
 
     if (avctx->qmin >= 0)
         enccfg.rc_min_quantizer = avctx->qmin;
-    if (avctx->qmax >= 0)
+    if (avctx->qmax >= 0) {
         enccfg.rc_max_quantizer = avctx->qmax;
+    } else if (!ctx->crf) {
+        enccfg.rc_max_quantizer = 0;
+    }
 
     if (enccfg.rc_end_usage == AOM_CQ || enccfg.rc_end_usage == AOM_Q) {
         if (ctx->crf < enccfg.rc_min_quantizer || ctx->crf > enccfg.rc_max_quantizer) {