From: Max Dmytrychenko Date: Wed, 30 Sep 2015 15:51:15 +0000 (+0200) Subject: WinGui: draft set of options handling for QuickSyncH265, AVC replica for now X-Git-Tag: 1.0.0~897^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1ceedf3b38dc5f42f87b538021d2ce17777afe9f;p=handbrake WinGui: draft set of options handling for QuickSyncH265, AVC replica for now --- diff --git a/win/CS/HandBrakeWPF/ViewModels/VideoViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/VideoViewModel.cs index eb3ee984e..c8910b770 100644 --- a/win/CS/HandBrakeWPF/ViewModels/VideoViewModel.cs +++ b/win/CS/HandBrakeWPF/ViewModels/VideoViewModel.cs @@ -350,6 +350,7 @@ namespace HandBrakeWPF.ViewModels this.Task.Quality = rfValue; break; case VideoEncoder.QuickSync: + case VideoEncoder.QuickSyncH265: rfValue = 51.0 - value; rfValue = Math.Round(rfValue, 0); this.Task.Quality = rfValue; @@ -900,7 +901,7 @@ namespace HandBrakeWPF.ViewModels HBVideoEncoder encoder = HandBrakeEncoderHelpers.VideoEncoders.FirstOrDefault(s => s.ShortName == EnumHelper.GetShortName(preset.Task.VideoEncoder)); if (encoder != null) { - if (preset.Task.VideoEncoder == VideoEncoder.X264 || preset.Task.VideoEncoder == VideoEncoder.X265 || preset.Task.VideoEncoder == VideoEncoder.QuickSync) + if (preset.Task.VideoEncoder == VideoEncoder.X264 || preset.Task.VideoEncoder == VideoEncoder.X265 || preset.Task.VideoEncoder == VideoEncoder.QuickSync || preset.Task.VideoEncoder == VideoEncoder.QuickSyncH265) { this.VideoLevel = preset.Task.VideoLevel != null ? preset.Task.VideoLevel.Clone() : this.VideoLevels.FirstOrDefault(); this.VideoProfile = preset.Task.VideoProfile != null ? preset.Task.VideoProfile.Clone() : this.VideoProfiles.FirstOrDefault(); @@ -1006,6 +1007,7 @@ namespace HandBrakeWPF.ViewModels this.QualityMax = 31; break; case VideoEncoder.QuickSync: + case VideoEncoder.QuickSyncH265: this.QualityMin = 0; this.QualityMax = 51; break; @@ -1135,8 +1137,8 @@ namespace HandBrakeWPF.ViewModels case VideoEncoder.X265: case VideoEncoder.X264: case VideoEncoder.QuickSync: - - if (this.SelectedVideoEncoder == VideoEncoder.QuickSync) + case VideoEncoder.QuickSyncH265: + if (this.SelectedVideoEncoder == VideoEncoder.QuickSync || this.SelectedVideoEncoder == VideoEncoder.QuickSyncH265) { cqStep = 1; } @@ -1255,9 +1257,9 @@ namespace HandBrakeWPF.ViewModels this.SetQualitySliderBounds(); // Update control display - this.UseAdvancedTab = selectedEncoder != VideoEncoder.QuickSync && this.UseAdvancedTab; - this.DisplayOptimiseOptions = this.SelectedVideoEncoder == VideoEncoder.X264 || this.SelectedVideoEncoder == VideoEncoder.X265 || this.SelectedVideoEncoder == VideoEncoder.QuickSync; - this.DisplayNonQSVControls = this.SelectedVideoEncoder != VideoEncoder.QuickSync; + this.UseAdvancedTab = selectedEncoder != VideoEncoder.QuickSync && selectedEncoder != VideoEncoder.QuickSyncH265 && this.UseAdvancedTab; + this.DisplayOptimiseOptions = this.SelectedVideoEncoder == VideoEncoder.X264 || this.SelectedVideoEncoder == VideoEncoder.X265 || this.SelectedVideoEncoder == VideoEncoder.QuickSync || this.SelectedVideoEncoder == VideoEncoder.QuickSyncH265; + this.DisplayNonQSVControls = this.SelectedVideoEncoder != VideoEncoder.QuickSync && this.SelectedVideoEncoder != VideoEncoder.QuickSyncH265; this.DisplayTurboFirstPass = selectedEncoder == VideoEncoder.X264; this.DisplayTuneControls = SelectedVideoEncoder == VideoEncoder.X264 || SelectedVideoEncoder == VideoEncoder.X265; this.DisplayLevelControl = SelectedVideoEncoder == VideoEncoder.X264; @@ -1268,7 +1270,7 @@ namespace HandBrakeWPF.ViewModels this.NotifyOfPropertyChange(() => this.HighQualityLabel); // Handle some quicksync specific options. - if (selectedEncoder == VideoEncoder.QuickSync) + if (selectedEncoder == VideoEncoder.QuickSync || selectedEncoder == VideoEncoder.QuickSyncH265) { this.IsConstantFramerate = true; this.TwoPass = false;