Browse Source

UI: Allow rescaling for texture-based encoders

jp9000 5 years ago
parent
commit
cce734a0aa
2 changed files with 4 additions and 30 deletions
  1. 0 10
      UI/window-basic-main-outputs.cpp
  2. 4 20
      UI/window-basic-settings.cpp

+ 0 - 10
UI/window-basic-main-outputs.cpp

@@ -1284,14 +1284,9 @@ inline void AdvancedOutput::SetupStreaming()
 		config_get_string(main->Config(), "AdvOut", "RescaleRes");
 	int streamTrack =
 		config_get_int(main->Config(), "AdvOut", "TrackIndex") - 1;
-	uint32_t caps = obs_encoder_get_caps(h264Streaming);
 	unsigned int cx = 0;
 	unsigned int cy = 0;
 
-	if ((caps & OBS_ENCODER_CAP_PASS_TEXTURE) != 0) {
-		rescale = false;
-	}
-
 	if (rescale && rescaleRes && *rescaleRes) {
 		if (sscanf(rescaleRes, "%ux%u", &cx, &cy) != 2) {
 			cx = 0;
@@ -1339,11 +1334,6 @@ inline void AdvancedOutput::SetupRecording()
 			obs_output_set_video_encoder(replayBuffer,
 						     h264Streaming);
 	} else {
-		uint32_t caps = obs_encoder_get_caps(h264Recording);
-		if ((caps & OBS_ENCODER_CAP_PASS_TEXTURE) != 0) {
-			rescale = false;
-		}
-
 		if (rescale && rescaleRes && *rescaleRes) {
 			if (sscanf(rescaleRes, "%ux%u", &cx, &cy) != 2) {
 				cx = 0;

+ 4 - 20
UI/window-basic-settings.cpp

@@ -3672,16 +3672,8 @@ void OBSBasicSettings::on_advOutEncoder_currentIndexChanged(int idx)
 		ui->advOutputStreamTab->layout()->addWidget(streamEncoderProps);
 	}
 
-	uint32_t caps = obs_get_encoder_caps(QT_TO_UTF8(encoder));
-
-	if (caps & OBS_ENCODER_CAP_PASS_TEXTURE) {
-		ui->advOutUseRescale->setChecked(false);
-		ui->advOutUseRescale->setVisible(false);
-		ui->advOutRescale->setVisible(false);
-	} else {
-		ui->advOutUseRescale->setVisible(true);
-		ui->advOutRescale->setVisible(true);
-	}
+	ui->advOutUseRescale->setVisible(true);
+	ui->advOutRescale->setVisible(true);
 
 	UNUSED_PARAMETER(idx);
 }
@@ -3712,16 +3704,8 @@ void OBSBasicSettings::on_advOutRecEncoder_currentIndexChanged(int idx)
 			SLOT(AdvReplayBufferChanged()));
 	}
 
-	uint32_t caps = obs_get_encoder_caps(QT_TO_UTF8(encoder));
-
-	if (caps & OBS_ENCODER_CAP_PASS_TEXTURE) {
-		ui->advOutRecUseRescale->setChecked(false);
-		ui->advOutRecUseRescale->setVisible(false);
-		ui->advOutRecRescaleContainer->setVisible(false);
-	} else {
-		ui->advOutRecUseRescale->setVisible(true);
-		ui->advOutRecRescaleContainer->setVisible(true);
-	}
+	ui->advOutRecUseRescale->setVisible(true);
+	ui->advOutRecRescaleContainer->setVisible(true);
 }
 
 void OBSBasicSettings::on_advOutFFIgnoreCompat_stateChanged(int)