Merge pull request #3208 from brittneysclark/qsv_fix_ui_settings
obs-qsv11: Fix bug mapping old qsv settings to new
This commit is contained in:
commit
e394206132
@ -148,7 +148,6 @@ static void obs_qsv_defaults(obs_data_t *settings)
|
||||
obs_data_set_default_int(settings, "bitrate", 2500);
|
||||
obs_data_set_default_int(settings, "max_bitrate", 3000);
|
||||
obs_data_set_default_string(settings, "profile", "high");
|
||||
obs_data_set_default_int(settings, "async_depth", 4);
|
||||
obs_data_set_default_string(settings, "rate_control", "CBR");
|
||||
|
||||
obs_data_set_default_int(settings, "accuracy", 1000);
|
||||
@ -157,13 +156,11 @@ static void obs_qsv_defaults(obs_data_t *settings)
|
||||
obs_data_set_default_int(settings, "qpp", 23);
|
||||
obs_data_set_default_int(settings, "qpb", 23);
|
||||
obs_data_set_default_int(settings, "icq_quality", 23);
|
||||
obs_data_set_default_int(settings, "la_depth", 15);
|
||||
|
||||
obs_data_set_default_int(settings, "keyint_sec", 3);
|
||||
obs_data_set_default_string(settings, "latency", "normal");
|
||||
obs_data_set_default_int(settings, "bframes", 3);
|
||||
obs_data_set_default_bool(settings, "enhancements", false);
|
||||
obs_data_set_default_bool(settings, "mbbrc", true);
|
||||
}
|
||||
|
||||
static inline void add_strings(obs_property_t *list, const char *const *strings)
|
||||
@ -196,10 +193,22 @@ static inline bool is_skl_or_greater_platform()
|
||||
|
||||
static bool update_latency(obs_data_t *settings)
|
||||
{
|
||||
int async_depth = (int)obs_data_get_int(settings, "async_depth");
|
||||
int la_depth = (int)obs_data_get_int(settings, "la_depth");
|
||||
bool update = false;
|
||||
int async_depth = 4;
|
||||
if (obs_data_item_byname(settings, "async_depth") != NULL) {
|
||||
async_depth = (int)obs_data_get_int(settings, "async_depth");
|
||||
obs_data_erase(settings, "async_depth");
|
||||
update = true;
|
||||
}
|
||||
|
||||
if (async_depth > 0 || la_depth > 0) {
|
||||
int la_depth = 15;
|
||||
if (obs_data_item_byname(settings, "la_depth") != NULL) {
|
||||
la_depth = (int)obs_data_get_int(settings, "la_depth");
|
||||
obs_data_erase(settings, "la_depth");
|
||||
update = true;
|
||||
}
|
||||
|
||||
if (update) {
|
||||
const char *rate_control =
|
||||
obs_data_get_string(settings, "rate_control");
|
||||
|
||||
@ -221,9 +230,6 @@ static bool update_latency(obs_data_t *settings)
|
||||
obs_data_set_string(settings, "latency",
|
||||
"ultra-low");
|
||||
}
|
||||
|
||||
obs_data_erase(settings, "async_depth");
|
||||
obs_data_erase(settings, "la_depth");
|
||||
}
|
||||
|
||||
return true;
|
||||
@ -231,20 +237,25 @@ static bool update_latency(obs_data_t *settings)
|
||||
|
||||
static bool update_enhancements(obs_data_t *settings)
|
||||
{
|
||||
bool update = false;
|
||||
bool mbbrc = true;
|
||||
if (obs_data_item_byname(settings, "mbbrc") != NULL) {
|
||||
mbbrc = (bool)obs_data_get_bool(settings, "mbbrc");
|
||||
obs_data_erase(settings, "mbbrc");
|
||||
update = true;
|
||||
}
|
||||
|
||||
bool cqm = false;
|
||||
if (obs_data_item_byname(settings, "CQM") != NULL) {
|
||||
cqm = (bool)obs_data_get_bool(settings, "CQM");
|
||||
obs_data_erase(settings, "CQM");
|
||||
update = true;
|
||||
}
|
||||
|
||||
bool enabled = (mbbrc && cqm);
|
||||
obs_data_set_bool(settings, "enhancements", enabled);
|
||||
if (update) {
|
||||
bool enabled = (mbbrc && cqm);
|
||||
obs_data_set_bool(settings, "enhancements", enabled);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user