From feba2bcbf9d63147f327336c82f6cf876b0f7dd0 Mon Sep 17 00:00:00 2001 From: derrod Date: Fri, 12 Apr 2024 05:09:15 +0200 Subject: [PATCH] UI: Use new NVENC encoder ids --- UI/window-basic-main-outputs.cpp | 14 ++++++++------ UI/window-basic-settings-stream.cpp | 7 ++++--- UI/window-basic-settings.cpp | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/UI/window-basic-main-outputs.cpp b/UI/window-basic-main-outputs.cpp index 033c5f3ca..b1edff50b 100644 --- a/UI/window-basic-main-outputs.cpp +++ b/UI/window-basic-main-outputs.cpp @@ -609,15 +609,17 @@ const char *get_simple_output_encoder(const char *encoder) } else if (strcmp(encoder, SIMPLE_ENCODER_AMD_AV1) == 0) { return "av1_texture_amf"; } else if (strcmp(encoder, SIMPLE_ENCODER_NVENC) == 0) { - return EncoderAvailable("jim_nvenc") ? "jim_nvenc" - : "ffmpeg_nvenc"; + return EncoderAvailable("obs_nvenc_h264_tex") + ? "obs_nvenc_h264_tex" + : "ffmpeg_nvenc"; #ifdef ENABLE_HEVC } else if (strcmp(encoder, SIMPLE_ENCODER_NVENC_HEVC) == 0) { - return EncoderAvailable("jim_hevc_nvenc") ? "jim_hevc_nvenc" - : "ffmpeg_hevc_nvenc"; + return EncoderAvailable("obs_nvenc_hevc_tex") + ? "obs_nvenc_hevc_tex" + : "ffmpeg_hevc_nvenc"; #endif } else if (strcmp(encoder, SIMPLE_ENCODER_NVENC_AV1) == 0) { - return "jim_av1_nvenc"; + return "obs_nvenc_av1_tex"; } else if (strcmp(encoder, SIMPLE_ENCODER_APPLE_H264) == 0) { return "com.apple.videotoolbox.videoencoder.ave.avc"; #ifdef ENABLE_HEVC @@ -1848,7 +1850,7 @@ void AdvancedOutput::UpdateStreamSettings() blog(LOG_WARNING, "User is ignoring service settings."); } - if (dynBitrate && astrcmpi(streamEncoder, "jim_nvenc") == 0) + if (dynBitrate && strstr(streamEncoder, "nvenc") != nullptr) obs_data_set_bool(settings, "lookahead", false); video_t *video = obs_get_video(); diff --git a/UI/window-basic-settings-stream.cpp b/UI/window-basic-settings-stream.cpp index 0c34fdac8..f005faf8f 100644 --- a/UI/window-basic-settings-stream.cpp +++ b/UI/window-basic-settings-stream.cpp @@ -1606,8 +1606,9 @@ 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" || enc == "jim_av1_nvenc") - return "jim_nvenc"; + if (enc == "obs_nvenc_hevc_tex" || enc == "obs_nvenc_av1_tex" || + enc == "jim_hevc_nvenc" || enc == "jim_av1_nvenc") + return "obs_nvenc_h264_tex"; if (enc == "h265_texture_amf" || enc == "av1_texture_amf") return "h264_texture_amf"; if (enc == "com.apple.videotoolbox.videoencoder.ave.hevc") @@ -1863,7 +1864,7 @@ void OBSBasicSettings::ResetEncoders(bool streamOnly) ui->simpleOutStrEncoder->addItem( ENCODER_STR("Hardware.NVENC.H264"), QString(SIMPLE_ENCODER_NVENC)); - if (service_supports_encoder(vcodecs, "jim_av1_nvenc")) + if (service_supports_encoder(vcodecs, "obs_nvenc_av1_tex")) ui->simpleOutStrEncoder->addItem( ENCODER_STR("Hardware.NVENC.AV1"), QString(SIMPLE_ENCODER_NVENC_AV1)); diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index 1f5812b42..787a5c047 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -5354,7 +5354,7 @@ void OBSBasicSettings::FillSimpleRecordingValues() ui->simpleOutRecEncoder->addItem( ENCODER_STR("Hardware.NVENC.H264"), QString(SIMPLE_ENCODER_NVENC)); - if (EncoderAvailable("jim_av1_nvenc")) + if (EncoderAvailable("obs_nvenc_av1_tex")) ui->simpleOutRecEncoder->addItem( ENCODER_STR("Hardware.NVENC.AV1"), QString(SIMPLE_ENCODER_NVENC_AV1));