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/mediaconnect/MediaConnect_EXPORTS.h> 8 #include <aws/mediaconnect/model/EncoderProfile.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace MediaConnect 22 { 23 namespace Model 24 { 25 26 /** 27 * A collection of parameters that determine how MediaConnect will convert the 28 * content. These fields only apply to outputs on flows that have a CDI 29 * source.<p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/EncodingParametersRequest">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_MEDIACONNECT_API EncodingParametersRequest 34 { 35 public: 36 EncodingParametersRequest(); 37 EncodingParametersRequest(Aws::Utils::Json::JsonView jsonValue); 38 EncodingParametersRequest& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * A value that is used to calculate compression for an output. The bitrate of the 44 * output is calculated as follows: Output bitrate = (1 / compressionFactor) * 45 * (source bitrate) This property only applies to outputs that use the ST 2110 JPEG 46 * XS protocol, with a flow source that uses the CDI protocol. Valid values are 47 * floating point numbers in the range of 3.0 to 10.0, inclusive. 48 */ GetCompressionFactor()49 inline double GetCompressionFactor() const{ return m_compressionFactor; } 50 51 /** 52 * A value that is used to calculate compression for an output. The bitrate of the 53 * output is calculated as follows: Output bitrate = (1 / compressionFactor) * 54 * (source bitrate) This property only applies to outputs that use the ST 2110 JPEG 55 * XS protocol, with a flow source that uses the CDI protocol. Valid values are 56 * floating point numbers in the range of 3.0 to 10.0, inclusive. 57 */ CompressionFactorHasBeenSet()58 inline bool CompressionFactorHasBeenSet() const { return m_compressionFactorHasBeenSet; } 59 60 /** 61 * A value that is used to calculate compression for an output. The bitrate of the 62 * output is calculated as follows: Output bitrate = (1 / compressionFactor) * 63 * (source bitrate) This property only applies to outputs that use the ST 2110 JPEG 64 * XS protocol, with a flow source that uses the CDI protocol. Valid values are 65 * floating point numbers in the range of 3.0 to 10.0, inclusive. 66 */ SetCompressionFactor(double value)67 inline void SetCompressionFactor(double value) { m_compressionFactorHasBeenSet = true; m_compressionFactor = value; } 68 69 /** 70 * A value that is used to calculate compression for an output. The bitrate of the 71 * output is calculated as follows: Output bitrate = (1 / compressionFactor) * 72 * (source bitrate) This property only applies to outputs that use the ST 2110 JPEG 73 * XS protocol, with a flow source that uses the CDI protocol. Valid values are 74 * floating point numbers in the range of 3.0 to 10.0, inclusive. 75 */ WithCompressionFactor(double value)76 inline EncodingParametersRequest& WithCompressionFactor(double value) { SetCompressionFactor(value); return *this;} 77 78 79 /** 80 * A setting on the encoder that drives compression settings. This property only 81 * applies to video media streams associated with outputs that use the ST 2110 JPEG 82 * XS protocol, if at least one source on the flow uses the CDI protocol. 83 */ GetEncoderProfile()84 inline const EncoderProfile& GetEncoderProfile() const{ return m_encoderProfile; } 85 86 /** 87 * A setting on the encoder that drives compression settings. This property only 88 * applies to video media streams associated with outputs that use the ST 2110 JPEG 89 * XS protocol, if at least one source on the flow uses the CDI protocol. 90 */ EncoderProfileHasBeenSet()91 inline bool EncoderProfileHasBeenSet() const { return m_encoderProfileHasBeenSet; } 92 93 /** 94 * A setting on the encoder that drives compression settings. This property only 95 * applies to video media streams associated with outputs that use the ST 2110 JPEG 96 * XS protocol, if at least one source on the flow uses the CDI protocol. 97 */ SetEncoderProfile(const EncoderProfile & value)98 inline void SetEncoderProfile(const EncoderProfile& value) { m_encoderProfileHasBeenSet = true; m_encoderProfile = value; } 99 100 /** 101 * A setting on the encoder that drives compression settings. This property only 102 * applies to video media streams associated with outputs that use the ST 2110 JPEG 103 * XS protocol, if at least one source on the flow uses the CDI protocol. 104 */ SetEncoderProfile(EncoderProfile && value)105 inline void SetEncoderProfile(EncoderProfile&& value) { m_encoderProfileHasBeenSet = true; m_encoderProfile = std::move(value); } 106 107 /** 108 * A setting on the encoder that drives compression settings. This property only 109 * applies to video media streams associated with outputs that use the ST 2110 JPEG 110 * XS protocol, if at least one source on the flow uses the CDI protocol. 111 */ WithEncoderProfile(const EncoderProfile & value)112 inline EncodingParametersRequest& WithEncoderProfile(const EncoderProfile& value) { SetEncoderProfile(value); return *this;} 113 114 /** 115 * A setting on the encoder that drives compression settings. This property only 116 * applies to video media streams associated with outputs that use the ST 2110 JPEG 117 * XS protocol, if at least one source on the flow uses the CDI protocol. 118 */ WithEncoderProfile(EncoderProfile && value)119 inline EncodingParametersRequest& WithEncoderProfile(EncoderProfile&& value) { SetEncoderProfile(std::move(value)); return *this;} 120 121 private: 122 123 double m_compressionFactor; 124 bool m_compressionFactorHasBeenSet; 125 126 EncoderProfile m_encoderProfile; 127 bool m_encoderProfileHasBeenSet; 128 }; 129 130 } // namespace Model 131 } // namespace MediaConnect 132 } // namespace Aws 133