summaryrefslogtreecommitdiffstats
path: root/win/CS/HandBrake.Interop/HandBrakeInterop/Model/EncodeJob.cs
diff options
context:
space:
mode:
authorsr55 <[email protected]>2015-01-18 18:02:25 +0000
committersr55 <[email protected]>2015-01-18 18:02:25 +0000
commit3971869f634466f832c3ec33e0e9b1779058156f (patch)
tree01887b3240085072dc11a0d8bfec84a4f3819b4d /win/CS/HandBrake.Interop/HandBrakeInterop/Model/EncodeJob.cs
parentd972a8646edc79e7f4e373c51dc2fb77233989f2 (diff)
WinGui: Remove the EncodingProfile object as it doesn't make sense in the context of the app.
Small fix to updated preview window. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6767 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'win/CS/HandBrake.Interop/HandBrakeInterop/Model/EncodeJob.cs')
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/Model/EncodeJob.cs552
1 files changed, 438 insertions, 114 deletions
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/Model/EncodeJob.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/Model/EncodeJob.cs
index cd54342a7..ce7209948 100644
--- a/win/CS/HandBrake.Interop/HandBrakeInterop/Model/EncodeJob.cs
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/Model/EncodeJob.cs
@@ -9,147 +9,416 @@
namespace HandBrake.Interop.Model
{
- using System;
- using System.Collections.Generic;
- using System.Xml.Serialization;
+ using System.Collections.Generic;
- using HandBrake.Interop.Model.Encoding;
+ using HandBrake.Interop.Model.Encoding;
- /// <summary>
+ /// <summary>
/// The encode job.
/// </summary>
public class EncodeJob
{
- #region Properties
+ /// <summary>
+ /// Initializes a new instance of the <see cref="EncodeJob"/> class.
+ /// </summary>
+ public EncodeJob()
+ {
+ this.Cropping = new Cropping();
+ }
- /// <summary>
- /// Gets or sets the angle to encode. 0 for default, 1+ for specified angle.
- /// </summary>
- public int Angle { get; set; }
+ #region Source
- /// <summary>
- /// Gets or sets the chapter end.
- /// </summary>
- public int ChapterEnd { get; set; }
+ /// <summary>
+ /// Gets or sets the source path.
+ /// </summary>
+ public string SourcePath { get; set; }
- /// <summary>
- /// Gets or sets the chapter start.
- /// </summary>
- public int ChapterStart { get; set; }
+ /// <summary>
+ /// Gets or sets the 1-based index of the title to encode.
+ /// </summary>
+ public int Title { get; set; }
- /// <summary>
- /// Gets or sets the list of chosen audio tracks (1-based)
- /// </summary>
- public List<int> ChosenAudioTracks { get; set; }
+ /// <summary>
+ /// Gets or sets the range type.
+ /// </summary>
+ public VideoRangeType RangeType { get; set; }
- /// <summary>
- /// Gets or sets the custom chapter names.
- /// </summary>
- public List<string> CustomChapterNames { get; set; }
+ /// <summary>
+ /// Gets or sets the seek points.
+ /// This is the number of preview points.
+ /// </summary>
+ public int SeekPoints { get; set; }
- /// <summary>
- /// Gets or sets the encoding profile.
- /// </summary>
- public EncodingProfile EncodingProfile { get; set; }
+ /// <summary>
+ /// Gets or sets the start at preview.
+ /// </summary>
+ public int StartAtPreview { get; set; }
- /// <summary>
- /// Gets or sets the frames end.
- /// </summary>
- public int FramesEnd { get; set; }
+ /// <summary>
+ /// Gets or sets the seconds end.
+ /// </summary>
+ public int SecondsEnd { get; set; }
- /// <summary>
- /// Gets or sets the frames start.
- /// </summary>
- public int FramesStart { get; set; }
+ /// <summary>
+ /// Gets or sets the seconds start.
+ /// </summary>
+ public double SecondsStart { get; set; }
- /// <summary>
- /// Gets or sets the length. The length of video to encode.
- /// </summary>
- [XmlIgnore]
- public TimeSpan Length { get; set; }
+ /// <summary>
+ /// Gets or sets the angle to encode. 0 for default, 1+ for specified angle.
+ /// </summary>
+ public int Angle { get; set; }
- /// <summary>
- /// Gets or sets the output path.
- /// </summary>
- public string OutputPath { get; set; }
+ /// <summary>
+ /// Gets or sets the chapter end.
+ /// </summary>
+ public int ChapterEnd { get; set; }
- /// <summary>
- /// Gets or sets the range type.
- /// </summary>
- public VideoRangeType RangeType { get; set; }
+ /// <summary>
+ /// Gets or sets the chapter start.
+ /// </summary>
+ public int ChapterStart { get; set; }
- /// <summary>
- /// Gets or sets the seek points.
- /// This is the number of preview points.
- /// </summary>
- public int SeekPoints { get; set; }
+ /// <summary>
+ /// Gets or sets the frames end.
+ /// </summary>
+ public int FramesEnd { get; set; }
- /// <summary>
- /// Gets or sets the start at preview.
- /// </summary>
- public int StartAtPreview { get; set; }
+ /// <summary>
+ /// Gets or sets the frames start.
+ /// </summary>
+ public int FramesStart { get; set; }
- /// <summary>
- /// Gets or sets the seconds end.
- /// </summary>
- public int SecondsEnd { get; set; }
+ /// <summary>
+ /// Gets or sets the source type.
+ /// </summary>
+ public SourceType SourceType { get; set; }
- /// <summary>
- /// Gets or sets the seconds start.
- /// </summary>
- public double SecondsStart { get; set; }
+ #endregion
- /// <summary>
- /// Gets or sets the source path.
- /// </summary>
- public string SourcePath { get; set; }
+ #region Destination and Output Settings
- /// <summary>
- /// Gets or sets the source type.
- /// </summary>
- public SourceType SourceType { get; set; }
+ /// <summary>
+ /// Gets or sets the output path.
+ /// </summary>
+ public string OutputPath { get; set; }
- /// <summary>
- /// Gets or sets the subtitles.
- /// </summary>
- public Subtitles Subtitles { get; set; }
+ /// <summary>
+ /// Gets or sets the container name.
+ /// </summary>
+ public string ContainerName { get; set; }
- /// <summary>
- /// Gets or sets the 1-based index of the title to encode.
- /// </summary>
- public int Title { get; set; }
+ /// <summary>
+ /// Gets or sets the preferred extension.
+ /// </summary>
+ public OutputExtension PreferredExtension { get; set; }
- /// <summary>
- /// Gets or sets a value indicating whether use default chapter names.
- /// </summary>
- public bool UseDefaultChapterNames { get; set; }
+ /// <summary>
+ /// Gets or sets a value indicating whether include chapter markers.
+ /// </summary>
+ public bool IncludeChapterMarkers { get; set; }
- /// <summary>
- /// Gets or sets a value indicating whether to use DXVA hardware decoding.
- /// </summary>
- public bool DxvaDecoding { get; set; }
+ /// <summary>
+ /// Gets or sets a value indicating whether optimize.
+ /// </summary>
+ public bool Optimize { get; set; }
- /// <summary>
- /// Gets or sets the xml length.
- /// </summary>
- [XmlElement("Length")]
- public string XmlLength
- {
- get
- {
- return this.Length.ToString();
- }
- set
- {
- this.Length = TimeSpan.Parse(value);
- }
- }
+ /// <summary>
+ /// Gets or sets a value indicating whether i pod 5 g support.
+ /// </summary>
+ public bool IPod5GSupport { get; set; }
+ #endregion
- #endregion
+ #region Picture Settings
+
+ /// <summary>
+ /// Gets or sets the width.
+ /// </summary>
+ public int Width { get; set; }
+
+ /// <summary>
+ /// Gets or sets the height.
+ /// </summary>
+ public int Height { get; set; }
+
+ /// <summary>
+ /// Gets or sets the max width.
+ /// </summary>
+ public int MaxWidth { get; set; }
+
+ /// <summary>
+ /// Gets or sets the max height.
+ /// </summary>
+ public int MaxHeight { get; set; }
+
+ /// <summary>
+ /// Gets or sets the scale method.
+ /// </summary>
+ public ScaleMethod ScaleMethod { get; set; }
+
+ /// <summary>
+ /// Gets or sets the cropping type.
+ /// </summary>
+ public CroppingType CroppingType { get; set; }
+
+ /// <summary>
+ /// Gets or sets the cropping.
+ /// </summary>
+ public Cropping Cropping { get; set; }
+
+ /// <summary>
+ /// Gets or sets the anamorphic.
+ /// </summary>
+ public Anamorphic Anamorphic { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether use display width.
+ /// </summary>
+ public bool UseDisplayWidth { get; set; }
+
+ /// <summary>
+ /// Gets or sets the display width.
+ /// </summary>
+ public int DisplayWidth { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether keep display aspect.
+ /// </summary>
+ public bool KeepDisplayAspect { get; set; }
+
+ /// <summary>
+ /// Gets or sets the pixel aspect x.
+ /// </summary>
+ public int PixelAspectX { get; set; }
+
+ /// <summary>
+ /// Gets or sets the pixel aspect y.
+ /// </summary>
+ public int PixelAspectY { get; set; }
+
+ /// <summary>
+ /// Gets or sets the modulus.
+ /// </summary>
+ public int Modulus { get; set; }
+
+ /// <summary>
+ /// Gets or sets the rotation.
+ /// </summary>
+ public PictureRotation Rotation { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether the picture should be flipped horizontally.
+ /// </summary>
+ public bool FlipHorizontal { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether the picture should be flipped vertically.
+ /// </summary>
+ public bool FlipVertical { get; set; }
+ #endregion
+
+ #region Filters
- #region Public Methods
+ /// <summary>
+ /// Gets or sets the deinterlace.
+ /// </summary>
+ public Deinterlace Deinterlace { get; set; }
- /// <summary>
+ /// <summary>
+ /// Gets or sets the custom deinterlace.
+ /// </summary>
+ public string CustomDeinterlace { get; set; }
+
+ /// <summary>
+ /// Gets or sets the decomb.
+ /// </summary>
+ public Decomb Decomb { get; set; }
+
+ /// <summary>
+ /// Gets or sets the custom decomb.
+ /// </summary>
+ public string CustomDecomb { get; set; }
+
+ /// <summary>
+ /// Gets or sets the detelecine.
+ /// </summary>
+ public Detelecine Detelecine { get; set; }
+
+ /// <summary>
+ /// Gets or sets the custom detelecine.
+ /// </summary>
+ public string CustomDetelecine { get; set; }
+
+ /// <summary>
+ /// Gets or sets the denoise.
+ /// </summary>
+ public Denoise Denoise { get; set; }
+
+ /// <summary>
+ /// Gets or sets the denoise preset name.
+ /// </summary>
+ public string DenoisePreset { get; set; }
+
+ /// <summary>
+ /// Gets or sets the denoise tune name.
+ /// </summary>
+ public string DenoiseTune { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether we should use the provided
+ /// custom denoise string or we should use the preset and tune.
+ /// </summary>
+ public bool UseCustomDenoise { get; set; }
+
+ /// <summary>
+ /// Gets or sets the custom denoise.
+ /// </summary>
+ public string CustomDenoise { get; set; }
+
+ /// <summary>
+ /// Gets or sets the deblock.
+ /// </summary>
+ public int Deblock { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether the grayscale filter will be applied.
+ /// </summary>
+ public bool Grayscale { get; set; }
+ #endregion
+
+ #region Video
+
+ /// <summary>
+ /// Gets or sets the video encoder.
+ /// </summary>
+ public string VideoEncoder { get; set; }
+
+ /// <summary>
+ /// Gets or sets the video encoder options.
+ /// </summary>
+ public string VideoOptions { get; set; }
+
+ /// <summary>
+ /// Gets or sets the video encoder profile name.
+ /// </summary>
+ public string VideoProfile { get; set; }
+
+ /// <summary>
+ /// Gets or sets the video encoder preset name.
+ /// </summary>
+ public string VideoPreset { get; set; }
+
+ /// <summary>
+ /// Gets or sets the video encoder tunes.
+ /// </summary>
+ public List<string> VideoTunes { get; set; }
+
+ /// <summary>
+ /// Gets or sets the video encoder level.
+ /// </summary>
+ public string VideoLevel { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether to use QSV decoding.
+ /// </summary>
+ public bool QsvDecode { get; set; }
+
+ /// <summary>
+ /// Gets or sets the video encode rate type.
+ /// </summary>
+ public VideoEncodeRateType VideoEncodeRateType { get; set; }
+
+ /// <summary>
+ /// Gets or sets the quality.
+ /// </summary>
+ public double Quality { get; set; }
+
+ /// <summary>
+ /// Gets or sets the target size.
+ /// </summary>
+ public int TargetSize { get; set; }
+
+ /// <summary>
+ /// Gets or sets the video bitrate.
+ /// </summary>
+ public int VideoBitrate { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether two pass.
+ /// </summary>
+ public bool TwoPass { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether turbo first pass.
+ /// </summary>
+ public bool TurboFirstPass { get; set; }
+
+ /// <summary>
+ /// Gets or sets the framerate.
+ /// </summary>
+ public double Framerate { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether constant framerate.
+ /// </summary>
+ public bool ConstantFramerate { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether peak framerate.
+ /// </summary>
+ public bool PeakFramerate { get; set; }
+ #endregion
+
+ #region Audio
+
+ /// <summary>
+ /// Gets or sets the audio encodings.
+ /// </summary>
+ public List<AudioEncoding> AudioEncodings { get; set; }
+
+ /// <summary>
+ /// Gets or sets the list of chosen audio tracks (1-based)
+ /// </summary>
+ public List<int> ChosenAudioTracks { get; set; }
+
+ /// <summary>
+ /// Gets or sets the audio encoder fallback.
+ /// </summary>
+ public string AudioEncoderFallback { get; set; }
+ #endregion
+
+ #region Chapter Markers
+
+ /// <summary>
+ /// Gets or sets a value indicating whether use default chapter names.
+ /// </summary>
+ public bool UseDefaultChapterNames { get; set; }
+
+ /// <summary>
+ /// Gets or sets the custom chapter names.
+ /// </summary>
+ public List<string> CustomChapterNames { get; set; }
+ #endregion
+
+ #region Subtitles
+
+ /// <summary>
+ /// Gets or sets the subtitles.
+ /// </summary>
+ public Subtitles Subtitles { get; set; }
+ #endregion
+
+ #region Additional Args
+
+ /// <summary>
+ /// Gets or sets a value indicating whether to use DXVA hardware decoding.
+ /// </summary>
+ public bool DxvaDecoding { get; set; }
+ #endregion
+
+ #region Public Methods
+
+ /// <summary>
/// The clone.
/// </summary>
/// <returns>
@@ -172,11 +441,66 @@ namespace HandBrake.Interop.Model
FramesEnd = this.FramesEnd,
ChosenAudioTracks = new List<int>(this.ChosenAudioTracks),
Subtitles = this.Subtitles,
- UseDefaultChapterNames = this.UseDefaultChapterNames,
- DxvaDecoding = this.DxvaDecoding,
+ UseDefaultChapterNames = this.UseDefaultChapterNames,
+ DxvaDecoding = this.DxvaDecoding,
OutputPath = this.OutputPath,
- EncodingProfile = this.EncodingProfile,
- Length = this.Length
+
+ ContainerName = this.ContainerName,
+ PreferredExtension = this.PreferredExtension,
+ IncludeChapterMarkers = this.IncludeChapterMarkers,
+ Optimize = this.Optimize,
+ IPod5GSupport = this.IPod5GSupport,
+
+ Width = this.Width,
+ Height = this.Height,
+ MaxWidth = this.MaxWidth,
+ MaxHeight = this.MaxHeight,
+ ScaleMethod = this.ScaleMethod,
+ CroppingType = this.CroppingType,
+ Cropping = this.Cropping.Clone(),
+ Anamorphic = this.Anamorphic,
+ UseDisplayWidth = this.UseDisplayWidth,
+ DisplayWidth = this.DisplayWidth,
+ KeepDisplayAspect = this.KeepDisplayAspect,
+ PixelAspectX = this.PixelAspectX,
+ PixelAspectY = this.PixelAspectY,
+ Modulus = this.Modulus,
+ Rotation = this.Rotation,
+ FlipHorizontal = this.FlipHorizontal,
+ FlipVertical = this.FlipVertical,
+
+ Deinterlace = this.Deinterlace,
+ CustomDeinterlace = this.CustomDeinterlace,
+ Decomb = this.Decomb,
+ CustomDecomb = this.CustomDecomb,
+ Detelecine = this.Detelecine,
+ CustomDetelecine = this.CustomDetelecine,
+ Denoise = this.Denoise,
+ DenoisePreset = this.DenoisePreset,
+ DenoiseTune = this.DenoiseTune,
+ UseCustomDenoise = this.UseCustomDenoise,
+ CustomDenoise = this.CustomDenoise,
+ Deblock = this.Deblock,
+ Grayscale = this.Grayscale,
+
+ VideoEncoder = this.VideoEncoder,
+ VideoOptions = this.VideoOptions,
+ VideoProfile = this.VideoProfile,
+ VideoPreset = this.VideoPreset,
+ VideoTunes = this.VideoTunes,
+ VideoLevel = this.VideoLevel,
+ QsvDecode = this.QsvDecode,
+ VideoEncodeRateType = this.VideoEncodeRateType,
+ Quality = this.Quality,
+ TargetSize = this.TargetSize,
+ VideoBitrate = this.VideoBitrate,
+ TwoPass = this.TwoPass,
+ TurboFirstPass = this.TurboFirstPass,
+ Framerate = this.Framerate,
+ ConstantFramerate = this.ConstantFramerate,
+
+ AudioEncodings = new List<AudioEncoding>(this.AudioEncodings),
+ AudioEncoderFallback = this.AudioEncoderFallback
};
return clone;