mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-03-06 07:36:12 -05:00
libobs,UI: Support HLG nominal peak level
HLG output uses MovieLabs-recommended procedure. - If peak luminance is greater than 1000, use maxRGB EETF to 1000. - Otherwise, don't tonemap. - Then use normal HLG conversion procedure with gamma 1.2 (1000 nits).
This commit is contained in:
@@ -537,6 +537,7 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent)
|
||||
HookWidget(ui->colorSpace, COMBO_CHANGED, ADV_CHANGED);
|
||||
HookWidget(ui->colorRange, COMBO_CHANGED, ADV_CHANGED);
|
||||
HookWidget(ui->sdrWhiteLevel, SCROLL_CHANGED, ADV_CHANGED);
|
||||
HookWidget(ui->hdrNominalPeakLevel, SCROLL_CHANGED, ADV_CHANGED);
|
||||
HookWidget(ui->disableOSXVSync, CHECK_CHANGED, ADV_CHANGED);
|
||||
HookWidget(ui->resetOSXVSync, CHECK_CHANGED, ADV_CHANGED);
|
||||
if (obs_audio_monitoring_available())
|
||||
@@ -2596,6 +2597,8 @@ void OBSBasicSettings::LoadAdvancedSettings()
|
||||
config_get_string(main->Config(), "Video", "ColorRange");
|
||||
uint32_t sdrWhiteLevel = (uint32_t)config_get_uint(
|
||||
main->Config(), "Video", "SdrWhiteLevel");
|
||||
uint32_t hdrNominalPeakLevel = (uint32_t)config_get_uint(
|
||||
main->Config(), "Video", "HdrNominalPeakLevel");
|
||||
|
||||
QString monDevName;
|
||||
QString monDevId;
|
||||
@@ -2670,6 +2673,7 @@ void OBSBasicSettings::LoadAdvancedSettings()
|
||||
SetComboByValue(ui->colorSpace, videoColorSpace);
|
||||
SetComboByValue(ui->colorRange, videoColorRange);
|
||||
ui->sdrWhiteLevel->setValue(sdrWhiteLevel);
|
||||
ui->hdrNominalPeakLevel->setValue(hdrNominalPeakLevel);
|
||||
|
||||
if (!SetComboByValue(ui->bindToIP, bindIP))
|
||||
SetInvalidValue(ui->bindToIP, bindIP, bindIP);
|
||||
@@ -3376,6 +3380,7 @@ void OBSBasicSettings::SaveAdvancedSettings()
|
||||
SaveComboData(ui->colorSpace, "Video", "ColorSpace");
|
||||
SaveComboData(ui->colorRange, "Video", "ColorRange");
|
||||
SaveSpinBox(ui->sdrWhiteLevel, "Video", "SdrWhiteLevel");
|
||||
SaveSpinBox(ui->hdrNominalPeakLevel, "Video", "HdrNominalPeakLevel");
|
||||
if (obs_audio_monitoring_available()) {
|
||||
SaveCombo(ui->monitoringDevice, "Audio",
|
||||
"MonitoringDeviceName");
|
||||
|
||||
Reference in New Issue
Block a user