1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/mediaconvert/MediaConvert_EXPORTS.h> 8 #include <aws/mediaconvert/model/ProresChromaSampling.h> 9 #include <aws/mediaconvert/model/ProresCodecProfile.h> 10 #include <aws/mediaconvert/model/ProresFramerateControl.h> 11 #include <aws/mediaconvert/model/ProresFramerateConversionAlgorithm.h> 12 #include <aws/mediaconvert/model/ProresInterlaceMode.h> 13 #include <aws/mediaconvert/model/ProresParControl.h> 14 #include <aws/mediaconvert/model/ProresScanTypeConversionMode.h> 15 #include <aws/mediaconvert/model/ProresSlowPal.h> 16 #include <aws/mediaconvert/model/ProresTelecine.h> 17 #include <utility> 18 19 namespace Aws 20 { 21 namespace Utils 22 { 23 namespace Json 24 { 25 class JsonValue; 26 class JsonView; 27 } // namespace Json 28 } // namespace Utils 29 namespace MediaConvert 30 { 31 namespace Model 32 { 33 34 /** 35 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 36 * value PRORES.<p><h3>See Also:</h3> <a 37 * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/ProresSettings">AWS 38 * API Reference</a></p> 39 */ 40 class AWS_MEDIACONVERT_API ProresSettings 41 { 42 public: 43 ProresSettings(); 44 ProresSettings(Aws::Utils::Json::JsonView jsonValue); 45 ProresSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 46 Aws::Utils::Json::JsonValue Jsonize() const; 47 48 49 /** 50 * This setting applies only to ProRes 4444 and ProRes 4444 XQ outputs that you 51 * create from inputs that use 4:4:4 chroma sampling. Set Preserve 4:4:4 sampling 52 * (PRESERVE_444_SAMPLING) to allow outputs to also use 4:4:4 chroma sampling. You 53 * must specify a value for this setting when your output codec profile supports 54 * 4:4:4 chroma sampling. Related Settings: When you set Chroma sampling to 55 * Preserve 4:4:4 sampling (PRESERVE_444_SAMPLING), you must choose an output codec 56 * profile that supports 4:4:4 chroma sampling. These values for Profile 57 * (CodecProfile) support 4:4:4 chroma sampling: Apple ProRes 4444 58 * (APPLE_PRORES_4444) or Apple ProRes 4444 XQ (APPLE_PRORES_4444_XQ). When you set 59 * Chroma sampling to Preserve 4:4:4 sampling, you must disable all video 60 * preprocessors except for Nexguard file marker (PartnerWatermarking). When you 61 * set Chroma sampling to Preserve 4:4:4 sampling and use framerate conversion, you 62 * must set Frame rate conversion algorithm (FramerateConversionAlgorithm) to Drop 63 * duplicate (DUPLICATE_DROP). 64 */ GetChromaSampling()65 inline const ProresChromaSampling& GetChromaSampling() const{ return m_chromaSampling; } 66 67 /** 68 * This setting applies only to ProRes 4444 and ProRes 4444 XQ outputs that you 69 * create from inputs that use 4:4:4 chroma sampling. Set Preserve 4:4:4 sampling 70 * (PRESERVE_444_SAMPLING) to allow outputs to also use 4:4:4 chroma sampling. You 71 * must specify a value for this setting when your output codec profile supports 72 * 4:4:4 chroma sampling. Related Settings: When you set Chroma sampling to 73 * Preserve 4:4:4 sampling (PRESERVE_444_SAMPLING), you must choose an output codec 74 * profile that supports 4:4:4 chroma sampling. These values for Profile 75 * (CodecProfile) support 4:4:4 chroma sampling: Apple ProRes 4444 76 * (APPLE_PRORES_4444) or Apple ProRes 4444 XQ (APPLE_PRORES_4444_XQ). When you set 77 * Chroma sampling to Preserve 4:4:4 sampling, you must disable all video 78 * preprocessors except for Nexguard file marker (PartnerWatermarking). When you 79 * set Chroma sampling to Preserve 4:4:4 sampling and use framerate conversion, you 80 * must set Frame rate conversion algorithm (FramerateConversionAlgorithm) to Drop 81 * duplicate (DUPLICATE_DROP). 82 */ ChromaSamplingHasBeenSet()83 inline bool ChromaSamplingHasBeenSet() const { return m_chromaSamplingHasBeenSet; } 84 85 /** 86 * This setting applies only to ProRes 4444 and ProRes 4444 XQ outputs that you 87 * create from inputs that use 4:4:4 chroma sampling. Set Preserve 4:4:4 sampling 88 * (PRESERVE_444_SAMPLING) to allow outputs to also use 4:4:4 chroma sampling. You 89 * must specify a value for this setting when your output codec profile supports 90 * 4:4:4 chroma sampling. Related Settings: When you set Chroma sampling to 91 * Preserve 4:4:4 sampling (PRESERVE_444_SAMPLING), you must choose an output codec 92 * profile that supports 4:4:4 chroma sampling. These values for Profile 93 * (CodecProfile) support 4:4:4 chroma sampling: Apple ProRes 4444 94 * (APPLE_PRORES_4444) or Apple ProRes 4444 XQ (APPLE_PRORES_4444_XQ). When you set 95 * Chroma sampling to Preserve 4:4:4 sampling, you must disable all video 96 * preprocessors except for Nexguard file marker (PartnerWatermarking). When you 97 * set Chroma sampling to Preserve 4:4:4 sampling and use framerate conversion, you 98 * must set Frame rate conversion algorithm (FramerateConversionAlgorithm) to Drop 99 * duplicate (DUPLICATE_DROP). 100 */ SetChromaSampling(const ProresChromaSampling & value)101 inline void SetChromaSampling(const ProresChromaSampling& value) { m_chromaSamplingHasBeenSet = true; m_chromaSampling = value; } 102 103 /** 104 * This setting applies only to ProRes 4444 and ProRes 4444 XQ outputs that you 105 * create from inputs that use 4:4:4 chroma sampling. Set Preserve 4:4:4 sampling 106 * (PRESERVE_444_SAMPLING) to allow outputs to also use 4:4:4 chroma sampling. You 107 * must specify a value for this setting when your output codec profile supports 108 * 4:4:4 chroma sampling. Related Settings: When you set Chroma sampling to 109 * Preserve 4:4:4 sampling (PRESERVE_444_SAMPLING), you must choose an output codec 110 * profile that supports 4:4:4 chroma sampling. These values for Profile 111 * (CodecProfile) support 4:4:4 chroma sampling: Apple ProRes 4444 112 * (APPLE_PRORES_4444) or Apple ProRes 4444 XQ (APPLE_PRORES_4444_XQ). When you set 113 * Chroma sampling to Preserve 4:4:4 sampling, you must disable all video 114 * preprocessors except for Nexguard file marker (PartnerWatermarking). When you 115 * set Chroma sampling to Preserve 4:4:4 sampling and use framerate conversion, you 116 * must set Frame rate conversion algorithm (FramerateConversionAlgorithm) to Drop 117 * duplicate (DUPLICATE_DROP). 118 */ SetChromaSampling(ProresChromaSampling && value)119 inline void SetChromaSampling(ProresChromaSampling&& value) { m_chromaSamplingHasBeenSet = true; m_chromaSampling = std::move(value); } 120 121 /** 122 * This setting applies only to ProRes 4444 and ProRes 4444 XQ outputs that you 123 * create from inputs that use 4:4:4 chroma sampling. Set Preserve 4:4:4 sampling 124 * (PRESERVE_444_SAMPLING) to allow outputs to also use 4:4:4 chroma sampling. You 125 * must specify a value for this setting when your output codec profile supports 126 * 4:4:4 chroma sampling. Related Settings: When you set Chroma sampling to 127 * Preserve 4:4:4 sampling (PRESERVE_444_SAMPLING), you must choose an output codec 128 * profile that supports 4:4:4 chroma sampling. These values for Profile 129 * (CodecProfile) support 4:4:4 chroma sampling: Apple ProRes 4444 130 * (APPLE_PRORES_4444) or Apple ProRes 4444 XQ (APPLE_PRORES_4444_XQ). When you set 131 * Chroma sampling to Preserve 4:4:4 sampling, you must disable all video 132 * preprocessors except for Nexguard file marker (PartnerWatermarking). When you 133 * set Chroma sampling to Preserve 4:4:4 sampling and use framerate conversion, you 134 * must set Frame rate conversion algorithm (FramerateConversionAlgorithm) to Drop 135 * duplicate (DUPLICATE_DROP). 136 */ WithChromaSampling(const ProresChromaSampling & value)137 inline ProresSettings& WithChromaSampling(const ProresChromaSampling& value) { SetChromaSampling(value); return *this;} 138 139 /** 140 * This setting applies only to ProRes 4444 and ProRes 4444 XQ outputs that you 141 * create from inputs that use 4:4:4 chroma sampling. Set Preserve 4:4:4 sampling 142 * (PRESERVE_444_SAMPLING) to allow outputs to also use 4:4:4 chroma sampling. You 143 * must specify a value for this setting when your output codec profile supports 144 * 4:4:4 chroma sampling. Related Settings: When you set Chroma sampling to 145 * Preserve 4:4:4 sampling (PRESERVE_444_SAMPLING), you must choose an output codec 146 * profile that supports 4:4:4 chroma sampling. These values for Profile 147 * (CodecProfile) support 4:4:4 chroma sampling: Apple ProRes 4444 148 * (APPLE_PRORES_4444) or Apple ProRes 4444 XQ (APPLE_PRORES_4444_XQ). When you set 149 * Chroma sampling to Preserve 4:4:4 sampling, you must disable all video 150 * preprocessors except for Nexguard file marker (PartnerWatermarking). When you 151 * set Chroma sampling to Preserve 4:4:4 sampling and use framerate conversion, you 152 * must set Frame rate conversion algorithm (FramerateConversionAlgorithm) to Drop 153 * duplicate (DUPLICATE_DROP). 154 */ WithChromaSampling(ProresChromaSampling && value)155 inline ProresSettings& WithChromaSampling(ProresChromaSampling&& value) { SetChromaSampling(std::move(value)); return *this;} 156 157 158 /** 159 * Use Profile (ProResCodecProfile) to specify the type of Apple ProRes codec to 160 * use for this output. 161 */ GetCodecProfile()162 inline const ProresCodecProfile& GetCodecProfile() const{ return m_codecProfile; } 163 164 /** 165 * Use Profile (ProResCodecProfile) to specify the type of Apple ProRes codec to 166 * use for this output. 167 */ CodecProfileHasBeenSet()168 inline bool CodecProfileHasBeenSet() const { return m_codecProfileHasBeenSet; } 169 170 /** 171 * Use Profile (ProResCodecProfile) to specify the type of Apple ProRes codec to 172 * use for this output. 173 */ SetCodecProfile(const ProresCodecProfile & value)174 inline void SetCodecProfile(const ProresCodecProfile& value) { m_codecProfileHasBeenSet = true; m_codecProfile = value; } 175 176 /** 177 * Use Profile (ProResCodecProfile) to specify the type of Apple ProRes codec to 178 * use for this output. 179 */ SetCodecProfile(ProresCodecProfile && value)180 inline void SetCodecProfile(ProresCodecProfile&& value) { m_codecProfileHasBeenSet = true; m_codecProfile = std::move(value); } 181 182 /** 183 * Use Profile (ProResCodecProfile) to specify the type of Apple ProRes codec to 184 * use for this output. 185 */ WithCodecProfile(const ProresCodecProfile & value)186 inline ProresSettings& WithCodecProfile(const ProresCodecProfile& value) { SetCodecProfile(value); return *this;} 187 188 /** 189 * Use Profile (ProResCodecProfile) to specify the type of Apple ProRes codec to 190 * use for this output. 191 */ WithCodecProfile(ProresCodecProfile && value)192 inline ProresSettings& WithCodecProfile(ProresCodecProfile&& value) { SetCodecProfile(std::move(value)); return *this;} 193 194 195 /** 196 * If you are using the console, use the Framerate setting to specify the frame 197 * rate for this output. If you want to keep the same frame rate as the input 198 * video, choose Follow source. If you want to do frame rate conversion, choose a 199 * frame rate from the dropdown list or choose Custom. The framerates shown in the 200 * dropdown list are decimal approximations of fractions. If you choose Custom, 201 * specify your frame rate as a fraction. If you are creating your transcoding job 202 * specification as a JSON file without the console, use FramerateControl to 203 * specify which value the service uses for the frame rate for this output. Choose 204 * INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the 205 * input. Choose SPECIFIED if you want the service to use the frame rate you 206 * specify in the settings FramerateNumerator and FramerateDenominator. 207 */ GetFramerateControl()208 inline const ProresFramerateControl& GetFramerateControl() const{ return m_framerateControl; } 209 210 /** 211 * If you are using the console, use the Framerate setting to specify the frame 212 * rate for this output. If you want to keep the same frame rate as the input 213 * video, choose Follow source. If you want to do frame rate conversion, choose a 214 * frame rate from the dropdown list or choose Custom. The framerates shown in the 215 * dropdown list are decimal approximations of fractions. If you choose Custom, 216 * specify your frame rate as a fraction. If you are creating your transcoding job 217 * specification as a JSON file without the console, use FramerateControl to 218 * specify which value the service uses for the frame rate for this output. Choose 219 * INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the 220 * input. Choose SPECIFIED if you want the service to use the frame rate you 221 * specify in the settings FramerateNumerator and FramerateDenominator. 222 */ FramerateControlHasBeenSet()223 inline bool FramerateControlHasBeenSet() const { return m_framerateControlHasBeenSet; } 224 225 /** 226 * If you are using the console, use the Framerate setting to specify the frame 227 * rate for this output. If you want to keep the same frame rate as the input 228 * video, choose Follow source. If you want to do frame rate conversion, choose a 229 * frame rate from the dropdown list or choose Custom. The framerates shown in the 230 * dropdown list are decimal approximations of fractions. If you choose Custom, 231 * specify your frame rate as a fraction. If you are creating your transcoding job 232 * specification as a JSON file without the console, use FramerateControl to 233 * specify which value the service uses for the frame rate for this output. Choose 234 * INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the 235 * input. Choose SPECIFIED if you want the service to use the frame rate you 236 * specify in the settings FramerateNumerator and FramerateDenominator. 237 */ SetFramerateControl(const ProresFramerateControl & value)238 inline void SetFramerateControl(const ProresFramerateControl& value) { m_framerateControlHasBeenSet = true; m_framerateControl = value; } 239 240 /** 241 * If you are using the console, use the Framerate setting to specify the frame 242 * rate for this output. If you want to keep the same frame rate as the input 243 * video, choose Follow source. If you want to do frame rate conversion, choose a 244 * frame rate from the dropdown list or choose Custom. The framerates shown in the 245 * dropdown list are decimal approximations of fractions. If you choose Custom, 246 * specify your frame rate as a fraction. If you are creating your transcoding job 247 * specification as a JSON file without the console, use FramerateControl to 248 * specify which value the service uses for the frame rate for this output. Choose 249 * INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the 250 * input. Choose SPECIFIED if you want the service to use the frame rate you 251 * specify in the settings FramerateNumerator and FramerateDenominator. 252 */ SetFramerateControl(ProresFramerateControl && value)253 inline void SetFramerateControl(ProresFramerateControl&& value) { m_framerateControlHasBeenSet = true; m_framerateControl = std::move(value); } 254 255 /** 256 * If you are using the console, use the Framerate setting to specify the frame 257 * rate for this output. If you want to keep the same frame rate as the input 258 * video, choose Follow source. If you want to do frame rate conversion, choose a 259 * frame rate from the dropdown list or choose Custom. The framerates shown in the 260 * dropdown list are decimal approximations of fractions. If you choose Custom, 261 * specify your frame rate as a fraction. If you are creating your transcoding job 262 * specification as a JSON file without the console, use FramerateControl to 263 * specify which value the service uses for the frame rate for this output. Choose 264 * INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the 265 * input. Choose SPECIFIED if you want the service to use the frame rate you 266 * specify in the settings FramerateNumerator and FramerateDenominator. 267 */ WithFramerateControl(const ProresFramerateControl & value)268 inline ProresSettings& WithFramerateControl(const ProresFramerateControl& value) { SetFramerateControl(value); return *this;} 269 270 /** 271 * If you are using the console, use the Framerate setting to specify the frame 272 * rate for this output. If you want to keep the same frame rate as the input 273 * video, choose Follow source. If you want to do frame rate conversion, choose a 274 * frame rate from the dropdown list or choose Custom. The framerates shown in the 275 * dropdown list are decimal approximations of fractions. If you choose Custom, 276 * specify your frame rate as a fraction. If you are creating your transcoding job 277 * specification as a JSON file without the console, use FramerateControl to 278 * specify which value the service uses for the frame rate for this output. Choose 279 * INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the 280 * input. Choose SPECIFIED if you want the service to use the frame rate you 281 * specify in the settings FramerateNumerator and FramerateDenominator. 282 */ WithFramerateControl(ProresFramerateControl && value)283 inline ProresSettings& WithFramerateControl(ProresFramerateControl&& value) { SetFramerateControl(std::move(value)); return *this;} 284 285 286 /** 287 * Choose the method that you want MediaConvert to use when increasing or 288 * decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) 289 * for numerically simple conversions, such as 60 fps to 30 fps. For numerically 290 * complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. 291 * This results in a smooth picture, but might introduce undesirable video 292 * artifacts. For complex frame rate conversions, especially if your source video 293 * has already been converted from its original cadence, use FrameFormer 294 * (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the 295 * best conversion method frame by frame. Note that using FrameFormer increases the 296 * transcoding time and incurs a significant add-on cost. 297 */ GetFramerateConversionAlgorithm()298 inline const ProresFramerateConversionAlgorithm& GetFramerateConversionAlgorithm() const{ return m_framerateConversionAlgorithm; } 299 300 /** 301 * Choose the method that you want MediaConvert to use when increasing or 302 * decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) 303 * for numerically simple conversions, such as 60 fps to 30 fps. For numerically 304 * complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. 305 * This results in a smooth picture, but might introduce undesirable video 306 * artifacts. For complex frame rate conversions, especially if your source video 307 * has already been converted from its original cadence, use FrameFormer 308 * (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the 309 * best conversion method frame by frame. Note that using FrameFormer increases the 310 * transcoding time and incurs a significant add-on cost. 311 */ FramerateConversionAlgorithmHasBeenSet()312 inline bool FramerateConversionAlgorithmHasBeenSet() const { return m_framerateConversionAlgorithmHasBeenSet; } 313 314 /** 315 * Choose the method that you want MediaConvert to use when increasing or 316 * decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) 317 * for numerically simple conversions, such as 60 fps to 30 fps. For numerically 318 * complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. 319 * This results in a smooth picture, but might introduce undesirable video 320 * artifacts. For complex frame rate conversions, especially if your source video 321 * has already been converted from its original cadence, use FrameFormer 322 * (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the 323 * best conversion method frame by frame. Note that using FrameFormer increases the 324 * transcoding time and incurs a significant add-on cost. 325 */ SetFramerateConversionAlgorithm(const ProresFramerateConversionAlgorithm & value)326 inline void SetFramerateConversionAlgorithm(const ProresFramerateConversionAlgorithm& value) { m_framerateConversionAlgorithmHasBeenSet = true; m_framerateConversionAlgorithm = value; } 327 328 /** 329 * Choose the method that you want MediaConvert to use when increasing or 330 * decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) 331 * for numerically simple conversions, such as 60 fps to 30 fps. For numerically 332 * complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. 333 * This results in a smooth picture, but might introduce undesirable video 334 * artifacts. For complex frame rate conversions, especially if your source video 335 * has already been converted from its original cadence, use FrameFormer 336 * (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the 337 * best conversion method frame by frame. Note that using FrameFormer increases the 338 * transcoding time and incurs a significant add-on cost. 339 */ SetFramerateConversionAlgorithm(ProresFramerateConversionAlgorithm && value)340 inline void SetFramerateConversionAlgorithm(ProresFramerateConversionAlgorithm&& value) { m_framerateConversionAlgorithmHasBeenSet = true; m_framerateConversionAlgorithm = std::move(value); } 341 342 /** 343 * Choose the method that you want MediaConvert to use when increasing or 344 * decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) 345 * for numerically simple conversions, such as 60 fps to 30 fps. For numerically 346 * complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. 347 * This results in a smooth picture, but might introduce undesirable video 348 * artifacts. For complex frame rate conversions, especially if your source video 349 * has already been converted from its original cadence, use FrameFormer 350 * (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the 351 * best conversion method frame by frame. Note that using FrameFormer increases the 352 * transcoding time and incurs a significant add-on cost. 353 */ WithFramerateConversionAlgorithm(const ProresFramerateConversionAlgorithm & value)354 inline ProresSettings& WithFramerateConversionAlgorithm(const ProresFramerateConversionAlgorithm& value) { SetFramerateConversionAlgorithm(value); return *this;} 355 356 /** 357 * Choose the method that you want MediaConvert to use when increasing or 358 * decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) 359 * for numerically simple conversions, such as 60 fps to 30 fps. For numerically 360 * complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. 361 * This results in a smooth picture, but might introduce undesirable video 362 * artifacts. For complex frame rate conversions, especially if your source video 363 * has already been converted from its original cadence, use FrameFormer 364 * (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the 365 * best conversion method frame by frame. Note that using FrameFormer increases the 366 * transcoding time and incurs a significant add-on cost. 367 */ WithFramerateConversionAlgorithm(ProresFramerateConversionAlgorithm && value)368 inline ProresSettings& WithFramerateConversionAlgorithm(ProresFramerateConversionAlgorithm&& value) { SetFramerateConversionAlgorithm(std::move(value)); return *this;} 369 370 371 /** 372 * When you use the API for transcode jobs that use frame rate conversion, specify 373 * the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use 374 * FramerateDenominator to specify the denominator of this fraction. In this 375 * example, use 1001 for the value of FramerateDenominator. When you use the 376 * console for transcode jobs that use frame rate conversion, provide the value as 377 * a decimal number for Framerate. In this example, specify 23.976. 378 */ GetFramerateDenominator()379 inline int GetFramerateDenominator() const{ return m_framerateDenominator; } 380 381 /** 382 * When you use the API for transcode jobs that use frame rate conversion, specify 383 * the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use 384 * FramerateDenominator to specify the denominator of this fraction. In this 385 * example, use 1001 for the value of FramerateDenominator. When you use the 386 * console for transcode jobs that use frame rate conversion, provide the value as 387 * a decimal number for Framerate. In this example, specify 23.976. 388 */ FramerateDenominatorHasBeenSet()389 inline bool FramerateDenominatorHasBeenSet() const { return m_framerateDenominatorHasBeenSet; } 390 391 /** 392 * When you use the API for transcode jobs that use frame rate conversion, specify 393 * the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use 394 * FramerateDenominator to specify the denominator of this fraction. In this 395 * example, use 1001 for the value of FramerateDenominator. When you use the 396 * console for transcode jobs that use frame rate conversion, provide the value as 397 * a decimal number for Framerate. In this example, specify 23.976. 398 */ SetFramerateDenominator(int value)399 inline void SetFramerateDenominator(int value) { m_framerateDenominatorHasBeenSet = true; m_framerateDenominator = value; } 400 401 /** 402 * When you use the API for transcode jobs that use frame rate conversion, specify 403 * the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use 404 * FramerateDenominator to specify the denominator of this fraction. In this 405 * example, use 1001 for the value of FramerateDenominator. When you use the 406 * console for transcode jobs that use frame rate conversion, provide the value as 407 * a decimal number for Framerate. In this example, specify 23.976. 408 */ WithFramerateDenominator(int value)409 inline ProresSettings& WithFramerateDenominator(int value) { SetFramerateDenominator(value); return *this;} 410 411 412 /** 413 * When you use the API for transcode jobs that use frame rate conversion, specify 414 * the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use 415 * FramerateNumerator to specify the numerator of this fraction. In this example, 416 * use 24000 for the value of FramerateNumerator. When you use the console for 417 * transcode jobs that use frame rate conversion, provide the value as a decimal 418 * number for Framerate. In this example, specify 23.976. 419 */ GetFramerateNumerator()420 inline int GetFramerateNumerator() const{ return m_framerateNumerator; } 421 422 /** 423 * When you use the API for transcode jobs that use frame rate conversion, specify 424 * the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use 425 * FramerateNumerator to specify the numerator of this fraction. In this example, 426 * use 24000 for the value of FramerateNumerator. When you use the console for 427 * transcode jobs that use frame rate conversion, provide the value as a decimal 428 * number for Framerate. In this example, specify 23.976. 429 */ FramerateNumeratorHasBeenSet()430 inline bool FramerateNumeratorHasBeenSet() const { return m_framerateNumeratorHasBeenSet; } 431 432 /** 433 * When you use the API for transcode jobs that use frame rate conversion, specify 434 * the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use 435 * FramerateNumerator to specify the numerator of this fraction. In this example, 436 * use 24000 for the value of FramerateNumerator. When you use the console for 437 * transcode jobs that use frame rate conversion, provide the value as a decimal 438 * number for Framerate. In this example, specify 23.976. 439 */ SetFramerateNumerator(int value)440 inline void SetFramerateNumerator(int value) { m_framerateNumeratorHasBeenSet = true; m_framerateNumerator = value; } 441 442 /** 443 * When you use the API for transcode jobs that use frame rate conversion, specify 444 * the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use 445 * FramerateNumerator to specify the numerator of this fraction. In this example, 446 * use 24000 for the value of FramerateNumerator. When you use the console for 447 * transcode jobs that use frame rate conversion, provide the value as a decimal 448 * number for Framerate. In this example, specify 23.976. 449 */ WithFramerateNumerator(int value)450 inline ProresSettings& WithFramerateNumerator(int value) { SetFramerateNumerator(value); return *this;} 451 452 453 /** 454 * Choose the scan line type for the output. Keep the default value, Progressive 455 * (PROGRESSIVE) to create a progressive output, regardless of the scan type of 456 * your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD) 457 * to create an output that's interlaced with the same field polarity throughout. 458 * Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom 459 * (FOLLOW_BOTTOM_FIELD) to produce outputs with the same field polarity as the 460 * source. For jobs that have multiple inputs, the output field polarity might 461 * change over the course of the output. Follow behavior depends on the input scan 462 * type. If the source is interlaced, the output will be interlaced with the same 463 * polarity as the source. If the source is progressive, the output will be 464 * interlaced with top field bottom field first, depending on which of the Follow 465 * options you choose. 466 */ GetInterlaceMode()467 inline const ProresInterlaceMode& GetInterlaceMode() const{ return m_interlaceMode; } 468 469 /** 470 * Choose the scan line type for the output. Keep the default value, Progressive 471 * (PROGRESSIVE) to create a progressive output, regardless of the scan type of 472 * your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD) 473 * to create an output that's interlaced with the same field polarity throughout. 474 * Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom 475 * (FOLLOW_BOTTOM_FIELD) to produce outputs with the same field polarity as the 476 * source. For jobs that have multiple inputs, the output field polarity might 477 * change over the course of the output. Follow behavior depends on the input scan 478 * type. If the source is interlaced, the output will be interlaced with the same 479 * polarity as the source. If the source is progressive, the output will be 480 * interlaced with top field bottom field first, depending on which of the Follow 481 * options you choose. 482 */ InterlaceModeHasBeenSet()483 inline bool InterlaceModeHasBeenSet() const { return m_interlaceModeHasBeenSet; } 484 485 /** 486 * Choose the scan line type for the output. Keep the default value, Progressive 487 * (PROGRESSIVE) to create a progressive output, regardless of the scan type of 488 * your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD) 489 * to create an output that's interlaced with the same field polarity throughout. 490 * Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom 491 * (FOLLOW_BOTTOM_FIELD) to produce outputs with the same field polarity as the 492 * source. For jobs that have multiple inputs, the output field polarity might 493 * change over the course of the output. Follow behavior depends on the input scan 494 * type. If the source is interlaced, the output will be interlaced with the same 495 * polarity as the source. If the source is progressive, the output will be 496 * interlaced with top field bottom field first, depending on which of the Follow 497 * options you choose. 498 */ SetInterlaceMode(const ProresInterlaceMode & value)499 inline void SetInterlaceMode(const ProresInterlaceMode& value) { m_interlaceModeHasBeenSet = true; m_interlaceMode = value; } 500 501 /** 502 * Choose the scan line type for the output. Keep the default value, Progressive 503 * (PROGRESSIVE) to create a progressive output, regardless of the scan type of 504 * your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD) 505 * to create an output that's interlaced with the same field polarity throughout. 506 * Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom 507 * (FOLLOW_BOTTOM_FIELD) to produce outputs with the same field polarity as the 508 * source. For jobs that have multiple inputs, the output field polarity might 509 * change over the course of the output. Follow behavior depends on the input scan 510 * type. If the source is interlaced, the output will be interlaced with the same 511 * polarity as the source. If the source is progressive, the output will be 512 * interlaced with top field bottom field first, depending on which of the Follow 513 * options you choose. 514 */ SetInterlaceMode(ProresInterlaceMode && value)515 inline void SetInterlaceMode(ProresInterlaceMode&& value) { m_interlaceModeHasBeenSet = true; m_interlaceMode = std::move(value); } 516 517 /** 518 * Choose the scan line type for the output. Keep the default value, Progressive 519 * (PROGRESSIVE) to create a progressive output, regardless of the scan type of 520 * your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD) 521 * to create an output that's interlaced with the same field polarity throughout. 522 * Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom 523 * (FOLLOW_BOTTOM_FIELD) to produce outputs with the same field polarity as the 524 * source. For jobs that have multiple inputs, the output field polarity might 525 * change over the course of the output. Follow behavior depends on the input scan 526 * type. If the source is interlaced, the output will be interlaced with the same 527 * polarity as the source. If the source is progressive, the output will be 528 * interlaced with top field bottom field first, depending on which of the Follow 529 * options you choose. 530 */ WithInterlaceMode(const ProresInterlaceMode & value)531 inline ProresSettings& WithInterlaceMode(const ProresInterlaceMode& value) { SetInterlaceMode(value); return *this;} 532 533 /** 534 * Choose the scan line type for the output. Keep the default value, Progressive 535 * (PROGRESSIVE) to create a progressive output, regardless of the scan type of 536 * your input. Use Top field first (TOP_FIELD) or Bottom field first (BOTTOM_FIELD) 537 * to create an output that's interlaced with the same field polarity throughout. 538 * Use Follow, default top (FOLLOW_TOP_FIELD) or Follow, default bottom 539 * (FOLLOW_BOTTOM_FIELD) to produce outputs with the same field polarity as the 540 * source. For jobs that have multiple inputs, the output field polarity might 541 * change over the course of the output. Follow behavior depends on the input scan 542 * type. If the source is interlaced, the output will be interlaced with the same 543 * polarity as the source. If the source is progressive, the output will be 544 * interlaced with top field bottom field first, depending on which of the Follow 545 * options you choose. 546 */ WithInterlaceMode(ProresInterlaceMode && value)547 inline ProresSettings& WithInterlaceMode(ProresInterlaceMode&& value) { SetInterlaceMode(std::move(value)); return *this;} 548 549 550 /** 551 * Optional. Specify how the service determines the pixel aspect ratio (PAR) for 552 * this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses 553 * the PAR from your input video for your output. To specify a different PAR in the 554 * console, choose any value other than Follow source. To specify a different PAR 555 * by editing the JSON job specification, choose SPECIFIED. When you choose 556 * SPECIFIED for this setting, you must also specify values for the parNumerator 557 * and parDenominator settings. 558 */ GetParControl()559 inline const ProresParControl& GetParControl() const{ return m_parControl; } 560 561 /** 562 * Optional. Specify how the service determines the pixel aspect ratio (PAR) for 563 * this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses 564 * the PAR from your input video for your output. To specify a different PAR in the 565 * console, choose any value other than Follow source. To specify a different PAR 566 * by editing the JSON job specification, choose SPECIFIED. When you choose 567 * SPECIFIED for this setting, you must also specify values for the parNumerator 568 * and parDenominator settings. 569 */ ParControlHasBeenSet()570 inline bool ParControlHasBeenSet() const { return m_parControlHasBeenSet; } 571 572 /** 573 * Optional. Specify how the service determines the pixel aspect ratio (PAR) for 574 * this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses 575 * the PAR from your input video for your output. To specify a different PAR in the 576 * console, choose any value other than Follow source. To specify a different PAR 577 * by editing the JSON job specification, choose SPECIFIED. When you choose 578 * SPECIFIED for this setting, you must also specify values for the parNumerator 579 * and parDenominator settings. 580 */ SetParControl(const ProresParControl & value)581 inline void SetParControl(const ProresParControl& value) { m_parControlHasBeenSet = true; m_parControl = value; } 582 583 /** 584 * Optional. Specify how the service determines the pixel aspect ratio (PAR) for 585 * this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses 586 * the PAR from your input video for your output. To specify a different PAR in the 587 * console, choose any value other than Follow source. To specify a different PAR 588 * by editing the JSON job specification, choose SPECIFIED. When you choose 589 * SPECIFIED for this setting, you must also specify values for the parNumerator 590 * and parDenominator settings. 591 */ SetParControl(ProresParControl && value)592 inline void SetParControl(ProresParControl&& value) { m_parControlHasBeenSet = true; m_parControl = std::move(value); } 593 594 /** 595 * Optional. Specify how the service determines the pixel aspect ratio (PAR) for 596 * this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses 597 * the PAR from your input video for your output. To specify a different PAR in the 598 * console, choose any value other than Follow source. To specify a different PAR 599 * by editing the JSON job specification, choose SPECIFIED. When you choose 600 * SPECIFIED for this setting, you must also specify values for the parNumerator 601 * and parDenominator settings. 602 */ WithParControl(const ProresParControl & value)603 inline ProresSettings& WithParControl(const ProresParControl& value) { SetParControl(value); return *this;} 604 605 /** 606 * Optional. Specify how the service determines the pixel aspect ratio (PAR) for 607 * this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), uses 608 * the PAR from your input video for your output. To specify a different PAR in the 609 * console, choose any value other than Follow source. To specify a different PAR 610 * by editing the JSON job specification, choose SPECIFIED. When you choose 611 * SPECIFIED for this setting, you must also specify values for the parNumerator 612 * and parDenominator settings. 613 */ WithParControl(ProresParControl && value)614 inline ProresSettings& WithParControl(ProresParControl&& value) { SetParControl(std::move(value)); return *this;} 615 616 617 /** 618 * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the 619 * console, this corresponds to any value other than Follow source. When you 620 * specify an output pixel aspect ratio (PAR) that is different from your input 621 * video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC 622 * widescreen, you would specify the ratio 40:33. In this example, the value for 623 * parDenominator is 33. 624 */ GetParDenominator()625 inline int GetParDenominator() const{ return m_parDenominator; } 626 627 /** 628 * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the 629 * console, this corresponds to any value other than Follow source. When you 630 * specify an output pixel aspect ratio (PAR) that is different from your input 631 * video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC 632 * widescreen, you would specify the ratio 40:33. In this example, the value for 633 * parDenominator is 33. 634 */ ParDenominatorHasBeenSet()635 inline bool ParDenominatorHasBeenSet() const { return m_parDenominatorHasBeenSet; } 636 637 /** 638 * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the 639 * console, this corresponds to any value other than Follow source. When you 640 * specify an output pixel aspect ratio (PAR) that is different from your input 641 * video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC 642 * widescreen, you would specify the ratio 40:33. In this example, the value for 643 * parDenominator is 33. 644 */ SetParDenominator(int value)645 inline void SetParDenominator(int value) { m_parDenominatorHasBeenSet = true; m_parDenominator = value; } 646 647 /** 648 * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the 649 * console, this corresponds to any value other than Follow source. When you 650 * specify an output pixel aspect ratio (PAR) that is different from your input 651 * video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC 652 * widescreen, you would specify the ratio 40:33. In this example, the value for 653 * parDenominator is 33. 654 */ WithParDenominator(int value)655 inline ProresSettings& WithParDenominator(int value) { SetParDenominator(value); return *this;} 656 657 658 /** 659 * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the 660 * console, this corresponds to any value other than Follow source. When you 661 * specify an output pixel aspect ratio (PAR) that is different from your input 662 * video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC 663 * widescreen, you would specify the ratio 40:33. In this example, the value for 664 * parNumerator is 40. 665 */ GetParNumerator()666 inline int GetParNumerator() const{ return m_parNumerator; } 667 668 /** 669 * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the 670 * console, this corresponds to any value other than Follow source. When you 671 * specify an output pixel aspect ratio (PAR) that is different from your input 672 * video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC 673 * widescreen, you would specify the ratio 40:33. In this example, the value for 674 * parNumerator is 40. 675 */ ParNumeratorHasBeenSet()676 inline bool ParNumeratorHasBeenSet() const { return m_parNumeratorHasBeenSet; } 677 678 /** 679 * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the 680 * console, this corresponds to any value other than Follow source. When you 681 * specify an output pixel aspect ratio (PAR) that is different from your input 682 * video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC 683 * widescreen, you would specify the ratio 40:33. In this example, the value for 684 * parNumerator is 40. 685 */ SetParNumerator(int value)686 inline void SetParNumerator(int value) { m_parNumeratorHasBeenSet = true; m_parNumerator = value; } 687 688 /** 689 * Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the 690 * console, this corresponds to any value other than Follow source. When you 691 * specify an output pixel aspect ratio (PAR) that is different from your input 692 * video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC 693 * widescreen, you would specify the ratio 40:33. In this example, the value for 694 * parNumerator is 40. 695 */ WithParNumerator(int value)696 inline ProresSettings& WithParNumerator(int value) { SetParNumerator(value); return *this;} 697 698 699 /** 700 * Use this setting for interlaced outputs, when your output frame rate is half of 701 * your input frame rate. In this situation, choose Optimized interlacing 702 * (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this 703 * case, each progressive frame from the input corresponds to an interlaced field 704 * in the output. Keep the default value, Basic interlacing (INTERLACED), for all 705 * other output frame rates. With basic interlacing, MediaConvert performs any 706 * frame rate conversion first and then interlaces the frames. When you choose 707 * Optimized interlacing and you set your output frame rate to a value that isn't 708 * suitable for optimized interlacing, MediaConvert automatically falls back to 709 * basic interlacing. Required settings: To use optimized interlacing, you must set 710 * Telecine (telecine) to None (NONE) or Soft (SOFT). You can't use optimized 711 * interlacing for hard telecine outputs. You must also set Interlace mode 712 * (interlaceMode) to a value other than Progressive (PROGRESSIVE). 713 */ GetScanTypeConversionMode()714 inline const ProresScanTypeConversionMode& GetScanTypeConversionMode() const{ return m_scanTypeConversionMode; } 715 716 /** 717 * Use this setting for interlaced outputs, when your output frame rate is half of 718 * your input frame rate. In this situation, choose Optimized interlacing 719 * (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this 720 * case, each progressive frame from the input corresponds to an interlaced field 721 * in the output. Keep the default value, Basic interlacing (INTERLACED), for all 722 * other output frame rates. With basic interlacing, MediaConvert performs any 723 * frame rate conversion first and then interlaces the frames. When you choose 724 * Optimized interlacing and you set your output frame rate to a value that isn't 725 * suitable for optimized interlacing, MediaConvert automatically falls back to 726 * basic interlacing. Required settings: To use optimized interlacing, you must set 727 * Telecine (telecine) to None (NONE) or Soft (SOFT). You can't use optimized 728 * interlacing for hard telecine outputs. You must also set Interlace mode 729 * (interlaceMode) to a value other than Progressive (PROGRESSIVE). 730 */ ScanTypeConversionModeHasBeenSet()731 inline bool ScanTypeConversionModeHasBeenSet() const { return m_scanTypeConversionModeHasBeenSet; } 732 733 /** 734 * Use this setting for interlaced outputs, when your output frame rate is half of 735 * your input frame rate. In this situation, choose Optimized interlacing 736 * (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this 737 * case, each progressive frame from the input corresponds to an interlaced field 738 * in the output. Keep the default value, Basic interlacing (INTERLACED), for all 739 * other output frame rates. With basic interlacing, MediaConvert performs any 740 * frame rate conversion first and then interlaces the frames. When you choose 741 * Optimized interlacing and you set your output frame rate to a value that isn't 742 * suitable for optimized interlacing, MediaConvert automatically falls back to 743 * basic interlacing. Required settings: To use optimized interlacing, you must set 744 * Telecine (telecine) to None (NONE) or Soft (SOFT). You can't use optimized 745 * interlacing for hard telecine outputs. You must also set Interlace mode 746 * (interlaceMode) to a value other than Progressive (PROGRESSIVE). 747 */ SetScanTypeConversionMode(const ProresScanTypeConversionMode & value)748 inline void SetScanTypeConversionMode(const ProresScanTypeConversionMode& value) { m_scanTypeConversionModeHasBeenSet = true; m_scanTypeConversionMode = value; } 749 750 /** 751 * Use this setting for interlaced outputs, when your output frame rate is half of 752 * your input frame rate. In this situation, choose Optimized interlacing 753 * (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this 754 * case, each progressive frame from the input corresponds to an interlaced field 755 * in the output. Keep the default value, Basic interlacing (INTERLACED), for all 756 * other output frame rates. With basic interlacing, MediaConvert performs any 757 * frame rate conversion first and then interlaces the frames. When you choose 758 * Optimized interlacing and you set your output frame rate to a value that isn't 759 * suitable for optimized interlacing, MediaConvert automatically falls back to 760 * basic interlacing. Required settings: To use optimized interlacing, you must set 761 * Telecine (telecine) to None (NONE) or Soft (SOFT). You can't use optimized 762 * interlacing for hard telecine outputs. You must also set Interlace mode 763 * (interlaceMode) to a value other than Progressive (PROGRESSIVE). 764 */ SetScanTypeConversionMode(ProresScanTypeConversionMode && value)765 inline void SetScanTypeConversionMode(ProresScanTypeConversionMode&& value) { m_scanTypeConversionModeHasBeenSet = true; m_scanTypeConversionMode = std::move(value); } 766 767 /** 768 * Use this setting for interlaced outputs, when your output frame rate is half of 769 * your input frame rate. In this situation, choose Optimized interlacing 770 * (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this 771 * case, each progressive frame from the input corresponds to an interlaced field 772 * in the output. Keep the default value, Basic interlacing (INTERLACED), for all 773 * other output frame rates. With basic interlacing, MediaConvert performs any 774 * frame rate conversion first and then interlaces the frames. When you choose 775 * Optimized interlacing and you set your output frame rate to a value that isn't 776 * suitable for optimized interlacing, MediaConvert automatically falls back to 777 * basic interlacing. Required settings: To use optimized interlacing, you must set 778 * Telecine (telecine) to None (NONE) or Soft (SOFT). You can't use optimized 779 * interlacing for hard telecine outputs. You must also set Interlace mode 780 * (interlaceMode) to a value other than Progressive (PROGRESSIVE). 781 */ WithScanTypeConversionMode(const ProresScanTypeConversionMode & value)782 inline ProresSettings& WithScanTypeConversionMode(const ProresScanTypeConversionMode& value) { SetScanTypeConversionMode(value); return *this;} 783 784 /** 785 * Use this setting for interlaced outputs, when your output frame rate is half of 786 * your input frame rate. In this situation, choose Optimized interlacing 787 * (INTERLACED_OPTIMIZE) to create a better quality interlaced output. In this 788 * case, each progressive frame from the input corresponds to an interlaced field 789 * in the output. Keep the default value, Basic interlacing (INTERLACED), for all 790 * other output frame rates. With basic interlacing, MediaConvert performs any 791 * frame rate conversion first and then interlaces the frames. When you choose 792 * Optimized interlacing and you set your output frame rate to a value that isn't 793 * suitable for optimized interlacing, MediaConvert automatically falls back to 794 * basic interlacing. Required settings: To use optimized interlacing, you must set 795 * Telecine (telecine) to None (NONE) or Soft (SOFT). You can't use optimized 796 * interlacing for hard telecine outputs. You must also set Interlace mode 797 * (interlaceMode) to a value other than Progressive (PROGRESSIVE). 798 */ WithScanTypeConversionMode(ProresScanTypeConversionMode && value)799 inline ProresSettings& WithScanTypeConversionMode(ProresScanTypeConversionMode&& value) { SetScanTypeConversionMode(std::move(value)); return *this;} 800 801 802 /** 803 * Ignore this setting unless your input frame rate is 23.976 or 24 frames per 804 * second (fps). Enable slow PAL to create a 25 fps output. When you enable slow 805 * PAL, MediaConvert relabels the video frames to 25 fps and resamples your audio 806 * to keep it synchronized with the video. Note that enabling this setting will 807 * slightly reduce the duration of your video. Required settings: You must also set 808 * Framerate to 25. In your JSON job specification, set (framerateControl) to 809 * (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to 1. 810 */ GetSlowPal()811 inline const ProresSlowPal& GetSlowPal() const{ return m_slowPal; } 812 813 /** 814 * Ignore this setting unless your input frame rate is 23.976 or 24 frames per 815 * second (fps). Enable slow PAL to create a 25 fps output. When you enable slow 816 * PAL, MediaConvert relabels the video frames to 25 fps and resamples your audio 817 * to keep it synchronized with the video. Note that enabling this setting will 818 * slightly reduce the duration of your video. Required settings: You must also set 819 * Framerate to 25. In your JSON job specification, set (framerateControl) to 820 * (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to 1. 821 */ SlowPalHasBeenSet()822 inline bool SlowPalHasBeenSet() const { return m_slowPalHasBeenSet; } 823 824 /** 825 * Ignore this setting unless your input frame rate is 23.976 or 24 frames per 826 * second (fps). Enable slow PAL to create a 25 fps output. When you enable slow 827 * PAL, MediaConvert relabels the video frames to 25 fps and resamples your audio 828 * to keep it synchronized with the video. Note that enabling this setting will 829 * slightly reduce the duration of your video. Required settings: You must also set 830 * Framerate to 25. In your JSON job specification, set (framerateControl) to 831 * (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to 1. 832 */ SetSlowPal(const ProresSlowPal & value)833 inline void SetSlowPal(const ProresSlowPal& value) { m_slowPalHasBeenSet = true; m_slowPal = value; } 834 835 /** 836 * Ignore this setting unless your input frame rate is 23.976 or 24 frames per 837 * second (fps). Enable slow PAL to create a 25 fps output. When you enable slow 838 * PAL, MediaConvert relabels the video frames to 25 fps and resamples your audio 839 * to keep it synchronized with the video. Note that enabling this setting will 840 * slightly reduce the duration of your video. Required settings: You must also set 841 * Framerate to 25. In your JSON job specification, set (framerateControl) to 842 * (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to 1. 843 */ SetSlowPal(ProresSlowPal && value)844 inline void SetSlowPal(ProresSlowPal&& value) { m_slowPalHasBeenSet = true; m_slowPal = std::move(value); } 845 846 /** 847 * Ignore this setting unless your input frame rate is 23.976 or 24 frames per 848 * second (fps). Enable slow PAL to create a 25 fps output. When you enable slow 849 * PAL, MediaConvert relabels the video frames to 25 fps and resamples your audio 850 * to keep it synchronized with the video. Note that enabling this setting will 851 * slightly reduce the duration of your video. Required settings: You must also set 852 * Framerate to 25. In your JSON job specification, set (framerateControl) to 853 * (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to 1. 854 */ WithSlowPal(const ProresSlowPal & value)855 inline ProresSettings& WithSlowPal(const ProresSlowPal& value) { SetSlowPal(value); return *this;} 856 857 /** 858 * Ignore this setting unless your input frame rate is 23.976 or 24 frames per 859 * second (fps). Enable slow PAL to create a 25 fps output. When you enable slow 860 * PAL, MediaConvert relabels the video frames to 25 fps and resamples your audio 861 * to keep it synchronized with the video. Note that enabling this setting will 862 * slightly reduce the duration of your video. Required settings: You must also set 863 * Framerate to 25. In your JSON job specification, set (framerateControl) to 864 * (SPECIFIED), (framerateNumerator) to 25 and (framerateDenominator) to 1. 865 */ WithSlowPal(ProresSlowPal && value)866 inline ProresSettings& WithSlowPal(ProresSlowPal&& value) { SetSlowPal(std::move(value)); return *this;} 867 868 869 /** 870 * When you do frame rate conversion from 23.976 frames per second (fps) to 29.97 871 * fps, and your output scan type is interlaced, you can optionally enable hard 872 * telecine (HARD) to create a smoother picture. When you keep the default value, 873 * None (NONE), MediaConvert does a standard frame rate conversion to 29.97 without 874 * doing anything with the field polarity to create a smoother picture. 875 */ GetTelecine()876 inline const ProresTelecine& GetTelecine() const{ return m_telecine; } 877 878 /** 879 * When you do frame rate conversion from 23.976 frames per second (fps) to 29.97 880 * fps, and your output scan type is interlaced, you can optionally enable hard 881 * telecine (HARD) to create a smoother picture. When you keep the default value, 882 * None (NONE), MediaConvert does a standard frame rate conversion to 29.97 without 883 * doing anything with the field polarity to create a smoother picture. 884 */ TelecineHasBeenSet()885 inline bool TelecineHasBeenSet() const { return m_telecineHasBeenSet; } 886 887 /** 888 * When you do frame rate conversion from 23.976 frames per second (fps) to 29.97 889 * fps, and your output scan type is interlaced, you can optionally enable hard 890 * telecine (HARD) to create a smoother picture. When you keep the default value, 891 * None (NONE), MediaConvert does a standard frame rate conversion to 29.97 without 892 * doing anything with the field polarity to create a smoother picture. 893 */ SetTelecine(const ProresTelecine & value)894 inline void SetTelecine(const ProresTelecine& value) { m_telecineHasBeenSet = true; m_telecine = value; } 895 896 /** 897 * When you do frame rate conversion from 23.976 frames per second (fps) to 29.97 898 * fps, and your output scan type is interlaced, you can optionally enable hard 899 * telecine (HARD) to create a smoother picture. When you keep the default value, 900 * None (NONE), MediaConvert does a standard frame rate conversion to 29.97 without 901 * doing anything with the field polarity to create a smoother picture. 902 */ SetTelecine(ProresTelecine && value)903 inline void SetTelecine(ProresTelecine&& value) { m_telecineHasBeenSet = true; m_telecine = std::move(value); } 904 905 /** 906 * When you do frame rate conversion from 23.976 frames per second (fps) to 29.97 907 * fps, and your output scan type is interlaced, you can optionally enable hard 908 * telecine (HARD) to create a smoother picture. When you keep the default value, 909 * None (NONE), MediaConvert does a standard frame rate conversion to 29.97 without 910 * doing anything with the field polarity to create a smoother picture. 911 */ WithTelecine(const ProresTelecine & value)912 inline ProresSettings& WithTelecine(const ProresTelecine& value) { SetTelecine(value); return *this;} 913 914 /** 915 * When you do frame rate conversion from 23.976 frames per second (fps) to 29.97 916 * fps, and your output scan type is interlaced, you can optionally enable hard 917 * telecine (HARD) to create a smoother picture. When you keep the default value, 918 * None (NONE), MediaConvert does a standard frame rate conversion to 29.97 without 919 * doing anything with the field polarity to create a smoother picture. 920 */ WithTelecine(ProresTelecine && value)921 inline ProresSettings& WithTelecine(ProresTelecine&& value) { SetTelecine(std::move(value)); return *this;} 922 923 private: 924 925 ProresChromaSampling m_chromaSampling; 926 bool m_chromaSamplingHasBeenSet; 927 928 ProresCodecProfile m_codecProfile; 929 bool m_codecProfileHasBeenSet; 930 931 ProresFramerateControl m_framerateControl; 932 bool m_framerateControlHasBeenSet; 933 934 ProresFramerateConversionAlgorithm m_framerateConversionAlgorithm; 935 bool m_framerateConversionAlgorithmHasBeenSet; 936 937 int m_framerateDenominator; 938 bool m_framerateDenominatorHasBeenSet; 939 940 int m_framerateNumerator; 941 bool m_framerateNumeratorHasBeenSet; 942 943 ProresInterlaceMode m_interlaceMode; 944 bool m_interlaceModeHasBeenSet; 945 946 ProresParControl m_parControl; 947 bool m_parControlHasBeenSet; 948 949 int m_parDenominator; 950 bool m_parDenominatorHasBeenSet; 951 952 int m_parNumerator; 953 bool m_parNumeratorHasBeenSet; 954 955 ProresScanTypeConversionMode m_scanTypeConversionMode; 956 bool m_scanTypeConversionModeHasBeenSet; 957 958 ProresSlowPal m_slowPal; 959 bool m_slowPalHasBeenSet; 960 961 ProresTelecine m_telecine; 962 bool m_telecineHasBeenSet; 963 }; 964 965 } // namespace Model 966 } // namespace MediaConvert 967 } // namespace Aws 968