From 98689f51c01141da83fb3e592dd4f4cdc75750d4 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Wed, 20 May 2020 14:08:48 +0200 Subject: Fix T74443: No render in VP9 lossless mode We define Lossless as CRF 0 (which is usually the best quality and is working fine with other codecs afaict), but since WebM only allows for CRF values between 2-32 and actually has a dedicated "lossless" mode, I suggest using that (it produces large files though, so double-checking would be welcome). https://trac.ffmpeg.org/wiki/Encode/VP9#LosslessVP9 Maniphest Tasks: T74443 Differential Revision: https://developer.blender.org/D7800 --- source/blender/blenkernel/intern/writeffmpeg.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c index 16e56200131..724c4ab93b2 100644 --- a/source/blender/blenkernel/intern/writeffmpeg.c +++ b/source/blender/blenkernel/intern/writeffmpeg.c @@ -606,7 +606,10 @@ static AVStream *alloc_video_stream(FFMpegContext *context, c->gop_size = context->ffmpeg_gop_size; c->max_b_frames = context->ffmpeg_max_b_frames; - if (context->ffmpeg_crf >= 0) { + if (context->ffmpeg_type == FFMPEG_WEBM && context->ffmpeg_crf == 0) { + ffmpeg_dict_set_int(&opts, "lossless", 1); + } + else if (context->ffmpeg_crf >= 0) { ffmpeg_dict_set_int(&opts, "crf", context->ffmpeg_crf); } else { -- cgit v1.2.3