UI: Use new NVENC encoder ids

This commit is contained in:
derrod
2024-04-12 05:09:15 +02:00
parent 6e435dbe2e
commit feba2bcbf9
3 changed files with 13 additions and 10 deletions

View File

@@ -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();

View File

@@ -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));

View File

@@ -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));