HandBrakeUtils.EnsureGlobalInit();\r
\r
VideoRates = new Dictionary<double, int>();\r
- foreach (var framerate in Encoders.VideoFramerates)\r
+ foreach (var framerate in HandBrakeEncoderHelpers.VideoFramerates)\r
{\r
VideoRates.Add(double.Parse(framerate.Name, CultureInfo.InvariantCulture), framerate.Rate);\r
}\r
Id = encoder.codec, \r
ShortName = encoder.short_name, \r
DisplayName = encoder.name, \r
- CompatibleContainers = encoder.muxers, \r
- QualityLimits = Encoders.GetAudioQualityLimits(encoder.codec), \r
+ CompatibleContainers = encoder.muxers,\r
+ QualityLimits = HandBrakeEncoderHelpers.GetAudioQualityLimits(encoder.codec), \r
DefaultQuality = HBFunctions.hb_audio_quality_get_default((uint)encoder.codec), \r
- CompressionLimits = Encoders.GetAudioCompressionLimits(encoder.codec), \r
+ CompressionLimits = HandBrakeEncoderHelpers.GetAudioCompressionLimits(encoder.codec), \r
DefaultCompression =\r
HBFunctions.hb_audio_compression_get_default((uint)encoder.codec)\r
};\r
// </summary>\r
// --------------------------------------------------------------------------------------------------------------------\r
\r
-namespace HandBrake.Interop.Model\r
+namespace HandBrake.Interop\r
{\r
using System.Collections.Generic;\r
using System.Linq;\r
\r
- using HandBrake.Interop.Converters;\r
using HandBrake.Interop.HbLib;\r
using HandBrake.Interop.Helpers;\r
+ using HandBrake.Interop.Model;\r
using HandBrake.Interop.Model.Encoding;\r
using HandBrake.Interop.Model.Scan;\r
\r
/// <summary>\r
/// The encoders.\r
/// </summary>\r
- public static class Encoders\r
+ public static class HandBrakeEncoderHelpers\r
{\r
/// <summary>\r
/// The audio encoders.\r
private static List<HBRate> audioSampleRates; \r
\r
/// <summary>\r
- /// Initializes static members of the Encoders class.\r
+ /// Initializes static members of the EncoderHelpers class.\r
/// </summary>\r
- static Encoders()\r
+ static HandBrakeEncoderHelpers()\r
{\r
HandBrakeUtils.EnsureGlobalInit();\r
}\r
{\r
if (audioEncoders == null)\r
{\r
- audioEncoders = InteropUtilities.ToListFromIterator<hb_encoder_s, HBAudioEncoder>(HBFunctions.hb_audio_encoder_get_next, Converters.NativeToAudioEncoder);\r
+ audioEncoders = InteropUtilities.ToListFromIterator<hb_encoder_s, HBAudioEncoder>(HBFunctions.hb_audio_encoder_get_next, Converters.Converters.NativeToAudioEncoder);\r
}\r
\r
return audioEncoders;\r
{\r
if (videoEncoders == null)\r
{\r
- videoEncoders = InteropUtilities.ToListFromIterator<hb_encoder_s, HBVideoEncoder>(HBFunctions.hb_video_encoder_get_next, Converters.NativeToVideoEncoder);\r
+ videoEncoders = InteropUtilities.ToListFromIterator<hb_encoder_s, HBVideoEncoder>(HBFunctions.hb_video_encoder_get_next, Converters.Converters.NativeToVideoEncoder);\r
}\r
\r
return videoEncoders;\r
{\r
if (videoFramerates == null)\r
{\r
- videoFramerates = InteropUtilities.ToListFromIterator<hb_rate_s, HBRate>(HBFunctions.hb_video_framerate_get_next, Converters.NativeToRate);\r
+ videoFramerates = InteropUtilities.ToListFromIterator<hb_rate_s, HBRate>(HBFunctions.hb_video_framerate_get_next, Converters.Converters.NativeToRate);\r
}\r
\r
return videoFramerates;\r
{\r
if (mixdowns == null)\r
{\r
- mixdowns = InteropUtilities.ToListFromIterator<hb_mixdown_s, HBMixdown>(HBFunctions.hb_mixdown_get_next, Converters.NativeToMixdown);\r
+ mixdowns = InteropUtilities.ToListFromIterator<hb_mixdown_s, HBMixdown>(HBFunctions.hb_mixdown_get_next, Converters.Converters.NativeToMixdown);\r
}\r
\r
return mixdowns;\r
{\r
if (audioSampleRates == null)\r
{\r
- audioSampleRates = InteropUtilities.ToListFromIterator<hb_rate_s, HBRate>(HBFunctions.hb_audio_samplerate_get_next, Converters.NativeToRate);\r
+ audioSampleRates = InteropUtilities.ToListFromIterator<hb_rate_s, HBRate>(HBFunctions.hb_audio_samplerate_get_next, Converters.Converters.NativeToRate);\r
}\r
\r
return audioSampleRates;\r
{\r
if (containers == null)\r
{\r
- containers = InteropUtilities.ToListFromIterator<hb_container_s, HBContainer>(HBFunctions.hb_container_get_next, Converters.NativeToContainer);\r
+ containers = InteropUtilities.ToListFromIterator<hb_container_s, HBContainer>(HBFunctions.hb_container_get_next, Converters.Converters.NativeToContainer);\r
}\r
\r
return containers;\r
<Compile Include="EventArgs\MessageLoggedEventArgs.cs" />\r
<Compile Include="Model\Cropping.cs" />\r
<Compile Include="Model\EncodeJob.cs" />\r
- <Compile Include="Model\Encoders.cs" />\r
+ <Compile Include="HandBrakeEncoderHelpers.cs" />\r
<Compile Include="Model\Encoding\Anamorphic.cs" />\r
<Compile Include="Model\Encoding\AudioEncodeRateType.cs" />\r
<Compile Include="Model\Encoding\CroppingType.cs" />\r
int samplesPerFrame = GetAudioSamplesPerFrame(encoding.Encoder);\r
int audioBitrate;\r
\r
- HBAudioEncoder audioEncoder = Encoders.GetAudioEncoder(encoding.Encoder);\r
+ HBAudioEncoder audioEncoder = HandBrakeEncoderHelpers.GetAudioEncoder(encoding.Encoder);\r
\r
if (audioEncoder.IsPassthrough)\r
{\r
}\r
else\r
{\r
- outputBitrate = Encoders.GetDefaultBitrate(\r
+ outputBitrate = HandBrakeEncoderHelpers.GetDefaultBitrate(\r
audioEncoder, \r
- encoding.SampleRateRaw == 0 ? track.SampleRate : encoding.SampleRateRaw, \r
- Encoders.SanitizeMixdown(Encoders.GetMixdown(encoding.Mixdown), audioEncoder, track.ChannelLayout));\r
+ encoding.SampleRateRaw == 0 ? track.SampleRate : encoding.SampleRateRaw,\r
+ HandBrakeEncoderHelpers.SanitizeMixdown(HandBrakeEncoderHelpers.GetMixdown(encoding.Mixdown), audioEncoder, track.ChannelLayout));\r
}\r
\r
// Output bitrate is in kbps.\r
{\r
Video video = new Video();\r
\r
- HBVideoEncoder videoEncoder = Encoders.VideoEncoders.FirstOrDefault(e => e.ShortName == job.EncodingProfile.VideoEncoder);\r
+ HBVideoEncoder videoEncoder = HandBrakeEncoderHelpers.VideoEncoders.FirstOrDefault(e => e.ShortName == job.EncodingProfile.VideoEncoder);\r
Validate.NotNull(videoEncoder, "Video encoder " + job.EncodingProfile.VideoEncoder + " not recognized.");\r
if (videoEncoder != null)\r
{\r
\r
if (!string.IsNullOrEmpty(job.EncodingProfile.AudioEncoderFallback))\r
{\r
- HBAudioEncoder audioEncoder = Encoders.GetAudioEncoder(job.EncodingProfile.AudioEncoderFallback);\r
+ HBAudioEncoder audioEncoder = HandBrakeEncoderHelpers.GetAudioEncoder(job.EncodingProfile.AudioEncoderFallback);\r
Validate.NotNull(audioEncoder, "Unrecognized fallback audio encoder: " + job.EncodingProfile.AudioEncoderFallback);\r
audio.FallbackEncoder = audioEncoder.Id;\r
}\r
int numTracks = 0;\r
foreach (AudioEncoding item in job.EncodingProfile.AudioEncodings)\r
{\r
- HBAudioEncoder encoder = Encoders.GetAudioEncoder(item.Encoder);\r
+ HBAudioEncoder encoder = HandBrakeEncoderHelpers.GetAudioEncoder(item.Encoder);\r
Validate.NotNull(encoder, "Unrecognized audio encoder:" + item.Encoder);\r
\r
- HBMixdown mixdown = Encoders.GetMixdown(item.Mixdown);\r
+ HBMixdown mixdown = HandBrakeEncoderHelpers.GetMixdown(item.Mixdown);\r
Validate.NotNull(mixdown, "Unrecognized audio mixdown:" + item.Mixdown);\r
\r
AudioList audioTrack = new AudioList\r
// <summary>\r
// The audio encode rate type.\r
// </summary>\r
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrake.Interop.Model.Encoding
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrake.Interop.Model.Encoding\r
{\r
/// <summary>\r
/// The audio encode rate type.\r
/// </summary>\r
- public enum AudioEncodeRateType
- {
- Bitrate,
- Quality
- }
-}
+ public enum AudioEncodeRateType\r
+ {\r
+ Bitrate,\r
+ Quality\r
+ }\r
+}\r
// <summary>\r
// Defines the Container type.\r
// </summary>\r
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrake.Interop.Model.Encoding
-{
- using System;
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrake.Interop.Model.Encoding\r
+{\r
+ using System;\r
using System.ComponentModel.DataAnnotations;\r
\r
/// <summary>\r
/// The container.\r
/// </summary>\r
- [Flags]
- public enum Container
- {
- None = 0x0,
-
- [Display(Name = "MP4")]
- MP4,
- [Display(Name = "MKV")]
- MKV
- }
-}
+ [Flags]\r
+ public enum Container\r
+ {\r
+ None = 0x0,\r
+\r
+ [Display(Name = "MP4")]\r
+ MP4,\r
+ [Display(Name = "MKV")]\r
+ MKV\r
+ }\r
+}\r
/// </summary>\r
public class HBAudioEncoder\r
{\r
- #region Public Properties\r
-\r
/// <summary>\r
/// Gets or sets the compatible containers.\r
/// </summary>\r
return this.QualityLimits.High >= 0;\r
}\r
}\r
-\r
- #endregion\r
}\r
}
\ No newline at end of file
/// </summary>\r
public class HBContainer\r
{\r
- #region Public Properties\r
-\r
/// <summary>\r
/// Gets or sets the default extension.\r
/// </summary>\r
/// Gets or sets the short name.\r
/// </summary>\r
public string ShortName { get; set; }\r
-\r
- #endregion\r
}\r
}
\ No newline at end of file
Main,\r
\r
[Display(Name = "High")]\r
- High,\r
-\r
- //[Display(Name = "High 10")]\r
- //High10, HandBrake does not yet support 10bit.\r
-\r
- //[Display(Name = "High 422")]\r
- //High422, Not supported\r
-\r
- //[Display(Name = "High 444")]\r
- // High444, Use Auto Instead.\r
+ High\r
}\r
}\r
/// </summary>\r
public class RangeLimits\r
{\r
- #region Properties\r
-\r
/// <summary>\r
/// Gets or sets a value indicating whether ascending.\r
/// </summary>\r
/// Gets or sets the low.\r
/// </summary>\r
public float Low { get; set; }\r
-\r
- #endregion\r
}\r
}
\ No newline at end of file
/// </summary>\r
public class Size\r
{\r
- #region Constructors and Destructors\r
-\r
/// <summary>\r
/// Initializes a new instance of the <see cref="Size"/> class.\r
/// </summary>\r
this.Height = height;\r
}\r
\r
- #endregion\r
-\r
- #region Properties\r
-\r
/// <summary>\r
/// Gets or sets the height.\r
/// </summary>\r
/// Gets or sets the width.\r
/// </summary>\r
public int Width { get; set; }\r
-\r
- #endregion\r
}\r
}
\ No newline at end of file
/// </summary>\r
public class SourceSubtitle\r
{\r
- #region Properties\r
-\r
/// <summary>\r
/// Gets or sets a value indicating whether the subtitle track should be burned in.\r
/// </summary>\r
/// </summary>\r
public int TrackNumber { get; set; }\r
\r
- #endregion\r
-\r
- #region Public Methods\r
-\r
/// <summary>\r
/// The clone.\r
/// </summary>\r
BurnedIn = this.BurnedIn\r
};\r
}\r
-\r
- #endregion\r
}\r
}
\ No newline at end of file
public bool Default { get; set; }\r
\r
/// <summary>\r
- /// Gets or sets a value indicating the subtitle track should be burned in.\r
+ /// Gets or sets a value indicating whether the subtitle track should be burned in.\r
/// </summary>\r
public bool BurnedIn { get; set; }\r
\r
/// </summary>\r
public class Subtitles\r
{\r
- #region Properties\r
-\r
/// <summary>\r
/// Gets or sets the source subtitles.\r
/// </summary>\r
/// Gets or sets the srt subtitles.\r
/// </summary>\r
public List<SrtSubtitle> SrtSubtitles { get; set; }\r
-\r
- #endregion\r
}\r
}
\ No newline at end of file