Jelajahi Sumber

UI: Add high-precision sRGB support

Remove warnings about using 10-bit formats with SDR color spaces.
jpark37 3 tahun lalu
induk
melakukan
76ddbe11d0
2 mengubah file dengan 9 tambahan dan 10 penghapusan
  1. 2 3
      UI/data/locale/en-US.ini
  2. 7 7
      UI/window-basic-settings.cpp

+ 2 - 3
UI/data/locale/en-US.ini

@@ -1035,9 +1035,8 @@ Basic.Settings.Advanced.General.ProcessPriority.Normal="Normal"
 Basic.Settings.Advanced.General.ProcessPriority.BelowNormal="Below Normal"
 Basic.Settings.Advanced.General.ProcessPriority.Idle="Idle"
 Basic.Settings.Advanced.FormatWarning="Warning: Color formats other than NV12/P010 are primarily intended for recording, and are not recommended when streaming. Streaming may incur increased CPU usage due to color format conversion."
-Basic.Settings.Advanced.FormatWarningI010="Warning: I010 only works with Rec. 2020 for now."
-Basic.Settings.Advanced.FormatWarningP010="Warning: P010 only works with Rec. 2020 for now."
-Basic.Settings.Advanced.FormatWarning2020="Warning: Rec. 2020 only works with I010/P010 for now."
+Basic.Settings.Advanced.FormatWarning10BitSdr="Warning: 10-bit formats are more commonly used with HDR color spaces."
+Basic.Settings.Advanced.FormatWarning2020="Warning: Rec. 2020 should use a format with more precision."
 Basic.Settings.Advanced.Audio.BufferingTime="Audio Buffering Time"
 Basic.Settings.Advanced.Video.ColorFormat="Color Format"
 Basic.Settings.Advanced.Video.ColorSpace="Color Space"

+ 7 - 7
UI/window-basic-settings.cpp

@@ -2533,7 +2533,9 @@ void OBSBasicSettings::LoadAudioSettings()
 void OBSBasicSettings::UpdateColorFormatSpaceWarning()
 {
 	const QString text = ui->colorFormat->currentText();
-	if (ui->colorSpace->currentIndex() >= 3) {
+	switch (ui->colorSpace->currentIndex()) {
+	case 3: /* Rec.2020 (PQ) */
+	case 4: /* Rec.2020 (HLG) */
 		if (text == "P010") {
 			ui->advancedMsg2->clear();
 		} else if (text == "I010") {
@@ -2543,15 +2545,13 @@ void OBSBasicSettings::UpdateColorFormatSpaceWarning()
 			ui->advancedMsg2->setText(QTStr(
 				"Basic.Settings.Advanced.FormatWarning2020"));
 		}
-	} else {
+		break;
+	default:
 		if (text == "NV12") {
 			ui->advancedMsg2->clear();
-		} else if (text == "I010") {
-			ui->advancedMsg2->setText(QTStr(
-				"Basic.Settings.Advanced.FormatWarningI010"));
-		} else if (text == "P010") {
+		} else if ((text == "I010") || (text == "P010")) {
 			ui->advancedMsg2->setText(QTStr(
-				"Basic.Settings.Advanced.FormatWarningP010"));
+				"Basic.Settings.Advanced.FormatWarning10BitSdr"));
 		} else {
 			ui->advancedMsg2->setText(
 				QTStr("Basic.Settings.Advanced.FormatWarning"));