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/AlphaBehavior.h> 9 #include <aws/mediaconvert/model/ColorSpace.h> 10 #include <aws/mediaconvert/model/ColorSpaceUsage.h> 11 #include <aws/mediaconvert/model/Hdr10Metadata.h> 12 #include <aws/mediaconvert/model/InputRotate.h> 13 #include <aws/mediaconvert/model/InputSampleRange.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 namespace Utils 19 { 20 namespace Json 21 { 22 class JsonValue; 23 class JsonView; 24 } // namespace Json 25 } // namespace Utils 26 namespace MediaConvert 27 { 28 namespace Model 29 { 30 31 /** 32 * Input video selectors contain the video settings for the input. Each of your 33 * inputs can have up to one video selector.<p><h3>See Also:</h3> <a 34 * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/VideoSelector">AWS 35 * API Reference</a></p> 36 */ 37 class AWS_MEDIACONVERT_API VideoSelector 38 { 39 public: 40 VideoSelector(); 41 VideoSelector(Aws::Utils::Json::JsonView jsonValue); 42 VideoSelector& operator=(Aws::Utils::Json::JsonView jsonValue); 43 Aws::Utils::Json::JsonValue Jsonize() const; 44 45 46 /** 47 * Ignore this setting unless this input is a QuickTime animation with an alpha 48 * channel. Use this setting to create separate Key and Fill outputs. In each 49 * output, specify which part of the input MediaConvert uses. Leave this setting at 50 * the default value DISCARD to delete the alpha channel and preserve the video. 51 * Set it to REMAP_TO_LUMA to delete the video and map the alpha channel to the 52 * luma channel of your outputs. 53 */ GetAlphaBehavior()54 inline const AlphaBehavior& GetAlphaBehavior() const{ return m_alphaBehavior; } 55 56 /** 57 * Ignore this setting unless this input is a QuickTime animation with an alpha 58 * channel. Use this setting to create separate Key and Fill outputs. In each 59 * output, specify which part of the input MediaConvert uses. Leave this setting at 60 * the default value DISCARD to delete the alpha channel and preserve the video. 61 * Set it to REMAP_TO_LUMA to delete the video and map the alpha channel to the 62 * luma channel of your outputs. 63 */ AlphaBehaviorHasBeenSet()64 inline bool AlphaBehaviorHasBeenSet() const { return m_alphaBehaviorHasBeenSet; } 65 66 /** 67 * Ignore this setting unless this input is a QuickTime animation with an alpha 68 * channel. Use this setting to create separate Key and Fill outputs. In each 69 * output, specify which part of the input MediaConvert uses. Leave this setting at 70 * the default value DISCARD to delete the alpha channel and preserve the video. 71 * Set it to REMAP_TO_LUMA to delete the video and map the alpha channel to the 72 * luma channel of your outputs. 73 */ SetAlphaBehavior(const AlphaBehavior & value)74 inline void SetAlphaBehavior(const AlphaBehavior& value) { m_alphaBehaviorHasBeenSet = true; m_alphaBehavior = value; } 75 76 /** 77 * Ignore this setting unless this input is a QuickTime animation with an alpha 78 * channel. Use this setting to create separate Key and Fill outputs. In each 79 * output, specify which part of the input MediaConvert uses. Leave this setting at 80 * the default value DISCARD to delete the alpha channel and preserve the video. 81 * Set it to REMAP_TO_LUMA to delete the video and map the alpha channel to the 82 * luma channel of your outputs. 83 */ SetAlphaBehavior(AlphaBehavior && value)84 inline void SetAlphaBehavior(AlphaBehavior&& value) { m_alphaBehaviorHasBeenSet = true; m_alphaBehavior = std::move(value); } 85 86 /** 87 * Ignore this setting unless this input is a QuickTime animation with an alpha 88 * channel. Use this setting to create separate Key and Fill outputs. In each 89 * output, specify which part of the input MediaConvert uses. Leave this setting at 90 * the default value DISCARD to delete the alpha channel and preserve the video. 91 * Set it to REMAP_TO_LUMA to delete the video and map the alpha channel to the 92 * luma channel of your outputs. 93 */ WithAlphaBehavior(const AlphaBehavior & value)94 inline VideoSelector& WithAlphaBehavior(const AlphaBehavior& value) { SetAlphaBehavior(value); return *this;} 95 96 /** 97 * Ignore this setting unless this input is a QuickTime animation with an alpha 98 * channel. Use this setting to create separate Key and Fill outputs. In each 99 * output, specify which part of the input MediaConvert uses. Leave this setting at 100 * the default value DISCARD to delete the alpha channel and preserve the video. 101 * Set it to REMAP_TO_LUMA to delete the video and map the alpha channel to the 102 * luma channel of your outputs. 103 */ WithAlphaBehavior(AlphaBehavior && value)104 inline VideoSelector& WithAlphaBehavior(AlphaBehavior&& value) { SetAlphaBehavior(std::move(value)); return *this;} 105 106 107 /** 108 * If your input video has accurate color space metadata, or if you don't know 109 * about color space, leave this set to the default value Follow (FOLLOW). The 110 * service will automatically detect your input color space. If your input video 111 * has metadata indicating the wrong color space, specify the accurate color space 112 * here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display 113 * Color Volume static metadata isn't present in your video stream, or if that 114 * metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10) here and 115 * specify correct values in the input HDR 10 metadata (Hdr10Metadata) settings. 116 * For more information about MediaConvert HDR jobs, see 117 * https://docs.aws.amazon.com/console/mediaconvert/hdr. 118 */ GetColorSpace()119 inline const ColorSpace& GetColorSpace() const{ return m_colorSpace; } 120 121 /** 122 * If your input video has accurate color space metadata, or if you don't know 123 * about color space, leave this set to the default value Follow (FOLLOW). The 124 * service will automatically detect your input color space. If your input video 125 * has metadata indicating the wrong color space, specify the accurate color space 126 * here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display 127 * Color Volume static metadata isn't present in your video stream, or if that 128 * metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10) here and 129 * specify correct values in the input HDR 10 metadata (Hdr10Metadata) settings. 130 * For more information about MediaConvert HDR jobs, see 131 * https://docs.aws.amazon.com/console/mediaconvert/hdr. 132 */ ColorSpaceHasBeenSet()133 inline bool ColorSpaceHasBeenSet() const { return m_colorSpaceHasBeenSet; } 134 135 /** 136 * If your input video has accurate color space metadata, or if you don't know 137 * about color space, leave this set to the default value Follow (FOLLOW). The 138 * service will automatically detect your input color space. If your input video 139 * has metadata indicating the wrong color space, specify the accurate color space 140 * here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display 141 * Color Volume static metadata isn't present in your video stream, or if that 142 * metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10) here and 143 * specify correct values in the input HDR 10 metadata (Hdr10Metadata) settings. 144 * For more information about MediaConvert HDR jobs, see 145 * https://docs.aws.amazon.com/console/mediaconvert/hdr. 146 */ SetColorSpace(const ColorSpace & value)147 inline void SetColorSpace(const ColorSpace& value) { m_colorSpaceHasBeenSet = true; m_colorSpace = value; } 148 149 /** 150 * If your input video has accurate color space metadata, or if you don't know 151 * about color space, leave this set to the default value Follow (FOLLOW). The 152 * service will automatically detect your input color space. If your input video 153 * has metadata indicating the wrong color space, specify the accurate color space 154 * here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display 155 * Color Volume static metadata isn't present in your video stream, or if that 156 * metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10) here and 157 * specify correct values in the input HDR 10 metadata (Hdr10Metadata) settings. 158 * For more information about MediaConvert HDR jobs, see 159 * https://docs.aws.amazon.com/console/mediaconvert/hdr. 160 */ SetColorSpace(ColorSpace && value)161 inline void SetColorSpace(ColorSpace&& value) { m_colorSpaceHasBeenSet = true; m_colorSpace = std::move(value); } 162 163 /** 164 * If your input video has accurate color space metadata, or if you don't know 165 * about color space, leave this set to the default value Follow (FOLLOW). The 166 * service will automatically detect your input color space. If your input video 167 * has metadata indicating the wrong color space, specify the accurate color space 168 * here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display 169 * Color Volume static metadata isn't present in your video stream, or if that 170 * metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10) here and 171 * specify correct values in the input HDR 10 metadata (Hdr10Metadata) settings. 172 * For more information about MediaConvert HDR jobs, see 173 * https://docs.aws.amazon.com/console/mediaconvert/hdr. 174 */ WithColorSpace(const ColorSpace & value)175 inline VideoSelector& WithColorSpace(const ColorSpace& value) { SetColorSpace(value); return *this;} 176 177 /** 178 * If your input video has accurate color space metadata, or if you don't know 179 * about color space, leave this set to the default value Follow (FOLLOW). The 180 * service will automatically detect your input color space. If your input video 181 * has metadata indicating the wrong color space, specify the accurate color space 182 * here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display 183 * Color Volume static metadata isn't present in your video stream, or if that 184 * metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10) here and 185 * specify correct values in the input HDR 10 metadata (Hdr10Metadata) settings. 186 * For more information about MediaConvert HDR jobs, see 187 * https://docs.aws.amazon.com/console/mediaconvert/hdr. 188 */ WithColorSpace(ColorSpace && value)189 inline VideoSelector& WithColorSpace(ColorSpace&& value) { SetColorSpace(std::move(value)); return *this;} 190 191 192 /** 193 * There are two sources for color metadata, the input file and the job input 194 * settings Color space (ColorSpace) and HDR master display information 195 * settings(Hdr10Metadata). The Color space usage setting determines which takes 196 * precedence. Choose Force (FORCE) to use color metadata from the input job 197 * settings. If you don't specify values for those settings, the service defaults 198 * to using metadata from your input. FALLBACK - Choose Fallback (FALLBACK) to use 199 * color metadata from the source when it is present. If there's no color metadata 200 * in your input file, the service defaults to using values you specify in the 201 * input settings. 202 */ GetColorSpaceUsage()203 inline const ColorSpaceUsage& GetColorSpaceUsage() const{ return m_colorSpaceUsage; } 204 205 /** 206 * There are two sources for color metadata, the input file and the job input 207 * settings Color space (ColorSpace) and HDR master display information 208 * settings(Hdr10Metadata). The Color space usage setting determines which takes 209 * precedence. Choose Force (FORCE) to use color metadata from the input job 210 * settings. If you don't specify values for those settings, the service defaults 211 * to using metadata from your input. FALLBACK - Choose Fallback (FALLBACK) to use 212 * color metadata from the source when it is present. If there's no color metadata 213 * in your input file, the service defaults to using values you specify in the 214 * input settings. 215 */ ColorSpaceUsageHasBeenSet()216 inline bool ColorSpaceUsageHasBeenSet() const { return m_colorSpaceUsageHasBeenSet; } 217 218 /** 219 * There are two sources for color metadata, the input file and the job input 220 * settings Color space (ColorSpace) and HDR master display information 221 * settings(Hdr10Metadata). The Color space usage setting determines which takes 222 * precedence. Choose Force (FORCE) to use color metadata from the input job 223 * settings. If you don't specify values for those settings, the service defaults 224 * to using metadata from your input. FALLBACK - Choose Fallback (FALLBACK) to use 225 * color metadata from the source when it is present. If there's no color metadata 226 * in your input file, the service defaults to using values you specify in the 227 * input settings. 228 */ SetColorSpaceUsage(const ColorSpaceUsage & value)229 inline void SetColorSpaceUsage(const ColorSpaceUsage& value) { m_colorSpaceUsageHasBeenSet = true; m_colorSpaceUsage = value; } 230 231 /** 232 * There are two sources for color metadata, the input file and the job input 233 * settings Color space (ColorSpace) and HDR master display information 234 * settings(Hdr10Metadata). The Color space usage setting determines which takes 235 * precedence. Choose Force (FORCE) to use color metadata from the input job 236 * settings. If you don't specify values for those settings, the service defaults 237 * to using metadata from your input. FALLBACK - Choose Fallback (FALLBACK) to use 238 * color metadata from the source when it is present. If there's no color metadata 239 * in your input file, the service defaults to using values you specify in the 240 * input settings. 241 */ SetColorSpaceUsage(ColorSpaceUsage && value)242 inline void SetColorSpaceUsage(ColorSpaceUsage&& value) { m_colorSpaceUsageHasBeenSet = true; m_colorSpaceUsage = std::move(value); } 243 244 /** 245 * There are two sources for color metadata, the input file and the job input 246 * settings Color space (ColorSpace) and HDR master display information 247 * settings(Hdr10Metadata). The Color space usage setting determines which takes 248 * precedence. Choose Force (FORCE) to use color metadata from the input job 249 * settings. If you don't specify values for those settings, the service defaults 250 * to using metadata from your input. FALLBACK - Choose Fallback (FALLBACK) to use 251 * color metadata from the source when it is present. If there's no color metadata 252 * in your input file, the service defaults to using values you specify in the 253 * input settings. 254 */ WithColorSpaceUsage(const ColorSpaceUsage & value)255 inline VideoSelector& WithColorSpaceUsage(const ColorSpaceUsage& value) { SetColorSpaceUsage(value); return *this;} 256 257 /** 258 * There are two sources for color metadata, the input file and the job input 259 * settings Color space (ColorSpace) and HDR master display information 260 * settings(Hdr10Metadata). The Color space usage setting determines which takes 261 * precedence. Choose Force (FORCE) to use color metadata from the input job 262 * settings. If you don't specify values for those settings, the service defaults 263 * to using metadata from your input. FALLBACK - Choose Fallback (FALLBACK) to use 264 * color metadata from the source when it is present. If there's no color metadata 265 * in your input file, the service defaults to using values you specify in the 266 * input settings. 267 */ WithColorSpaceUsage(ColorSpaceUsage && value)268 inline VideoSelector& WithColorSpaceUsage(ColorSpaceUsage&& value) { SetColorSpaceUsage(std::move(value)); return *this;} 269 270 271 /** 272 * Use these settings to provide HDR 10 metadata that is missing or inaccurate in 273 * your input video. Appropriate values vary depending on the input video and must 274 * be provided by a color grader. The color grader generates these values during 275 * the HDR 10 mastering process. The valid range for each of these settings is 0 to 276 * 50,000. Each increment represents 0.00002 in CIE1931 color coordinate. Related 277 * settings - When you specify these values, you must also set Color space 278 * (ColorSpace) to HDR 10 (HDR10). To specify whether the the values you specify 279 * here take precedence over the values in the metadata of your input file, set 280 * Color space usage (ColorSpaceUsage). To specify whether color metadata is 281 * included in an output, set Color metadata (ColorMetadata). For more information 282 * about MediaConvert HDR jobs, see 283 * https://docs.aws.amazon.com/console/mediaconvert/hdr. 284 */ GetHdr10Metadata()285 inline const Hdr10Metadata& GetHdr10Metadata() const{ return m_hdr10Metadata; } 286 287 /** 288 * Use these settings to provide HDR 10 metadata that is missing or inaccurate in 289 * your input video. Appropriate values vary depending on the input video and must 290 * be provided by a color grader. The color grader generates these values during 291 * the HDR 10 mastering process. The valid range for each of these settings is 0 to 292 * 50,000. Each increment represents 0.00002 in CIE1931 color coordinate. Related 293 * settings - When you specify these values, you must also set Color space 294 * (ColorSpace) to HDR 10 (HDR10). To specify whether the the values you specify 295 * here take precedence over the values in the metadata of your input file, set 296 * Color space usage (ColorSpaceUsage). To specify whether color metadata is 297 * included in an output, set Color metadata (ColorMetadata). For more information 298 * about MediaConvert HDR jobs, see 299 * https://docs.aws.amazon.com/console/mediaconvert/hdr. 300 */ Hdr10MetadataHasBeenSet()301 inline bool Hdr10MetadataHasBeenSet() const { return m_hdr10MetadataHasBeenSet; } 302 303 /** 304 * Use these settings to provide HDR 10 metadata that is missing or inaccurate in 305 * your input video. Appropriate values vary depending on the input video and must 306 * be provided by a color grader. The color grader generates these values during 307 * the HDR 10 mastering process. The valid range for each of these settings is 0 to 308 * 50,000. Each increment represents 0.00002 in CIE1931 color coordinate. Related 309 * settings - When you specify these values, you must also set Color space 310 * (ColorSpace) to HDR 10 (HDR10). To specify whether the the values you specify 311 * here take precedence over the values in the metadata of your input file, set 312 * Color space usage (ColorSpaceUsage). To specify whether color metadata is 313 * included in an output, set Color metadata (ColorMetadata). For more information 314 * about MediaConvert HDR jobs, see 315 * https://docs.aws.amazon.com/console/mediaconvert/hdr. 316 */ SetHdr10Metadata(const Hdr10Metadata & value)317 inline void SetHdr10Metadata(const Hdr10Metadata& value) { m_hdr10MetadataHasBeenSet = true; m_hdr10Metadata = value; } 318 319 /** 320 * Use these settings to provide HDR 10 metadata that is missing or inaccurate in 321 * your input video. Appropriate values vary depending on the input video and must 322 * be provided by a color grader. The color grader generates these values during 323 * the HDR 10 mastering process. The valid range for each of these settings is 0 to 324 * 50,000. Each increment represents 0.00002 in CIE1931 color coordinate. Related 325 * settings - When you specify these values, you must also set Color space 326 * (ColorSpace) to HDR 10 (HDR10). To specify whether the the values you specify 327 * here take precedence over the values in the metadata of your input file, set 328 * Color space usage (ColorSpaceUsage). To specify whether color metadata is 329 * included in an output, set Color metadata (ColorMetadata). For more information 330 * about MediaConvert HDR jobs, see 331 * https://docs.aws.amazon.com/console/mediaconvert/hdr. 332 */ SetHdr10Metadata(Hdr10Metadata && value)333 inline void SetHdr10Metadata(Hdr10Metadata&& value) { m_hdr10MetadataHasBeenSet = true; m_hdr10Metadata = std::move(value); } 334 335 /** 336 * Use these settings to provide HDR 10 metadata that is missing or inaccurate in 337 * your input video. Appropriate values vary depending on the input video and must 338 * be provided by a color grader. The color grader generates these values during 339 * the HDR 10 mastering process. The valid range for each of these settings is 0 to 340 * 50,000. Each increment represents 0.00002 in CIE1931 color coordinate. Related 341 * settings - When you specify these values, you must also set Color space 342 * (ColorSpace) to HDR 10 (HDR10). To specify whether the the values you specify 343 * here take precedence over the values in the metadata of your input file, set 344 * Color space usage (ColorSpaceUsage). To specify whether color metadata is 345 * included in an output, set Color metadata (ColorMetadata). For more information 346 * about MediaConvert HDR jobs, see 347 * https://docs.aws.amazon.com/console/mediaconvert/hdr. 348 */ WithHdr10Metadata(const Hdr10Metadata & value)349 inline VideoSelector& WithHdr10Metadata(const Hdr10Metadata& value) { SetHdr10Metadata(value); return *this;} 350 351 /** 352 * Use these settings to provide HDR 10 metadata that is missing or inaccurate in 353 * your input video. Appropriate values vary depending on the input video and must 354 * be provided by a color grader. The color grader generates these values during 355 * the HDR 10 mastering process. The valid range for each of these settings is 0 to 356 * 50,000. Each increment represents 0.00002 in CIE1931 color coordinate. Related 357 * settings - When you specify these values, you must also set Color space 358 * (ColorSpace) to HDR 10 (HDR10). To specify whether the the values you specify 359 * here take precedence over the values in the metadata of your input file, set 360 * Color space usage (ColorSpaceUsage). To specify whether color metadata is 361 * included in an output, set Color metadata (ColorMetadata). For more information 362 * about MediaConvert HDR jobs, see 363 * https://docs.aws.amazon.com/console/mediaconvert/hdr. 364 */ WithHdr10Metadata(Hdr10Metadata && value)365 inline VideoSelector& WithHdr10Metadata(Hdr10Metadata&& value) { SetHdr10Metadata(std::move(value)); return *this;} 366 367 368 /** 369 * Use PID (Pid) to select specific video data from an input file. Specify this 370 * value as an integer; the system automatically converts it to the hexidecimal 371 * value. For example, 257 selects PID 0x101. A PID, or packet identifier, is an 372 * identifier for a set of data in an MPEG-2 transport stream container. 373 */ GetPid()374 inline int GetPid() const{ return m_pid; } 375 376 /** 377 * Use PID (Pid) to select specific video data from an input file. Specify this 378 * value as an integer; the system automatically converts it to the hexidecimal 379 * value. For example, 257 selects PID 0x101. A PID, or packet identifier, is an 380 * identifier for a set of data in an MPEG-2 transport stream container. 381 */ PidHasBeenSet()382 inline bool PidHasBeenSet() const { return m_pidHasBeenSet; } 383 384 /** 385 * Use PID (Pid) to select specific video data from an input file. Specify this 386 * value as an integer; the system automatically converts it to the hexidecimal 387 * value. For example, 257 selects PID 0x101. A PID, or packet identifier, is an 388 * identifier for a set of data in an MPEG-2 transport stream container. 389 */ SetPid(int value)390 inline void SetPid(int value) { m_pidHasBeenSet = true; m_pid = value; } 391 392 /** 393 * Use PID (Pid) to select specific video data from an input file. Specify this 394 * value as an integer; the system automatically converts it to the hexidecimal 395 * value. For example, 257 selects PID 0x101. A PID, or packet identifier, is an 396 * identifier for a set of data in an MPEG-2 transport stream container. 397 */ WithPid(int value)398 inline VideoSelector& WithPid(int value) { SetPid(value); return *this;} 399 400 401 /** 402 * Selects a specific program from within a multi-program transport stream. Note 403 * that Quad 4K is not currently supported. 404 */ GetProgramNumber()405 inline int GetProgramNumber() const{ return m_programNumber; } 406 407 /** 408 * Selects a specific program from within a multi-program transport stream. Note 409 * that Quad 4K is not currently supported. 410 */ ProgramNumberHasBeenSet()411 inline bool ProgramNumberHasBeenSet() const { return m_programNumberHasBeenSet; } 412 413 /** 414 * Selects a specific program from within a multi-program transport stream. Note 415 * that Quad 4K is not currently supported. 416 */ SetProgramNumber(int value)417 inline void SetProgramNumber(int value) { m_programNumberHasBeenSet = true; m_programNumber = value; } 418 419 /** 420 * Selects a specific program from within a multi-program transport stream. Note 421 * that Quad 4K is not currently supported. 422 */ WithProgramNumber(int value)423 inline VideoSelector& WithProgramNumber(int value) { SetProgramNumber(value); return *this;} 424 425 426 /** 427 * Use Rotate (InputRotate) to specify how the service rotates your video. You can 428 * choose automatic rotation or specify a rotation. You can specify a clockwise 429 * rotation of 0, 90, 180, or 270 degrees. If your input video container is .mov or 430 * .mp4 and your input has rotation metadata, you can choose Automatic to have the 431 * service rotate your video according to the rotation specified in the metadata. 432 * The rotation must be within one degree of 90, 180, or 270 degrees. If the 433 * rotation metadata specifies any other rotation, the service will default to no 434 * rotation. By default, the service does no rotation, even if your input video has 435 * rotation metadata. The service doesn't pass through rotation metadata. 436 */ GetRotate()437 inline const InputRotate& GetRotate() const{ return m_rotate; } 438 439 /** 440 * Use Rotate (InputRotate) to specify how the service rotates your video. You can 441 * choose automatic rotation or specify a rotation. You can specify a clockwise 442 * rotation of 0, 90, 180, or 270 degrees. If your input video container is .mov or 443 * .mp4 and your input has rotation metadata, you can choose Automatic to have the 444 * service rotate your video according to the rotation specified in the metadata. 445 * The rotation must be within one degree of 90, 180, or 270 degrees. If the 446 * rotation metadata specifies any other rotation, the service will default to no 447 * rotation. By default, the service does no rotation, even if your input video has 448 * rotation metadata. The service doesn't pass through rotation metadata. 449 */ RotateHasBeenSet()450 inline bool RotateHasBeenSet() const { return m_rotateHasBeenSet; } 451 452 /** 453 * Use Rotate (InputRotate) to specify how the service rotates your video. You can 454 * choose automatic rotation or specify a rotation. You can specify a clockwise 455 * rotation of 0, 90, 180, or 270 degrees. If your input video container is .mov or 456 * .mp4 and your input has rotation metadata, you can choose Automatic to have the 457 * service rotate your video according to the rotation specified in the metadata. 458 * The rotation must be within one degree of 90, 180, or 270 degrees. If the 459 * rotation metadata specifies any other rotation, the service will default to no 460 * rotation. By default, the service does no rotation, even if your input video has 461 * rotation metadata. The service doesn't pass through rotation metadata. 462 */ SetRotate(const InputRotate & value)463 inline void SetRotate(const InputRotate& value) { m_rotateHasBeenSet = true; m_rotate = value; } 464 465 /** 466 * Use Rotate (InputRotate) to specify how the service rotates your video. You can 467 * choose automatic rotation or specify a rotation. You can specify a clockwise 468 * rotation of 0, 90, 180, or 270 degrees. If your input video container is .mov or 469 * .mp4 and your input has rotation metadata, you can choose Automatic to have the 470 * service rotate your video according to the rotation specified in the metadata. 471 * The rotation must be within one degree of 90, 180, or 270 degrees. If the 472 * rotation metadata specifies any other rotation, the service will default to no 473 * rotation. By default, the service does no rotation, even if your input video has 474 * rotation metadata. The service doesn't pass through rotation metadata. 475 */ SetRotate(InputRotate && value)476 inline void SetRotate(InputRotate&& value) { m_rotateHasBeenSet = true; m_rotate = std::move(value); } 477 478 /** 479 * Use Rotate (InputRotate) to specify how the service rotates your video. You can 480 * choose automatic rotation or specify a rotation. You can specify a clockwise 481 * rotation of 0, 90, 180, or 270 degrees. If your input video container is .mov or 482 * .mp4 and your input has rotation metadata, you can choose Automatic to have the 483 * service rotate your video according to the rotation specified in the metadata. 484 * The rotation must be within one degree of 90, 180, or 270 degrees. If the 485 * rotation metadata specifies any other rotation, the service will default to no 486 * rotation. By default, the service does no rotation, even if your input video has 487 * rotation metadata. The service doesn't pass through rotation metadata. 488 */ WithRotate(const InputRotate & value)489 inline VideoSelector& WithRotate(const InputRotate& value) { SetRotate(value); return *this;} 490 491 /** 492 * Use Rotate (InputRotate) to specify how the service rotates your video. You can 493 * choose automatic rotation or specify a rotation. You can specify a clockwise 494 * rotation of 0, 90, 180, or 270 degrees. If your input video container is .mov or 495 * .mp4 and your input has rotation metadata, you can choose Automatic to have the 496 * service rotate your video according to the rotation specified in the metadata. 497 * The rotation must be within one degree of 90, 180, or 270 degrees. If the 498 * rotation metadata specifies any other rotation, the service will default to no 499 * rotation. By default, the service does no rotation, even if your input video has 500 * rotation metadata. The service doesn't pass through rotation metadata. 501 */ WithRotate(InputRotate && value)502 inline VideoSelector& WithRotate(InputRotate&& value) { SetRotate(std::move(value)); return *this;} 503 504 505 /** 506 * If the sample range metadata in your input video is accurate, or if you don't 507 * know about sample range, keep the default value, Follow (FOLLOW), for this 508 * setting. When you do, the service automatically detects your input sample range. 509 * If your input video has metadata indicating the wrong sample range, specify the 510 * accurate sample range here. When you do, MediaConvert ignores any sample range 511 * information in the input metadata. Regardless of whether MediaConvert uses the 512 * input sample range or the sample range that you specify, MediaConvert uses the 513 * sample range for transcoding and also writes it to the output metadata. 514 */ GetSampleRange()515 inline const InputSampleRange& GetSampleRange() const{ return m_sampleRange; } 516 517 /** 518 * If the sample range metadata in your input video is accurate, or if you don't 519 * know about sample range, keep the default value, Follow (FOLLOW), for this 520 * setting. When you do, the service automatically detects your input sample range. 521 * If your input video has metadata indicating the wrong sample range, specify the 522 * accurate sample range here. When you do, MediaConvert ignores any sample range 523 * information in the input metadata. Regardless of whether MediaConvert uses the 524 * input sample range or the sample range that you specify, MediaConvert uses the 525 * sample range for transcoding and also writes it to the output metadata. 526 */ SampleRangeHasBeenSet()527 inline bool SampleRangeHasBeenSet() const { return m_sampleRangeHasBeenSet; } 528 529 /** 530 * If the sample range metadata in your input video is accurate, or if you don't 531 * know about sample range, keep the default value, Follow (FOLLOW), for this 532 * setting. When you do, the service automatically detects your input sample range. 533 * If your input video has metadata indicating the wrong sample range, specify the 534 * accurate sample range here. When you do, MediaConvert ignores any sample range 535 * information in the input metadata. Regardless of whether MediaConvert uses the 536 * input sample range or the sample range that you specify, MediaConvert uses the 537 * sample range for transcoding and also writes it to the output metadata. 538 */ SetSampleRange(const InputSampleRange & value)539 inline void SetSampleRange(const InputSampleRange& value) { m_sampleRangeHasBeenSet = true; m_sampleRange = value; } 540 541 /** 542 * If the sample range metadata in your input video is accurate, or if you don't 543 * know about sample range, keep the default value, Follow (FOLLOW), for this 544 * setting. When you do, the service automatically detects your input sample range. 545 * If your input video has metadata indicating the wrong sample range, specify the 546 * accurate sample range here. When you do, MediaConvert ignores any sample range 547 * information in the input metadata. Regardless of whether MediaConvert uses the 548 * input sample range or the sample range that you specify, MediaConvert uses the 549 * sample range for transcoding and also writes it to the output metadata. 550 */ SetSampleRange(InputSampleRange && value)551 inline void SetSampleRange(InputSampleRange&& value) { m_sampleRangeHasBeenSet = true; m_sampleRange = std::move(value); } 552 553 /** 554 * If the sample range metadata in your input video is accurate, or if you don't 555 * know about sample range, keep the default value, Follow (FOLLOW), for this 556 * setting. When you do, the service automatically detects your input sample range. 557 * If your input video has metadata indicating the wrong sample range, specify the 558 * accurate sample range here. When you do, MediaConvert ignores any sample range 559 * information in the input metadata. Regardless of whether MediaConvert uses the 560 * input sample range or the sample range that you specify, MediaConvert uses the 561 * sample range for transcoding and also writes it to the output metadata. 562 */ WithSampleRange(const InputSampleRange & value)563 inline VideoSelector& WithSampleRange(const InputSampleRange& value) { SetSampleRange(value); return *this;} 564 565 /** 566 * If the sample range metadata in your input video is accurate, or if you don't 567 * know about sample range, keep the default value, Follow (FOLLOW), for this 568 * setting. When you do, the service automatically detects your input sample range. 569 * If your input video has metadata indicating the wrong sample range, specify the 570 * accurate sample range here. When you do, MediaConvert ignores any sample range 571 * information in the input metadata. Regardless of whether MediaConvert uses the 572 * input sample range or the sample range that you specify, MediaConvert uses the 573 * sample range for transcoding and also writes it to the output metadata. 574 */ WithSampleRange(InputSampleRange && value)575 inline VideoSelector& WithSampleRange(InputSampleRange&& value) { SetSampleRange(std::move(value)); return *this;} 576 577 private: 578 579 AlphaBehavior m_alphaBehavior; 580 bool m_alphaBehaviorHasBeenSet; 581 582 ColorSpace m_colorSpace; 583 bool m_colorSpaceHasBeenSet; 584 585 ColorSpaceUsage m_colorSpaceUsage; 586 bool m_colorSpaceUsageHasBeenSet; 587 588 Hdr10Metadata m_hdr10Metadata; 589 bool m_hdr10MetadataHasBeenSet; 590 591 int m_pid; 592 bool m_pidHasBeenSet; 593 594 int m_programNumber; 595 bool m_programNumberHasBeenSet; 596 597 InputRotate m_rotate; 598 bool m_rotateHasBeenSet; 599 600 InputSampleRange m_sampleRange; 601 bool m_sampleRangeHasBeenSet; 602 }; 603 604 } // namespace Model 605 } // namespace MediaConvert 606 } // namespace Aws 607