1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
// --------------------------------------------------------------------------------------------------------------------
// <copyright file="EncodingProfile.cs" company="HandBrake Project (http://handbrake.fr)">
// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
// </copyright>
// <summary>
// Defines the EncodingProfile type.
// </summary>
// --------------------------------------------------------------------------------------------------------------------
namespace HandBrake.Interop.Model.Encoding
{
using System;
using System.Collections.Generic;
using HandBrake.Interop.Model;
public class EncodingProfile
{
public EncodingProfile()
{
this.Cropping = new Cropping();
}
public Container OutputFormat { get; set; }
public OutputExtension PreferredExtension { get; set; }
public bool IncludeChapterMarkers { get; set; }
public bool LargeFile { get; set; }
public bool Optimize { get; set; }
public bool IPod5GSupport { get; set; }
public int Width { get; set; }
public int Height { get; set; }
public int MaxWidth { get; set; }
public int MaxHeight { get; set; }
public bool CustomCropping { get; set; }
public Cropping Cropping { get; set; }
public Anamorphic Anamorphic { get; set; }
public bool UseDisplayWidth { get; set; }
public int DisplayWidth { get; set; }
public bool KeepDisplayAspect { get; set; }
public int PixelAspectX { get; set; }
public int PixelAspectY { get; set; }
public int Modulus { get; set; }
public Deinterlace Deinterlace { get; set; }
public string CustomDeinterlace { get; set; }
public Decomb Decomb { get; set; }
public string CustomDecomb { get; set; }
public Detelecine Detelecine { get; set; }
public string CustomDetelecine { get; set; }
public Denoise Denoise { get; set; }
public string CustomDenoise { get; set; }
public int Deblock { get; set; }
public bool Grayscale { get; set; }
public string VideoEncoder { get; set; }
public string X264Options { get; set; }
public string X264Profile { get; set; }
public string X264Preset { get; set; }
public string X264Tune { get; set; }
public VideoEncodeRateType VideoEncodeRateType { get; set; }
public double Quality { get; set; }
public int TargetSize { get; set; }
public int VideoBitrate { get; set; }
public bool TwoPass { get; set; }
public bool TurboFirstPass { get; set; }
public double Framerate { get; set; }
public bool ConstantFramerate { get; set; }
[Obsolete("This setting is obsolete. Use Framerate and ConstantFramerate instead.")]
public bool PeakFramerate { get; set; }
public List<AudioEncoding> AudioEncodings { get; set; }
public string AudioEncoderFallback { get; set; }
public EncodingProfile Clone()
{
EncodingProfile profile = new EncodingProfile
{
OutputFormat = this.OutputFormat,
PreferredExtension = this.PreferredExtension,
IncludeChapterMarkers = this.IncludeChapterMarkers,
LargeFile = this.LargeFile,
Optimize = this.Optimize,
IPod5GSupport = this.IPod5GSupport,
Width = this.Width,
Height = this.Height,
MaxWidth = this.MaxWidth,
MaxHeight = this.MaxHeight,
CustomCropping = this.CustomCropping,
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,
Deinterlace = this.Deinterlace,
CustomDeinterlace = this.CustomDeinterlace,
Decomb = this.Decomb,
CustomDecomb = this.CustomDecomb,
Detelecine = this.Detelecine,
CustomDetelecine = this.CustomDetelecine,
Denoise = this.Denoise,
CustomDenoise = this.CustomDenoise,
Deblock = this.Deblock,
Grayscale = this.Grayscale,
VideoEncoder = this.VideoEncoder,
X264Options = this.X264Options,
X264Profile = this.X264Profile,
X264Preset = this.X264Preset,
X264Tune = this.X264Tune,
VideoEncodeRateType = this.VideoEncodeRateType,
Quality = this.Quality,
TargetSize = this.TargetSize,
VideoBitrate = this.VideoBitrate,
TwoPass = this.TwoPass,
TurboFirstPass = this.TurboFirstPass,
Framerate = this.Framerate,
ConstantFramerate = this.ConstantFramerate,
PeakFramerate = this.PeakFramerate,
AudioEncodings = new List<AudioEncoding>(this.AudioEncodings)
};
return profile;
}
}
}
|