diff options
-rw-r--r-- | libhb/encavcodec.c | 4 | ||||
-rw-r--r-- | win/CS/HandBrakeWPF/Services/Encode/Factories/VideoPresetFactory.cs | 41 | ||||
-rw-r--r-- | win/CS/HandBrakeWPF/ViewModels/VideoViewModel.cs | 6 |
3 files changed, 49 insertions, 2 deletions
diff --git a/libhb/encavcodec.c b/libhb/encavcodec.c index 1c853cb60..dbad69ca7 100644 --- a/libhb/encavcodec.c +++ b/libhb/encavcodec.c @@ -70,7 +70,7 @@ static const char * const vpx_preset_names[] = static const char * const h26x_nvenc_preset_names[] = { - "losslesshp", "lossless", "llhp", "llhq", "ll", "bd", "hq", "hp", "fast", "medium", "slow", "default", NULL + "llhp", "llhq", "ll", "bd", "hq", "hp", "fast", "medium", "slow", "default", NULL // No Lossless "losslesshp", "lossless", }; static const char * const h264_nvenc_profile_names[] = @@ -80,7 +80,7 @@ static const char * const h264_nvenc_profile_names[] = static const char * const h265_nvenc_profile_names[] = { - "auto", "main", "main10", "rext", NULL + "auto", "main", NULL // "main10", "rext" We do not currently support 10bit encodes with this encoder. }; diff --git a/win/CS/HandBrakeWPF/Services/Encode/Factories/VideoPresetFactory.cs b/win/CS/HandBrakeWPF/Services/Encode/Factories/VideoPresetFactory.cs index 491eb7c4e..e861b1f9c 100644 --- a/win/CS/HandBrakeWPF/Services/Encode/Factories/VideoPresetFactory.cs +++ b/win/CS/HandBrakeWPF/Services/Encode/Factories/VideoPresetFactory.cs @@ -26,6 +26,12 @@ namespace HandBrakeWPF.Services.Encode.Factories /// </returns> public static string GetDisplayName(string shortName) { + string presetName = GetNvencPresetName(shortName); + if (presetName != shortName) + { + return presetName; + } + switch (shortName) { case "ultrafast": @@ -59,5 +65,40 @@ namespace HandBrakeWPF.Services.Encode.Factories return shortName; } + + public static string GetNvencPresetName(string shortName) + { + switch (shortName) + { + case "losslesshp": + return "High Performance Lossless"; + case "lossless": + return "Lossless"; + case "llhp": + return "High Performance Low Latency"; + case "llhq": + return "High Quality Low Latency"; + case "ll": + return "Low Latency"; + case "bd": + return "Bluray Disk"; + case "hq": + return "High Quality"; + case "hp": + return "High Performance"; + case "fast": + return "Fast"; + case "medium": + return "Medium"; + case "slow": + return "Slow"; + case "default": + return "Default"; + case null: + return "Automatic"; + } + + return shortName; + } } } diff --git a/win/CS/HandBrakeWPF/ViewModels/VideoViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/VideoViewModel.cs index 7c14e1594..53f410356 100644 --- a/win/CS/HandBrakeWPF/ViewModels/VideoViewModel.cs +++ b/win/CS/HandBrakeWPF/ViewModels/VideoViewModel.cs @@ -1425,6 +1425,12 @@ namespace HandBrakeWPF.ViewModels this.VideoPresetMaxValue = encoder.Presets.Count - 1;
int middlePreset = (int)Math.Round((decimal)(this.VideoPresetMaxValue / 2), 0);
+
+ if (selectedEncoder == VideoEncoder.NvencH264 || selectedEncoder == VideoEncoder.NvencH265)
+ {
+ middlePreset = this.VideoPresets.IndexOf(this.VideoPresets.FirstOrDefault(s => s.ShortName == "default"));
+ }
+
this.VideoPresetValue = middlePreset;
}
else
|