aws_sdk_mediaconvert/types/_vp9_settings.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// Required when you set Codec to the value VP9.
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct Vp9Settings {
7 /// Target bitrate in bits/second. For example, enter five megabits per second as 5000000.
8 pub bitrate: ::std::option::Option<i32>,
9 /// If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction.
10 pub framerate_control: ::std::option::Option<crate::types::Vp9FramerateControl>,
11 /// Choose the method that you want MediaConvert to use when increasing or decreasing your video's frame rate. For numerically simple conversions, such as 60 fps to 30 fps: We recommend that you keep the default value, Drop duplicate. For numerically complex conversions, to avoid stutter: Choose Interpolate. This results in a smooth picture, but might introduce undesirable video artifacts. For complex frame rate conversions, especially if your source video has already been converted from its original cadence: Choose FrameFormer to do motion-compensated interpolation. FrameFormer uses the best conversion method frame by frame. Note that using FrameFormer increases the transcoding time and incurs a significant add-on cost. When you choose FrameFormer, your input video resolution must be at least 128x96. To create an output with the same number of frames as your input: Choose Maintain frame count. When you do, MediaConvert will not drop, interpolate, add, or otherwise change the frame count from your input to your output. Note that since the frame count is maintained, the duration of your output will become shorter at higher frame rates and longer at lower frame rates.
12 pub framerate_conversion_algorithm: ::std::option::Option<crate::types::Vp9FramerateConversionAlgorithm>,
13 /// When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976.
14 pub framerate_denominator: ::std::option::Option<i32>,
15 /// When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976.
16 pub framerate_numerator: ::std::option::Option<i32>,
17 /// GOP Length (keyframe interval) in frames. Must be greater than zero.
18 pub gop_size: ::std::option::Option<f64>,
19 /// Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000.
20 pub hrd_buffer_size: ::std::option::Option<i32>,
21 /// Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional. Specify the maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. The default behavior uses twice the target bitrate as the maximum bitrate.
22 pub max_bitrate: ::std::option::Option<i32>,
23 /// Optional. Specify how the service determines the pixel aspect ratio for this output. The default behavior is to use the same pixel aspect ratio as your input video.
24 pub par_control: ::std::option::Option<crate::types::Vp9ParControl>,
25 /// Required when you set Pixel aspect ratio to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33.
26 pub par_denominator: ::std::option::Option<i32>,
27 /// Required when you set Pixel aspect ratio to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40.
28 pub par_numerator: ::std::option::Option<i32>,
29 /// Optional. Use Quality tuning level to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, multi-pass encoding.
30 pub quality_tuning_level: ::std::option::Option<crate::types::Vp9QualityTuningLevel>,
31 /// With the VP9 codec, you can use only the variable bitrate (VBR) rate control mode.
32 pub rate_control_mode: ::std::option::Option<crate::types::Vp9RateControlMode>,
33}
34impl Vp9Settings {
35 /// Target bitrate in bits/second. For example, enter five megabits per second as 5000000.
36 pub fn bitrate(&self) -> ::std::option::Option<i32> {
37 self.bitrate
38 }
39 /// If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction.
40 pub fn framerate_control(&self) -> ::std::option::Option<&crate::types::Vp9FramerateControl> {
41 self.framerate_control.as_ref()
42 }
43 /// Choose the method that you want MediaConvert to use when increasing or decreasing your video's frame rate. For numerically simple conversions, such as 60 fps to 30 fps: We recommend that you keep the default value, Drop duplicate. For numerically complex conversions, to avoid stutter: Choose Interpolate. This results in a smooth picture, but might introduce undesirable video artifacts. For complex frame rate conversions, especially if your source video has already been converted from its original cadence: Choose FrameFormer to do motion-compensated interpolation. FrameFormer uses the best conversion method frame by frame. Note that using FrameFormer increases the transcoding time and incurs a significant add-on cost. When you choose FrameFormer, your input video resolution must be at least 128x96. To create an output with the same number of frames as your input: Choose Maintain frame count. When you do, MediaConvert will not drop, interpolate, add, or otherwise change the frame count from your input to your output. Note that since the frame count is maintained, the duration of your output will become shorter at higher frame rates and longer at lower frame rates.
44 pub fn framerate_conversion_algorithm(&self) -> ::std::option::Option<&crate::types::Vp9FramerateConversionAlgorithm> {
45 self.framerate_conversion_algorithm.as_ref()
46 }
47 /// When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976.
48 pub fn framerate_denominator(&self) -> ::std::option::Option<i32> {
49 self.framerate_denominator
50 }
51 /// When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976.
52 pub fn framerate_numerator(&self) -> ::std::option::Option<i32> {
53 self.framerate_numerator
54 }
55 /// GOP Length (keyframe interval) in frames. Must be greater than zero.
56 pub fn gop_size(&self) -> ::std::option::Option<f64> {
57 self.gop_size
58 }
59 /// Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000.
60 pub fn hrd_buffer_size(&self) -> ::std::option::Option<i32> {
61 self.hrd_buffer_size
62 }
63 /// Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional. Specify the maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. The default behavior uses twice the target bitrate as the maximum bitrate.
64 pub fn max_bitrate(&self) -> ::std::option::Option<i32> {
65 self.max_bitrate
66 }
67 /// Optional. Specify how the service determines the pixel aspect ratio for this output. The default behavior is to use the same pixel aspect ratio as your input video.
68 pub fn par_control(&self) -> ::std::option::Option<&crate::types::Vp9ParControl> {
69 self.par_control.as_ref()
70 }
71 /// Required when you set Pixel aspect ratio to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33.
72 pub fn par_denominator(&self) -> ::std::option::Option<i32> {
73 self.par_denominator
74 }
75 /// Required when you set Pixel aspect ratio to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40.
76 pub fn par_numerator(&self) -> ::std::option::Option<i32> {
77 self.par_numerator
78 }
79 /// Optional. Use Quality tuning level to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, multi-pass encoding.
80 pub fn quality_tuning_level(&self) -> ::std::option::Option<&crate::types::Vp9QualityTuningLevel> {
81 self.quality_tuning_level.as_ref()
82 }
83 /// With the VP9 codec, you can use only the variable bitrate (VBR) rate control mode.
84 pub fn rate_control_mode(&self) -> ::std::option::Option<&crate::types::Vp9RateControlMode> {
85 self.rate_control_mode.as_ref()
86 }
87}
88impl Vp9Settings {
89 /// Creates a new builder-style object to manufacture [`Vp9Settings`](crate::types::Vp9Settings).
90 pub fn builder() -> crate::types::builders::Vp9SettingsBuilder {
91 crate::types::builders::Vp9SettingsBuilder::default()
92 }
93}
94
95/// A builder for [`Vp9Settings`](crate::types::Vp9Settings).
96#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
97#[non_exhaustive]
98pub struct Vp9SettingsBuilder {
99 pub(crate) bitrate: ::std::option::Option<i32>,
100 pub(crate) framerate_control: ::std::option::Option<crate::types::Vp9FramerateControl>,
101 pub(crate) framerate_conversion_algorithm: ::std::option::Option<crate::types::Vp9FramerateConversionAlgorithm>,
102 pub(crate) framerate_denominator: ::std::option::Option<i32>,
103 pub(crate) framerate_numerator: ::std::option::Option<i32>,
104 pub(crate) gop_size: ::std::option::Option<f64>,
105 pub(crate) hrd_buffer_size: ::std::option::Option<i32>,
106 pub(crate) max_bitrate: ::std::option::Option<i32>,
107 pub(crate) par_control: ::std::option::Option<crate::types::Vp9ParControl>,
108 pub(crate) par_denominator: ::std::option::Option<i32>,
109 pub(crate) par_numerator: ::std::option::Option<i32>,
110 pub(crate) quality_tuning_level: ::std::option::Option<crate::types::Vp9QualityTuningLevel>,
111 pub(crate) rate_control_mode: ::std::option::Option<crate::types::Vp9RateControlMode>,
112}
113impl Vp9SettingsBuilder {
114 /// Target bitrate in bits/second. For example, enter five megabits per second as 5000000.
115 pub fn bitrate(mut self, input: i32) -> Self {
116 self.bitrate = ::std::option::Option::Some(input);
117 self
118 }
119 /// Target bitrate in bits/second. For example, enter five megabits per second as 5000000.
120 pub fn set_bitrate(mut self, input: ::std::option::Option<i32>) -> Self {
121 self.bitrate = input;
122 self
123 }
124 /// Target bitrate in bits/second. For example, enter five megabits per second as 5000000.
125 pub fn get_bitrate(&self) -> &::std::option::Option<i32> {
126 &self.bitrate
127 }
128 /// If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction.
129 pub fn framerate_control(mut self, input: crate::types::Vp9FramerateControl) -> Self {
130 self.framerate_control = ::std::option::Option::Some(input);
131 self
132 }
133 /// If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction.
134 pub fn set_framerate_control(mut self, input: ::std::option::Option<crate::types::Vp9FramerateControl>) -> Self {
135 self.framerate_control = input;
136 self
137 }
138 /// If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction.
139 pub fn get_framerate_control(&self) -> &::std::option::Option<crate::types::Vp9FramerateControl> {
140 &self.framerate_control
141 }
142 /// Choose the method that you want MediaConvert to use when increasing or decreasing your video's frame rate. For numerically simple conversions, such as 60 fps to 30 fps: We recommend that you keep the default value, Drop duplicate. For numerically complex conversions, to avoid stutter: Choose Interpolate. This results in a smooth picture, but might introduce undesirable video artifacts. For complex frame rate conversions, especially if your source video has already been converted from its original cadence: Choose FrameFormer to do motion-compensated interpolation. FrameFormer uses the best conversion method frame by frame. Note that using FrameFormer increases the transcoding time and incurs a significant add-on cost. When you choose FrameFormer, your input video resolution must be at least 128x96. To create an output with the same number of frames as your input: Choose Maintain frame count. When you do, MediaConvert will not drop, interpolate, add, or otherwise change the frame count from your input to your output. Note that since the frame count is maintained, the duration of your output will become shorter at higher frame rates and longer at lower frame rates.
143 pub fn framerate_conversion_algorithm(mut self, input: crate::types::Vp9FramerateConversionAlgorithm) -> Self {
144 self.framerate_conversion_algorithm = ::std::option::Option::Some(input);
145 self
146 }
147 /// Choose the method that you want MediaConvert to use when increasing or decreasing your video's frame rate. For numerically simple conversions, such as 60 fps to 30 fps: We recommend that you keep the default value, Drop duplicate. For numerically complex conversions, to avoid stutter: Choose Interpolate. This results in a smooth picture, but might introduce undesirable video artifacts. For complex frame rate conversions, especially if your source video has already been converted from its original cadence: Choose FrameFormer to do motion-compensated interpolation. FrameFormer uses the best conversion method frame by frame. Note that using FrameFormer increases the transcoding time and incurs a significant add-on cost. When you choose FrameFormer, your input video resolution must be at least 128x96. To create an output with the same number of frames as your input: Choose Maintain frame count. When you do, MediaConvert will not drop, interpolate, add, or otherwise change the frame count from your input to your output. Note that since the frame count is maintained, the duration of your output will become shorter at higher frame rates and longer at lower frame rates.
148 pub fn set_framerate_conversion_algorithm(mut self, input: ::std::option::Option<crate::types::Vp9FramerateConversionAlgorithm>) -> Self {
149 self.framerate_conversion_algorithm = input;
150 self
151 }
152 /// Choose the method that you want MediaConvert to use when increasing or decreasing your video's frame rate. For numerically simple conversions, such as 60 fps to 30 fps: We recommend that you keep the default value, Drop duplicate. For numerically complex conversions, to avoid stutter: Choose Interpolate. This results in a smooth picture, but might introduce undesirable video artifacts. For complex frame rate conversions, especially if your source video has already been converted from its original cadence: Choose FrameFormer to do motion-compensated interpolation. FrameFormer uses the best conversion method frame by frame. Note that using FrameFormer increases the transcoding time and incurs a significant add-on cost. When you choose FrameFormer, your input video resolution must be at least 128x96. To create an output with the same number of frames as your input: Choose Maintain frame count. When you do, MediaConvert will not drop, interpolate, add, or otherwise change the frame count from your input to your output. Note that since the frame count is maintained, the duration of your output will become shorter at higher frame rates and longer at lower frame rates.
153 pub fn get_framerate_conversion_algorithm(&self) -> &::std::option::Option<crate::types::Vp9FramerateConversionAlgorithm> {
154 &self.framerate_conversion_algorithm
155 }
156 /// When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976.
157 pub fn framerate_denominator(mut self, input: i32) -> Self {
158 self.framerate_denominator = ::std::option::Option::Some(input);
159 self
160 }
161 /// When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976.
162 pub fn set_framerate_denominator(mut self, input: ::std::option::Option<i32>) -> Self {
163 self.framerate_denominator = input;
164 self
165 }
166 /// When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976.
167 pub fn get_framerate_denominator(&self) -> &::std::option::Option<i32> {
168 &self.framerate_denominator
169 }
170 /// When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976.
171 pub fn framerate_numerator(mut self, input: i32) -> Self {
172 self.framerate_numerator = ::std::option::Option::Some(input);
173 self
174 }
175 /// When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976.
176 pub fn set_framerate_numerator(mut self, input: ::std::option::Option<i32>) -> Self {
177 self.framerate_numerator = input;
178 self
179 }
180 /// When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976.
181 pub fn get_framerate_numerator(&self) -> &::std::option::Option<i32> {
182 &self.framerate_numerator
183 }
184 /// GOP Length (keyframe interval) in frames. Must be greater than zero.
185 pub fn gop_size(mut self, input: f64) -> Self {
186 self.gop_size = ::std::option::Option::Some(input);
187 self
188 }
189 /// GOP Length (keyframe interval) in frames. Must be greater than zero.
190 pub fn set_gop_size(mut self, input: ::std::option::Option<f64>) -> Self {
191 self.gop_size = input;
192 self
193 }
194 /// GOP Length (keyframe interval) in frames. Must be greater than zero.
195 pub fn get_gop_size(&self) -> &::std::option::Option<f64> {
196 &self.gop_size
197 }
198 /// Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000.
199 pub fn hrd_buffer_size(mut self, input: i32) -> Self {
200 self.hrd_buffer_size = ::std::option::Option::Some(input);
201 self
202 }
203 /// Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000.
204 pub fn set_hrd_buffer_size(mut self, input: ::std::option::Option<i32>) -> Self {
205 self.hrd_buffer_size = input;
206 self
207 }
208 /// Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000.
209 pub fn get_hrd_buffer_size(&self) -> &::std::option::Option<i32> {
210 &self.hrd_buffer_size
211 }
212 /// Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional. Specify the maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. The default behavior uses twice the target bitrate as the maximum bitrate.
213 pub fn max_bitrate(mut self, input: i32) -> Self {
214 self.max_bitrate = ::std::option::Option::Some(input);
215 self
216 }
217 /// Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional. Specify the maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. The default behavior uses twice the target bitrate as the maximum bitrate.
218 pub fn set_max_bitrate(mut self, input: ::std::option::Option<i32>) -> Self {
219 self.max_bitrate = input;
220 self
221 }
222 /// Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional. Specify the maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. The default behavior uses twice the target bitrate as the maximum bitrate.
223 pub fn get_max_bitrate(&self) -> &::std::option::Option<i32> {
224 &self.max_bitrate
225 }
226 /// Optional. Specify how the service determines the pixel aspect ratio for this output. The default behavior is to use the same pixel aspect ratio as your input video.
227 pub fn par_control(mut self, input: crate::types::Vp9ParControl) -> Self {
228 self.par_control = ::std::option::Option::Some(input);
229 self
230 }
231 /// Optional. Specify how the service determines the pixel aspect ratio for this output. The default behavior is to use the same pixel aspect ratio as your input video.
232 pub fn set_par_control(mut self, input: ::std::option::Option<crate::types::Vp9ParControl>) -> Self {
233 self.par_control = input;
234 self
235 }
236 /// Optional. Specify how the service determines the pixel aspect ratio for this output. The default behavior is to use the same pixel aspect ratio as your input video.
237 pub fn get_par_control(&self) -> &::std::option::Option<crate::types::Vp9ParControl> {
238 &self.par_control
239 }
240 /// Required when you set Pixel aspect ratio to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33.
241 pub fn par_denominator(mut self, input: i32) -> Self {
242 self.par_denominator = ::std::option::Option::Some(input);
243 self
244 }
245 /// Required when you set Pixel aspect ratio to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33.
246 pub fn set_par_denominator(mut self, input: ::std::option::Option<i32>) -> Self {
247 self.par_denominator = input;
248 self
249 }
250 /// Required when you set Pixel aspect ratio to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parDenominator is 33.
251 pub fn get_par_denominator(&self) -> &::std::option::Option<i32> {
252 &self.par_denominator
253 }
254 /// Required when you set Pixel aspect ratio to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40.
255 pub fn par_numerator(mut self, input: i32) -> Self {
256 self.par_numerator = ::std::option::Option::Some(input);
257 self
258 }
259 /// Required when you set Pixel aspect ratio to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40.
260 pub fn set_par_numerator(mut self, input: ::std::option::Option<i32>) -> Self {
261 self.par_numerator = input;
262 self
263 }
264 /// Required when you set Pixel aspect ratio to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40.
265 pub fn get_par_numerator(&self) -> &::std::option::Option<i32> {
266 &self.par_numerator
267 }
268 /// Optional. Use Quality tuning level to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, multi-pass encoding.
269 pub fn quality_tuning_level(mut self, input: crate::types::Vp9QualityTuningLevel) -> Self {
270 self.quality_tuning_level = ::std::option::Option::Some(input);
271 self
272 }
273 /// Optional. Use Quality tuning level to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, multi-pass encoding.
274 pub fn set_quality_tuning_level(mut self, input: ::std::option::Option<crate::types::Vp9QualityTuningLevel>) -> Self {
275 self.quality_tuning_level = input;
276 self
277 }
278 /// Optional. Use Quality tuning level to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, multi-pass encoding.
279 pub fn get_quality_tuning_level(&self) -> &::std::option::Option<crate::types::Vp9QualityTuningLevel> {
280 &self.quality_tuning_level
281 }
282 /// With the VP9 codec, you can use only the variable bitrate (VBR) rate control mode.
283 pub fn rate_control_mode(mut self, input: crate::types::Vp9RateControlMode) -> Self {
284 self.rate_control_mode = ::std::option::Option::Some(input);
285 self
286 }
287 /// With the VP9 codec, you can use only the variable bitrate (VBR) rate control mode.
288 pub fn set_rate_control_mode(mut self, input: ::std::option::Option<crate::types::Vp9RateControlMode>) -> Self {
289 self.rate_control_mode = input;
290 self
291 }
292 /// With the VP9 codec, you can use only the variable bitrate (VBR) rate control mode.
293 pub fn get_rate_control_mode(&self) -> &::std::option::Option<crate::types::Vp9RateControlMode> {
294 &self.rate_control_mode
295 }
296 /// Consumes the builder and constructs a [`Vp9Settings`](crate::types::Vp9Settings).
297 pub fn build(self) -> crate::types::Vp9Settings {
298 crate::types::Vp9Settings {
299 bitrate: self.bitrate,
300 framerate_control: self.framerate_control,
301 framerate_conversion_algorithm: self.framerate_conversion_algorithm,
302 framerate_denominator: self.framerate_denominator,
303 framerate_numerator: self.framerate_numerator,
304 gop_size: self.gop_size,
305 hrd_buffer_size: self.hrd_buffer_size,
306 max_bitrate: self.max_bitrate,
307 par_control: self.par_control,
308 par_denominator: self.par_denominator,
309 par_numerator: self.par_numerator,
310 quality_tuning_level: self.quality_tuning_level,
311 rate_control_mode: self.rate_control_mode,
312 }
313 }
314}