From e83805bee68ff3da8b4e43505f30453aba7a156b Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Mon, 13 Jul 2020 13:00:33 +0200 Subject: [PATCH] Remove MP4_HIGH preset (fixes #254) It results in unreasonably high bit rates which regularly confuses users. The Custom preset should generally be preferred. --- .../com/replaymod/render/RenderSettings.java | 2 -- .../replaymod/render/gui/GuiRenderSettings.java | 16 ++++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/replaymod/render/RenderSettings.java b/src/main/java/com/replaymod/render/RenderSettings.java index cf975c8d..2a972888 100644 --- a/src/main/java/com/replaymod/render/RenderSettings.java +++ b/src/main/java/com/replaymod/render/RenderSettings.java @@ -52,8 +52,6 @@ public class RenderSettings { public enum EncodingPreset { MP4_CUSTOM("-an -c:v libx264 -b:v %BITRATE% -pix_fmt yuv420p \"%FILENAME%\"", "mp4"), - MP4_HIGH("-an -c:v libx264 -preset ultrafast -qp 1 -pix_fmt yuv420p \"%FILENAME%\"", "mp4"), - MP4_DEFAULT("-an -c:v libx264 -preset ultrafast -pix_fmt yuv420p \"%FILENAME%\"", "mp4"), MP4_POTATO("-an -c:v libx264 -preset ultrafast -crf 51 -pix_fmt yuv420p \"%FILENAME%\"", "mp4"), diff --git a/src/main/java/com/replaymod/render/gui/GuiRenderSettings.java b/src/main/java/com/replaymod/render/gui/GuiRenderSettings.java index 75c105a3..46ff2570 100644 --- a/src/main/java/com/replaymod/render/gui/GuiRenderSettings.java +++ b/src/main/java/com/replaymod/render/gui/GuiRenderSettings.java @@ -490,7 +490,11 @@ public class GuiRenderSettings extends GuiScreen implements Closeable { public void load(RenderSettings settings) { renderMethodDropdown.setSelected(settings.getRenderMethod()); - encodingPresetDropdown.setSelected(settings.getEncodingPreset()); + RenderSettings.EncodingPreset encodingPreset = settings.getEncodingPreset(); + if (encodingPreset == null) { + encodingPreset = getDefaultRenderSettings().getEncodingPreset(); + } + encodingPresetDropdown.setSelected(encodingPreset); videoWidth.setValue(settings.getTargetVideoWidth()); videoHeight.setValue(settings.getTargetVideoHeight()); frameRateSlider.setValue(settings.getFramesPerSecond() - 10); @@ -506,14 +510,14 @@ public class GuiRenderSettings extends GuiScreen implements Closeable { } File savedOutputFile = settings.getOutputFile(); if (savedOutputFile == null || !savedOutputFile.getParentFile().exists()) { - this.outputFile = generateOutputFile(settings.getEncodingPreset()); + this.outputFile = generateOutputFile(encodingPreset); userDefinedOutputFileName = false; } else if (savedOutputFile.exists()) { - String name = generateOutputFile(settings.getEncodingPreset()).getName(); + String name = generateOutputFile(encodingPreset).getName(); this.outputFile = new File(savedOutputFile.isDirectory() ? savedOutputFile : savedOutputFile.getParentFile(), name); userDefinedOutputFileName = false; } else { - this.outputFile = conformExtension(savedOutputFile, settings.getEncodingPreset()); + this.outputFile = conformExtension(savedOutputFile, encodingPreset); userDefinedOutputFileName = true; } outputFileButton.setLabel(this.outputFile.getName()); @@ -533,9 +537,9 @@ public class GuiRenderSettings extends GuiScreen implements Closeable { antiAliasingDropdown.setSelected(settings.getAntiAliasing()); exportCommand.setText(settings.getExportCommand()); String exportArguments = settings.getExportArguments(); - if (exportArguments == null) { + if (exportArguments == null || settings.getEncodingPreset() == null) { // backwards compat, see RenderSettings#exportArguments - exportArguments = settings.getEncodingPreset().getValue(); + exportArguments = encodingPreset.getValue(); } this.exportArguments.setText(exportArguments);