From 2891c4e8fa9b65a2a788113b236924d77b908434 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Sat, 24 Jul 2021 12:59:06 +0200 Subject: [PATCH] Remove MP4 Default Quality preset (closes #475) Similar to High Quality, it is too unpredictable, sometimes giving bad quality and sometimes being unbearably slow. We should just encourage everyone to set their bitrate manually. --- .../java/com/replaymod/render/RenderSettings.java | 2 -- .../com/replaymod/render/gui/GuiRenderSettings.java | 11 ++++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/replaymod/render/RenderSettings.java b/src/main/java/com/replaymod/render/RenderSettings.java index 0eea5951..d350f5e6 100644 --- a/src/main/java/com/replaymod/render/RenderSettings.java +++ b/src/main/java/com/replaymod/render/RenderSettings.java @@ -62,8 +62,6 @@ public class RenderSettings { public enum EncodingPreset { MP4_CUSTOM("-an -c:v libx264 -b:v %BITRATE% -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"), WEBM_CUSTOM("-an -c:v libvpx -b:v %BITRATE% -pix_fmt yuv420p \"%FILENAME%\"", "webm"), diff --git a/src/main/java/com/replaymod/render/gui/GuiRenderSettings.java b/src/main/java/com/replaymod/render/gui/GuiRenderSettings.java index 1d8b9c9a..2073a6f2 100644 --- a/src/main/java/com/replaymod/render/gui/GuiRenderSettings.java +++ b/src/main/java/com/replaymod/render/gui/GuiRenderSettings.java @@ -70,7 +70,7 @@ public class GuiRenderSettings extends AbstractGuiPopup { if (renderMethodDropdown.getSelectedValue() == RenderSettings.RenderMethod.BLEND) { encodingPresetDropdown.setSelected(RenderSettings.EncodingPreset.BLEND); } else { - encodingPresetDropdown.setSelected(RenderSettings.EncodingPreset.MP4_DEFAULT); + encodingPresetDropdown.setSelected(RenderSettings.EncodingPreset.MP4_CUSTOM); } } updateInputs(); @@ -506,7 +506,8 @@ public class GuiRenderSettings extends AbstractGuiPopup { } RenderSettings.EncodingPreset encodingPreset = settings.getEncodingPreset(); /* encodingPreset can be null from a previously supported and later removed preset */ - if (encodingPreset == null || !encodingPreset.isSupported()) { + boolean invalidEncodingPreset = encodingPreset == null || !encodingPreset.isSupported(); + if (invalidEncodingPreset) { encodingPreset = getDefaultRenderSettings().getEncodingPreset(); } encodingPresetDropdown.setSelected(encodingPreset); @@ -555,7 +556,7 @@ public class GuiRenderSettings extends AbstractGuiPopup { antiAliasingDropdown.setSelected(settings.getAntiAliasing()); exportCommand.setText(settings.getExportCommand()); String exportArguments = settings.getExportArguments(); - if (exportArguments == null || settings.getEncodingPreset() == null) { + if (exportArguments == null || settings.getEncodingPreset() == null || invalidEncodingPreset) { // backwards compat, see RenderSettings#exportArguments exportArguments = encodingPreset.getValue(); } @@ -628,8 +629,8 @@ public class GuiRenderSettings extends AbstractGuiPopup { } private RenderSettings getDefaultRenderSettings() { - return new RenderSettings(RenderSettings.RenderMethod.DEFAULT, RenderSettings.EncodingPreset.MP4_DEFAULT, 1920, 1080, 60, 10 << 20, null, - true, false, false, false, null, 360, 180, false, false, false, RenderSettings.AntiAliasing.NONE, "", RenderSettings.EncodingPreset.MP4_DEFAULT.getValue(), false); + return new RenderSettings(RenderSettings.RenderMethod.DEFAULT, RenderSettings.EncodingPreset.MP4_CUSTOM, 1920, 1080, 60, 10 << 20, null, + true, false, false, false, null, 360, 180, false, false, false, RenderSettings.AntiAliasing.NONE, "", RenderSettings.EncodingPreset.MP4_CUSTOM.getValue(), false); } @Override