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/Av1Settings.h> 9 #include <aws/mediaconvert/model/AvcIntraSettings.h> 10 #include <aws/mediaconvert/model/VideoCodec.h> 11 #include <aws/mediaconvert/model/FrameCaptureSettings.h> 12 #include <aws/mediaconvert/model/H264Settings.h> 13 #include <aws/mediaconvert/model/H265Settings.h> 14 #include <aws/mediaconvert/model/Mpeg2Settings.h> 15 #include <aws/mediaconvert/model/ProresSettings.h> 16 #include <aws/mediaconvert/model/Vc3Settings.h> 17 #include <aws/mediaconvert/model/Vp8Settings.h> 18 #include <aws/mediaconvert/model/Vp9Settings.h> 19 #include <aws/mediaconvert/model/XavcSettings.h> 20 #include <utility> 21 22 namespace Aws 23 { 24 namespace Utils 25 { 26 namespace Json 27 { 28 class JsonValue; 29 class JsonView; 30 } // namespace Json 31 } // namespace Utils 32 namespace MediaConvert 33 { 34 namespace Model 35 { 36 37 /** 38 * Video codec settings, (CodecSettings) under (VideoDescription), contains the 39 * group of settings related to video encoding. The settings in this group vary 40 * depending on the value that you choose for Video codec (Codec). For each codec 41 * enum that you choose, define the corresponding settings object. The following 42 * lists the codec enum, settings object pairs. * AV1, Av1Settings * AVC_INTRA, 43 * AvcIntraSettings * FRAME_CAPTURE, FrameCaptureSettings * H_264, H264Settings * 44 * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VC3, 45 * Vc3Settings * VP8, Vp8Settings * VP9, Vp9Settings * XAVC, XavcSettings<p><h3>See 46 * Also:</h3> <a 47 * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/VideoCodecSettings">AWS 48 * API Reference</a></p> 49 */ 50 class AWS_MEDIACONVERT_API VideoCodecSettings 51 { 52 public: 53 VideoCodecSettings(); 54 VideoCodecSettings(Aws::Utils::Json::JsonView jsonValue); 55 VideoCodecSettings& operator=(Aws::Utils::Json::JsonView jsonValue); 56 Aws::Utils::Json::JsonValue Jsonize() const; 57 58 59 /** 60 * Required when you set Codec, under VideoDescription>CodecSettings to the value 61 * AV1. 62 */ GetAv1Settings()63 inline const Av1Settings& GetAv1Settings() const{ return m_av1Settings; } 64 65 /** 66 * Required when you set Codec, under VideoDescription>CodecSettings to the value 67 * AV1. 68 */ Av1SettingsHasBeenSet()69 inline bool Av1SettingsHasBeenSet() const { return m_av1SettingsHasBeenSet; } 70 71 /** 72 * Required when you set Codec, under VideoDescription>CodecSettings to the value 73 * AV1. 74 */ SetAv1Settings(const Av1Settings & value)75 inline void SetAv1Settings(const Av1Settings& value) { m_av1SettingsHasBeenSet = true; m_av1Settings = value; } 76 77 /** 78 * Required when you set Codec, under VideoDescription>CodecSettings to the value 79 * AV1. 80 */ SetAv1Settings(Av1Settings && value)81 inline void SetAv1Settings(Av1Settings&& value) { m_av1SettingsHasBeenSet = true; m_av1Settings = std::move(value); } 82 83 /** 84 * Required when you set Codec, under VideoDescription>CodecSettings to the value 85 * AV1. 86 */ WithAv1Settings(const Av1Settings & value)87 inline VideoCodecSettings& WithAv1Settings(const Av1Settings& value) { SetAv1Settings(value); return *this;} 88 89 /** 90 * Required when you set Codec, under VideoDescription>CodecSettings to the value 91 * AV1. 92 */ WithAv1Settings(Av1Settings && value)93 inline VideoCodecSettings& WithAv1Settings(Av1Settings&& value) { SetAv1Settings(std::move(value)); return *this;} 94 95 96 /** 97 * Required when you choose AVC-Intra for your output video codec. For more 98 * information about the AVC-Intra settings, see the relevant specification. For 99 * detailed information about SD and HD in AVC-Intra, see 100 * https://ieeexplore.ieee.org/document/7290936. For information about 4K/2K in 101 * AVC-Intra, see https://pro-av.panasonic.net/en/avc-ultra/AVC-ULTRAoverview.pdf. 102 */ GetAvcIntraSettings()103 inline const AvcIntraSettings& GetAvcIntraSettings() const{ return m_avcIntraSettings; } 104 105 /** 106 * Required when you choose AVC-Intra for your output video codec. For more 107 * information about the AVC-Intra settings, see the relevant specification. For 108 * detailed information about SD and HD in AVC-Intra, see 109 * https://ieeexplore.ieee.org/document/7290936. For information about 4K/2K in 110 * AVC-Intra, see https://pro-av.panasonic.net/en/avc-ultra/AVC-ULTRAoverview.pdf. 111 */ AvcIntraSettingsHasBeenSet()112 inline bool AvcIntraSettingsHasBeenSet() const { return m_avcIntraSettingsHasBeenSet; } 113 114 /** 115 * Required when you choose AVC-Intra for your output video codec. For more 116 * information about the AVC-Intra settings, see the relevant specification. For 117 * detailed information about SD and HD in AVC-Intra, see 118 * https://ieeexplore.ieee.org/document/7290936. For information about 4K/2K in 119 * AVC-Intra, see https://pro-av.panasonic.net/en/avc-ultra/AVC-ULTRAoverview.pdf. 120 */ SetAvcIntraSettings(const AvcIntraSettings & value)121 inline void SetAvcIntraSettings(const AvcIntraSettings& value) { m_avcIntraSettingsHasBeenSet = true; m_avcIntraSettings = value; } 122 123 /** 124 * Required when you choose AVC-Intra for your output video codec. For more 125 * information about the AVC-Intra settings, see the relevant specification. For 126 * detailed information about SD and HD in AVC-Intra, see 127 * https://ieeexplore.ieee.org/document/7290936. For information about 4K/2K in 128 * AVC-Intra, see https://pro-av.panasonic.net/en/avc-ultra/AVC-ULTRAoverview.pdf. 129 */ SetAvcIntraSettings(AvcIntraSettings && value)130 inline void SetAvcIntraSettings(AvcIntraSettings&& value) { m_avcIntraSettingsHasBeenSet = true; m_avcIntraSettings = std::move(value); } 131 132 /** 133 * Required when you choose AVC-Intra for your output video codec. For more 134 * information about the AVC-Intra settings, see the relevant specification. For 135 * detailed information about SD and HD in AVC-Intra, see 136 * https://ieeexplore.ieee.org/document/7290936. For information about 4K/2K in 137 * AVC-Intra, see https://pro-av.panasonic.net/en/avc-ultra/AVC-ULTRAoverview.pdf. 138 */ WithAvcIntraSettings(const AvcIntraSettings & value)139 inline VideoCodecSettings& WithAvcIntraSettings(const AvcIntraSettings& value) { SetAvcIntraSettings(value); return *this;} 140 141 /** 142 * Required when you choose AVC-Intra for your output video codec. For more 143 * information about the AVC-Intra settings, see the relevant specification. For 144 * detailed information about SD and HD in AVC-Intra, see 145 * https://ieeexplore.ieee.org/document/7290936. For information about 4K/2K in 146 * AVC-Intra, see https://pro-av.panasonic.net/en/avc-ultra/AVC-ULTRAoverview.pdf. 147 */ WithAvcIntraSettings(AvcIntraSettings && value)148 inline VideoCodecSettings& WithAvcIntraSettings(AvcIntraSettings&& value) { SetAvcIntraSettings(std::move(value)); return *this;} 149 150 151 /** 152 * Specifies the video codec. This must be equal to one of the enum values defined 153 * by the object VideoCodec. 154 */ GetCodec()155 inline const VideoCodec& GetCodec() const{ return m_codec; } 156 157 /** 158 * Specifies the video codec. This must be equal to one of the enum values defined 159 * by the object VideoCodec. 160 */ CodecHasBeenSet()161 inline bool CodecHasBeenSet() const { return m_codecHasBeenSet; } 162 163 /** 164 * Specifies the video codec. This must be equal to one of the enum values defined 165 * by the object VideoCodec. 166 */ SetCodec(const VideoCodec & value)167 inline void SetCodec(const VideoCodec& value) { m_codecHasBeenSet = true; m_codec = value; } 168 169 /** 170 * Specifies the video codec. This must be equal to one of the enum values defined 171 * by the object VideoCodec. 172 */ SetCodec(VideoCodec && value)173 inline void SetCodec(VideoCodec&& value) { m_codecHasBeenSet = true; m_codec = std::move(value); } 174 175 /** 176 * Specifies the video codec. This must be equal to one of the enum values defined 177 * by the object VideoCodec. 178 */ WithCodec(const VideoCodec & value)179 inline VideoCodecSettings& WithCodec(const VideoCodec& value) { SetCodec(value); return *this;} 180 181 /** 182 * Specifies the video codec. This must be equal to one of the enum values defined 183 * by the object VideoCodec. 184 */ WithCodec(VideoCodec && value)185 inline VideoCodecSettings& WithCodec(VideoCodec&& value) { SetCodec(std::move(value)); return *this;} 186 187 188 /** 189 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 190 * value FRAME_CAPTURE. 191 */ GetFrameCaptureSettings()192 inline const FrameCaptureSettings& GetFrameCaptureSettings() const{ return m_frameCaptureSettings; } 193 194 /** 195 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 196 * value FRAME_CAPTURE. 197 */ FrameCaptureSettingsHasBeenSet()198 inline bool FrameCaptureSettingsHasBeenSet() const { return m_frameCaptureSettingsHasBeenSet; } 199 200 /** 201 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 202 * value FRAME_CAPTURE. 203 */ SetFrameCaptureSettings(const FrameCaptureSettings & value)204 inline void SetFrameCaptureSettings(const FrameCaptureSettings& value) { m_frameCaptureSettingsHasBeenSet = true; m_frameCaptureSettings = value; } 205 206 /** 207 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 208 * value FRAME_CAPTURE. 209 */ SetFrameCaptureSettings(FrameCaptureSettings && value)210 inline void SetFrameCaptureSettings(FrameCaptureSettings&& value) { m_frameCaptureSettingsHasBeenSet = true; m_frameCaptureSettings = std::move(value); } 211 212 /** 213 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 214 * value FRAME_CAPTURE. 215 */ WithFrameCaptureSettings(const FrameCaptureSettings & value)216 inline VideoCodecSettings& WithFrameCaptureSettings(const FrameCaptureSettings& value) { SetFrameCaptureSettings(value); return *this;} 217 218 /** 219 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 220 * value FRAME_CAPTURE. 221 */ WithFrameCaptureSettings(FrameCaptureSettings && value)222 inline VideoCodecSettings& WithFrameCaptureSettings(FrameCaptureSettings&& value) { SetFrameCaptureSettings(std::move(value)); return *this;} 223 224 225 /** 226 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 227 * value H_264. 228 */ GetH264Settings()229 inline const H264Settings& GetH264Settings() const{ return m_h264Settings; } 230 231 /** 232 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 233 * value H_264. 234 */ H264SettingsHasBeenSet()235 inline bool H264SettingsHasBeenSet() const { return m_h264SettingsHasBeenSet; } 236 237 /** 238 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 239 * value H_264. 240 */ SetH264Settings(const H264Settings & value)241 inline void SetH264Settings(const H264Settings& value) { m_h264SettingsHasBeenSet = true; m_h264Settings = value; } 242 243 /** 244 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 245 * value H_264. 246 */ SetH264Settings(H264Settings && value)247 inline void SetH264Settings(H264Settings&& value) { m_h264SettingsHasBeenSet = true; m_h264Settings = std::move(value); } 248 249 /** 250 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 251 * value H_264. 252 */ WithH264Settings(const H264Settings & value)253 inline VideoCodecSettings& WithH264Settings(const H264Settings& value) { SetH264Settings(value); return *this;} 254 255 /** 256 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 257 * value H_264. 258 */ WithH264Settings(H264Settings && value)259 inline VideoCodecSettings& WithH264Settings(H264Settings&& value) { SetH264Settings(std::move(value)); return *this;} 260 261 262 /** 263 * Settings for H265 codec 264 */ GetH265Settings()265 inline const H265Settings& GetH265Settings() const{ return m_h265Settings; } 266 267 /** 268 * Settings for H265 codec 269 */ H265SettingsHasBeenSet()270 inline bool H265SettingsHasBeenSet() const { return m_h265SettingsHasBeenSet; } 271 272 /** 273 * Settings for H265 codec 274 */ SetH265Settings(const H265Settings & value)275 inline void SetH265Settings(const H265Settings& value) { m_h265SettingsHasBeenSet = true; m_h265Settings = value; } 276 277 /** 278 * Settings for H265 codec 279 */ SetH265Settings(H265Settings && value)280 inline void SetH265Settings(H265Settings&& value) { m_h265SettingsHasBeenSet = true; m_h265Settings = std::move(value); } 281 282 /** 283 * Settings for H265 codec 284 */ WithH265Settings(const H265Settings & value)285 inline VideoCodecSettings& WithH265Settings(const H265Settings& value) { SetH265Settings(value); return *this;} 286 287 /** 288 * Settings for H265 codec 289 */ WithH265Settings(H265Settings && value)290 inline VideoCodecSettings& WithH265Settings(H265Settings&& value) { SetH265Settings(std::move(value)); return *this;} 291 292 293 /** 294 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 295 * value MPEG2. 296 */ GetMpeg2Settings()297 inline const Mpeg2Settings& GetMpeg2Settings() const{ return m_mpeg2Settings; } 298 299 /** 300 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 301 * value MPEG2. 302 */ Mpeg2SettingsHasBeenSet()303 inline bool Mpeg2SettingsHasBeenSet() const { return m_mpeg2SettingsHasBeenSet; } 304 305 /** 306 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 307 * value MPEG2. 308 */ SetMpeg2Settings(const Mpeg2Settings & value)309 inline void SetMpeg2Settings(const Mpeg2Settings& value) { m_mpeg2SettingsHasBeenSet = true; m_mpeg2Settings = value; } 310 311 /** 312 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 313 * value MPEG2. 314 */ SetMpeg2Settings(Mpeg2Settings && value)315 inline void SetMpeg2Settings(Mpeg2Settings&& value) { m_mpeg2SettingsHasBeenSet = true; m_mpeg2Settings = std::move(value); } 316 317 /** 318 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 319 * value MPEG2. 320 */ WithMpeg2Settings(const Mpeg2Settings & value)321 inline VideoCodecSettings& WithMpeg2Settings(const Mpeg2Settings& value) { SetMpeg2Settings(value); return *this;} 322 323 /** 324 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 325 * value MPEG2. 326 */ WithMpeg2Settings(Mpeg2Settings && value)327 inline VideoCodecSettings& WithMpeg2Settings(Mpeg2Settings&& value) { SetMpeg2Settings(std::move(value)); return *this;} 328 329 330 /** 331 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 332 * value PRORES. 333 */ GetProresSettings()334 inline const ProresSettings& GetProresSettings() const{ return m_proresSettings; } 335 336 /** 337 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 338 * value PRORES. 339 */ ProresSettingsHasBeenSet()340 inline bool ProresSettingsHasBeenSet() const { return m_proresSettingsHasBeenSet; } 341 342 /** 343 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 344 * value PRORES. 345 */ SetProresSettings(const ProresSettings & value)346 inline void SetProresSettings(const ProresSettings& value) { m_proresSettingsHasBeenSet = true; m_proresSettings = value; } 347 348 /** 349 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 350 * value PRORES. 351 */ SetProresSettings(ProresSettings && value)352 inline void SetProresSettings(ProresSettings&& value) { m_proresSettingsHasBeenSet = true; m_proresSettings = std::move(value); } 353 354 /** 355 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 356 * value PRORES. 357 */ WithProresSettings(const ProresSettings & value)358 inline VideoCodecSettings& WithProresSettings(const ProresSettings& value) { SetProresSettings(value); return *this;} 359 360 /** 361 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 362 * value PRORES. 363 */ WithProresSettings(ProresSettings && value)364 inline VideoCodecSettings& WithProresSettings(ProresSettings&& value) { SetProresSettings(std::move(value)); return *this;} 365 366 367 /** 368 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 369 * value VC3 370 */ GetVc3Settings()371 inline const Vc3Settings& GetVc3Settings() const{ return m_vc3Settings; } 372 373 /** 374 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 375 * value VC3 376 */ Vc3SettingsHasBeenSet()377 inline bool Vc3SettingsHasBeenSet() const { return m_vc3SettingsHasBeenSet; } 378 379 /** 380 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 381 * value VC3 382 */ SetVc3Settings(const Vc3Settings & value)383 inline void SetVc3Settings(const Vc3Settings& value) { m_vc3SettingsHasBeenSet = true; m_vc3Settings = value; } 384 385 /** 386 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 387 * value VC3 388 */ SetVc3Settings(Vc3Settings && value)389 inline void SetVc3Settings(Vc3Settings&& value) { m_vc3SettingsHasBeenSet = true; m_vc3Settings = std::move(value); } 390 391 /** 392 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 393 * value VC3 394 */ WithVc3Settings(const Vc3Settings & value)395 inline VideoCodecSettings& WithVc3Settings(const Vc3Settings& value) { SetVc3Settings(value); return *this;} 396 397 /** 398 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 399 * value VC3 400 */ WithVc3Settings(Vc3Settings && value)401 inline VideoCodecSettings& WithVc3Settings(Vc3Settings&& value) { SetVc3Settings(std::move(value)); return *this;} 402 403 404 /** 405 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 406 * value VP8. 407 */ GetVp8Settings()408 inline const Vp8Settings& GetVp8Settings() const{ return m_vp8Settings; } 409 410 /** 411 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 412 * value VP8. 413 */ Vp8SettingsHasBeenSet()414 inline bool Vp8SettingsHasBeenSet() const { return m_vp8SettingsHasBeenSet; } 415 416 /** 417 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 418 * value VP8. 419 */ SetVp8Settings(const Vp8Settings & value)420 inline void SetVp8Settings(const Vp8Settings& value) { m_vp8SettingsHasBeenSet = true; m_vp8Settings = value; } 421 422 /** 423 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 424 * value VP8. 425 */ SetVp8Settings(Vp8Settings && value)426 inline void SetVp8Settings(Vp8Settings&& value) { m_vp8SettingsHasBeenSet = true; m_vp8Settings = std::move(value); } 427 428 /** 429 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 430 * value VP8. 431 */ WithVp8Settings(const Vp8Settings & value)432 inline VideoCodecSettings& WithVp8Settings(const Vp8Settings& value) { SetVp8Settings(value); return *this;} 433 434 /** 435 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 436 * value VP8. 437 */ WithVp8Settings(Vp8Settings && value)438 inline VideoCodecSettings& WithVp8Settings(Vp8Settings&& value) { SetVp8Settings(std::move(value)); return *this;} 439 440 441 /** 442 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 443 * value VP9. 444 */ GetVp9Settings()445 inline const Vp9Settings& GetVp9Settings() const{ return m_vp9Settings; } 446 447 /** 448 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 449 * value VP9. 450 */ Vp9SettingsHasBeenSet()451 inline bool Vp9SettingsHasBeenSet() const { return m_vp9SettingsHasBeenSet; } 452 453 /** 454 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 455 * value VP9. 456 */ SetVp9Settings(const Vp9Settings & value)457 inline void SetVp9Settings(const Vp9Settings& value) { m_vp9SettingsHasBeenSet = true; m_vp9Settings = value; } 458 459 /** 460 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 461 * value VP9. 462 */ SetVp9Settings(Vp9Settings && value)463 inline void SetVp9Settings(Vp9Settings&& value) { m_vp9SettingsHasBeenSet = true; m_vp9Settings = std::move(value); } 464 465 /** 466 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 467 * value VP9. 468 */ WithVp9Settings(const Vp9Settings & value)469 inline VideoCodecSettings& WithVp9Settings(const Vp9Settings& value) { SetVp9Settings(value); return *this;} 470 471 /** 472 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 473 * value VP9. 474 */ WithVp9Settings(Vp9Settings && value)475 inline VideoCodecSettings& WithVp9Settings(Vp9Settings&& value) { SetVp9Settings(std::move(value)); return *this;} 476 477 478 /** 479 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 480 * value XAVC. 481 */ GetXavcSettings()482 inline const XavcSettings& GetXavcSettings() const{ return m_xavcSettings; } 483 484 /** 485 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 486 * value XAVC. 487 */ XavcSettingsHasBeenSet()488 inline bool XavcSettingsHasBeenSet() const { return m_xavcSettingsHasBeenSet; } 489 490 /** 491 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 492 * value XAVC. 493 */ SetXavcSettings(const XavcSettings & value)494 inline void SetXavcSettings(const XavcSettings& value) { m_xavcSettingsHasBeenSet = true; m_xavcSettings = value; } 495 496 /** 497 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 498 * value XAVC. 499 */ SetXavcSettings(XavcSettings && value)500 inline void SetXavcSettings(XavcSettings&& value) { m_xavcSettingsHasBeenSet = true; m_xavcSettings = std::move(value); } 501 502 /** 503 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 504 * value XAVC. 505 */ WithXavcSettings(const XavcSettings & value)506 inline VideoCodecSettings& WithXavcSettings(const XavcSettings& value) { SetXavcSettings(value); return *this;} 507 508 /** 509 * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the 510 * value XAVC. 511 */ WithXavcSettings(XavcSettings && value)512 inline VideoCodecSettings& WithXavcSettings(XavcSettings&& value) { SetXavcSettings(std::move(value)); return *this;} 513 514 private: 515 516 Av1Settings m_av1Settings; 517 bool m_av1SettingsHasBeenSet; 518 519 AvcIntraSettings m_avcIntraSettings; 520 bool m_avcIntraSettingsHasBeenSet; 521 522 VideoCodec m_codec; 523 bool m_codecHasBeenSet; 524 525 FrameCaptureSettings m_frameCaptureSettings; 526 bool m_frameCaptureSettingsHasBeenSet; 527 528 H264Settings m_h264Settings; 529 bool m_h264SettingsHasBeenSet; 530 531 H265Settings m_h265Settings; 532 bool m_h265SettingsHasBeenSet; 533 534 Mpeg2Settings m_mpeg2Settings; 535 bool m_mpeg2SettingsHasBeenSet; 536 537 ProresSettings m_proresSettings; 538 bool m_proresSettingsHasBeenSet; 539 540 Vc3Settings m_vc3Settings; 541 bool m_vc3SettingsHasBeenSet; 542 543 Vp8Settings m_vp8Settings; 544 bool m_vp8SettingsHasBeenSet; 545 546 Vp9Settings m_vp9Settings; 547 bool m_vp9SettingsHasBeenSet; 548 549 XavcSettings m_xavcSettings; 550 bool m_xavcSettingsHasBeenSet; 551 }; 552 553 } // namespace Model 554 } // namespace MediaConvert 555 } // namespace Aws 556