From 0d9f15cf3d137df6422fbb06699ddd51374732e4 Mon Sep 17 00:00:00 2001 From: tytan652 Date: Tue, 28 Mar 2023 11:46:14 +0200 Subject: [PATCH] UI: Improve AV1 fallbacks while changing services This makes AV1 encoders fallback to their H264 counterpart rather than just falling back to x264 while changing services. --- UI/window-basic-settings-stream.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/UI/window-basic-settings-stream.cpp b/UI/window-basic-settings-stream.cpp index fab2c9c36..8bd6fda41 100644 --- a/UI/window-basic-settings-stream.cpp +++ b/UI/window-basic-settings-stream.cpp @@ -1354,12 +1354,14 @@ bool OBSBasicSettings::ServiceAndACodecCompatible() /* we really need a way to find fallbacks in a less hardcoded way. maybe. */ static QString get_adv_fallback(const QString &enc) { - if (enc == "jim_hevc_nvenc") + if (enc == "jim_hevc_nvenc" || enc == "jim_av1_nvenc") return "jim_nvenc"; - if (enc == "h265_texture_amf") + if (enc == "h265_texture_amf" || enc == "av1_texture_amf") return "h264_texture_amf"; if (enc == "com.apple.videotoolbox.videoencoder.ave.hevc") return "com.apple.videotoolbox.videoencoder.ave.avc"; + if (enc == "obs_qsv11_av1") + return "obs_qsv11"; return "obs_x264"; } @@ -1381,14 +1383,14 @@ static QString get_adv_audio_fallback(const QString &enc) static QString get_simple_fallback(const QString &enc) { - if (enc == SIMPLE_ENCODER_NVENC_HEVC) + if (enc == SIMPLE_ENCODER_NVENC_HEVC || enc == SIMPLE_ENCODER_NVENC_AV1) return SIMPLE_ENCODER_NVENC; - if (enc == SIMPLE_ENCODER_NVENC_AV1) - return SIMPLE_ENCODER_NVENC; - if (enc == SIMPLE_ENCODER_AMD_HEVC) + if (enc == SIMPLE_ENCODER_AMD_HEVC || enc == SIMPLE_ENCODER_AMD_AV1) return SIMPLE_ENCODER_AMD; if (enc == SIMPLE_ENCODER_APPLE_HEVC) return SIMPLE_ENCODER_APPLE_H264; + if (enc == SIMPLE_ENCODER_QSV_AV1) + return SIMPLE_ENCODER_QSV; return SIMPLE_ENCODER_X264; }