Use non soft. Soft is in play when Scaling is enabled in OBS & it will fallback automatically.
if (obs_encoder_scaling_enabled(encoder)) {
if (!obs_encoder_gpu_scaling_enabled(encoder)) {
blog(LOG_INFO,
">>> encoder CPU scaling active, fall back to old qsv encoder");
return obs_encoder_create_rerouted(
encoder, (const char *)fallback_id);
}
blog(LOG_INFO, ">>> encoder GPU scaling active");
}
blog(LOG_INFO, ">>> new qsv encoder");
return obs_qsv_create(codec, settings, encoder);
}
static void *obs_qsv_create_tex_h264(obs_data_t *settings,
obs_encoder_t *encoder)
{
return obs_qsv_create_tex(QSV_CODEC_AVC, settings, encoder,
"obs_qsv11_soft");
}
static void *obs_qsv_create_tex_h264_v2(obs_data_t *settings,
obs_encoder_t *encoder)
{
return obs_qsv_create_tex(QSV_CODEC_AVC, settings, encoder,
"obs_qsv11_soft_v2");
}
static void *obs_qsv_create_tex_av1(obs_data_t *settings,
obs_encoder_t *encoder)
{
return obs_qsv_create_tex(QSV_CODEC_AV1, settings, encoder,
"obs_qsv11_av1_soft");
}
static void *obs_qsv_create_tex_hevc(obs_data_t *settings,
obs_encoder_t *encoder)
{
return obs_qsv_create_tex(QSV_CODEC_HEVC, settings, encoder,
"obs_qsv11_hevc_soft");
}