Change default AV1 encoder for "slowest"
Previously, having the "Encoding speed" set to "slowest" would choose libaom-av1 first and librav1e second. This change makes Blender choose librav1e first (and has a fallback to whatever other AV1 codec is available if librav1e is not installed). Addresses /T103849 on systems where librav1e codec available. Reviewed By: sergey, ISS Maniphest Tasks: T103849 Differential Revision: https://developer.blender.org/D17002
This commit is contained in:
parent
199233eee1
commit
e1ee86b63c
Notes:
blender-bot
2023-10-04 09:42:55 +02:00
Referenced by issue #103849, FFmpeg AV1 encoding has artefacts on keyframes at Perceptually Lossless or lower quality
|
@ -476,11 +476,12 @@ static const AVCodec *get_av1_encoder(
|
|||
const AVCodec *codec = NULL;
|
||||
switch (context->ffmpeg_preset) {
|
||||
case FFM_PRESET_BEST:
|
||||
/* Default to libaom-av1 for BEST preset due to it performing better than rav1e in terms of
|
||||
* video quality (VMAF scores). Fallback to rav1e if libaom-av1 isn't available. */
|
||||
codec = avcodec_find_encoder_by_name("libaom-av1");
|
||||
/* libaom-av1 may produce better VMAF-scoring videos in serveral cases, but there are cases
|
||||
* where using a different encoder is desireable, such as in T103849. */
|
||||
codec = avcodec_find_encoder_by_name("librav1e");
|
||||
if (!codec) {
|
||||
codec = avcodec_find_encoder_by_name("librav1e");
|
||||
/* Fallback to libaom-av1 if librav1e is not found. */
|
||||
codec = avcodec_find_encoder_by_name("libaom-av1");
|
||||
}
|
||||
break;
|
||||
case FFM_PRESET_REALTIME:
|
||||
|
|
Loading…
Reference in New Issue