avcodec/libvpxenc: Set min/max quantizer to 0 for lossless mode
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 20 Mar 2015 15:40:43 +0000 (16:40 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 20 Mar 2015 18:22:33 +0000 (19:22 +0100)
Fixes Ticket4246

Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/libvpxenc.c

index 7f7d4ae..176c6b6 100644 (file)
@@ -330,10 +330,15 @@ static av_cold int vpx_init(AVCodecContext *avctx,
         }
     }
 
-    if (avctx->qmin >= 0)
-        enccfg.rc_min_quantizer = avctx->qmin;
-    if (avctx->qmax >= 0)
-        enccfg.rc_max_quantizer = avctx->qmax;
+    if (avctx->codec_id == AV_CODEC_ID_VP9 && ctx->lossless == 1) {
+        enccfg.rc_min_quantizer =
+        enccfg.rc_max_quantizer = 0;
+    } else {
+        if (avctx->qmin >= 0)
+            enccfg.rc_min_quantizer = avctx->qmin;
+        if (avctx->qmax >= 0)
+            enccfg.rc_max_quantizer = avctx->qmax;
+    }
 
     if (enccfg.rc_end_usage == VPX_CQ
 #if CONFIG_LIBVPX_VP9_ENCODER