AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
Av1Settings.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/mediaconvert/MediaConvert_EXPORTS.h>
9#include <aws/mediaconvert/model/Av1AdaptiveQuantization.h>
10#include <aws/mediaconvert/model/Av1BitDepth.h>
11#include <aws/mediaconvert/model/Av1FilmGrainSynthesis.h>
12#include <aws/mediaconvert/model/Av1FramerateControl.h>
13#include <aws/mediaconvert/model/Av1FramerateConversionAlgorithm.h>
14#include <aws/mediaconvert/model/Av1QvbrSettings.h>
15#include <aws/mediaconvert/model/Av1RateControlMode.h>
16#include <aws/mediaconvert/model/Av1SpatialAdaptiveQuantization.h>
17#include <aws/mediaconvert/model/FrameMetricType.h>
18
19#include <utility>
20
21namespace Aws {
22namespace Utils {
23namespace Json {
24class JsonValue;
25class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace MediaConvert {
29namespace Model {
30
38 public:
39 AWS_MEDIACONVERT_API Av1Settings() = default;
40 AWS_MEDIACONVERT_API Av1Settings(Aws::Utils::Json::JsonView jsonValue);
41 AWS_MEDIACONVERT_API Av1Settings& operator=(Aws::Utils::Json::JsonView jsonValue);
42 AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const;
43
45
49 inline Av1AdaptiveQuantization GetAdaptiveQuantization() const { return m_adaptiveQuantization; }
50 inline bool AdaptiveQuantizationHasBeenSet() const { return m_adaptiveQuantizationHasBeenSet; }
52 m_adaptiveQuantizationHasBeenSet = true;
53 m_adaptiveQuantization = value;
54 }
57 return *this;
58 }
60
62
65 inline Av1BitDepth GetBitDepth() const { return m_bitDepth; }
66 inline bool BitDepthHasBeenSet() const { return m_bitDepthHasBeenSet; }
67 inline void SetBitDepth(Av1BitDepth value) {
68 m_bitDepthHasBeenSet = true;
69 m_bitDepth = value;
70 }
72 SetBitDepth(value);
73 return *this;
74 }
76
78
86 inline Av1FilmGrainSynthesis GetFilmGrainSynthesis() const { return m_filmGrainSynthesis; }
87 inline bool FilmGrainSynthesisHasBeenSet() const { return m_filmGrainSynthesisHasBeenSet; }
89 m_filmGrainSynthesisHasBeenSet = true;
90 m_filmGrainSynthesis = value;
91 }
94 return *this;
95 }
97
99
107 inline Av1FramerateControl GetFramerateControl() const { return m_framerateControl; }
108 inline bool FramerateControlHasBeenSet() const { return m_framerateControlHasBeenSet; }
110 m_framerateControlHasBeenSet = true;
111 m_framerateControl = value;
112 }
114 SetFramerateControl(value);
115 return *this;
116 }
118
120
138 inline Av1FramerateConversionAlgorithm GetFramerateConversionAlgorithm() const { return m_framerateConversionAlgorithm; }
139 inline bool FramerateConversionAlgorithmHasBeenSet() const { return m_framerateConversionAlgorithmHasBeenSet; }
141 m_framerateConversionAlgorithmHasBeenSet = true;
142 m_framerateConversionAlgorithm = value;
143 }
146 return *this;
147 }
149
151
159 inline int GetFramerateDenominator() const { return m_framerateDenominator; }
160 inline bool FramerateDenominatorHasBeenSet() const { return m_framerateDenominatorHasBeenSet; }
161 inline void SetFramerateDenominator(int value) {
162 m_framerateDenominatorHasBeenSet = true;
163 m_framerateDenominator = value;
164 }
167 return *this;
168 }
170
172
180 inline int GetFramerateNumerator() const { return m_framerateNumerator; }
181 inline bool FramerateNumeratorHasBeenSet() const { return m_framerateNumeratorHasBeenSet; }
182 inline void SetFramerateNumerator(int value) {
183 m_framerateNumeratorHasBeenSet = true;
184 m_framerateNumerator = value;
185 }
188 return *this;
189 }
191
193
198 inline double GetGopSize() const { return m_gopSize; }
199 inline bool GopSizeHasBeenSet() const { return m_gopSizeHasBeenSet; }
200 inline void SetGopSize(double value) {
201 m_gopSizeHasBeenSet = true;
202 m_gopSize = value;
203 }
204 inline Av1Settings& WithGopSize(double value) {
205 SetGopSize(value);
206 return *this;
207 }
209
211
215 inline int GetMaxBitrate() const { return m_maxBitrate; }
216 inline bool MaxBitrateHasBeenSet() const { return m_maxBitrateHasBeenSet; }
217 inline void SetMaxBitrate(int value) {
218 m_maxBitrateHasBeenSet = true;
219 m_maxBitrate = value;
220 }
221 inline Av1Settings& WithMaxBitrate(int value) {
222 SetMaxBitrate(value);
223 return *this;
224 }
226
228
233 inline int GetNumberBFramesBetweenReferenceFrames() const { return m_numberBFramesBetweenReferenceFrames; }
234 inline bool NumberBFramesBetweenReferenceFramesHasBeenSet() const { return m_numberBFramesBetweenReferenceFramesHasBeenSet; }
236 m_numberBFramesBetweenReferenceFramesHasBeenSet = true;
237 m_numberBFramesBetweenReferenceFrames = value;
238 }
241 return *this;
242 }
244
246
265 inline const Aws::Vector<FrameMetricType>& GetPerFrameMetrics() const { return m_perFrameMetrics; }
266 inline bool PerFrameMetricsHasBeenSet() const { return m_perFrameMetricsHasBeenSet; }
267 template <typename PerFrameMetricsT = Aws::Vector<FrameMetricType>>
268 void SetPerFrameMetrics(PerFrameMetricsT&& value) {
269 m_perFrameMetricsHasBeenSet = true;
270 m_perFrameMetrics = std::forward<PerFrameMetricsT>(value);
271 }
272 template <typename PerFrameMetricsT = Aws::Vector<FrameMetricType>>
273 Av1Settings& WithPerFrameMetrics(PerFrameMetricsT&& value) {
274 SetPerFrameMetrics(std::forward<PerFrameMetricsT>(value));
275 return *this;
276 }
278 m_perFrameMetricsHasBeenSet = true;
279 m_perFrameMetrics.push_back(value);
280 return *this;
281 }
283
285
289 inline const Av1QvbrSettings& GetQvbrSettings() const { return m_qvbrSettings; }
290 inline bool QvbrSettingsHasBeenSet() const { return m_qvbrSettingsHasBeenSet; }
291 template <typename QvbrSettingsT = Av1QvbrSettings>
292 void SetQvbrSettings(QvbrSettingsT&& value) {
293 m_qvbrSettingsHasBeenSet = true;
294 m_qvbrSettings = std::forward<QvbrSettingsT>(value);
295 }
296 template <typename QvbrSettingsT = Av1QvbrSettings>
297 Av1Settings& WithQvbrSettings(QvbrSettingsT&& value) {
298 SetQvbrSettings(std::forward<QvbrSettingsT>(value));
299 return *this;
300 }
302
304
308 inline Av1RateControlMode GetRateControlMode() const { return m_rateControlMode; }
309 inline bool RateControlModeHasBeenSet() const { return m_rateControlModeHasBeenSet; }
311 m_rateControlModeHasBeenSet = true;
312 m_rateControlMode = value;
313 }
315 SetRateControlMode(value);
316 return *this;
317 }
319
321
327 inline int GetSlices() const { return m_slices; }
328 inline bool SlicesHasBeenSet() const { return m_slicesHasBeenSet; }
329 inline void SetSlices(int value) {
330 m_slicesHasBeenSet = true;
331 m_slices = value;
332 }
333 inline Av1Settings& WithSlices(int value) {
334 SetSlices(value);
335 return *this;
336 }
338
340
356 inline Av1SpatialAdaptiveQuantization GetSpatialAdaptiveQuantization() const { return m_spatialAdaptiveQuantization; }
357 inline bool SpatialAdaptiveQuantizationHasBeenSet() const { return m_spatialAdaptiveQuantizationHasBeenSet; }
359 m_spatialAdaptiveQuantizationHasBeenSet = true;
360 m_spatialAdaptiveQuantization = value;
361 }
364 return *this;
365 }
367 private:
369
371
373
375
377
378 int m_framerateDenominator{0};
379
380 int m_framerateNumerator{0};
381
382 double m_gopSize{0.0};
383
384 int m_maxBitrate{0};
385
386 int m_numberBFramesBetweenReferenceFrames{0};
387
388 Aws::Vector<FrameMetricType> m_perFrameMetrics;
389
390 Av1QvbrSettings m_qvbrSettings;
391
393
394 int m_slices{0};
395
397 bool m_adaptiveQuantizationHasBeenSet = false;
398 bool m_bitDepthHasBeenSet = false;
399 bool m_filmGrainSynthesisHasBeenSet = false;
400 bool m_framerateControlHasBeenSet = false;
401 bool m_framerateConversionAlgorithmHasBeenSet = false;
402 bool m_framerateDenominatorHasBeenSet = false;
403 bool m_framerateNumeratorHasBeenSet = false;
404 bool m_gopSizeHasBeenSet = false;
405 bool m_maxBitrateHasBeenSet = false;
406 bool m_numberBFramesBetweenReferenceFramesHasBeenSet = false;
407 bool m_perFrameMetricsHasBeenSet = false;
408 bool m_qvbrSettingsHasBeenSet = false;
409 bool m_rateControlModeHasBeenSet = false;
410 bool m_slicesHasBeenSet = false;
411 bool m_spatialAdaptiveQuantizationHasBeenSet = false;
412};
413
414} // namespace Model
415} // namespace MediaConvert
416} // namespace Aws
void SetQvbrSettings(QvbrSettingsT &&value)
Av1FramerateConversionAlgorithm GetFramerateConversionAlgorithm() const
AWS_MEDIACONVERT_API Av1Settings & operator=(Aws::Utils::Json::JsonView jsonValue)
Av1Settings & WithFramerateDenominator(int value)
const Aws::Vector< FrameMetricType > & GetPerFrameMetrics() const
AWS_MEDIACONVERT_API Av1Settings(Aws::Utils::Json::JsonView jsonValue)
Av1Settings & WithMaxBitrate(int value)
Av1FilmGrainSynthesis GetFilmGrainSynthesis() const
Definition Av1Settings.h:86
void SetBitDepth(Av1BitDepth value)
Definition Av1Settings.h:67
Av1Settings & WithBitDepth(Av1BitDepth value)
Definition Av1Settings.h:71
Av1Settings & WithRateControlMode(Av1RateControlMode value)
void SetFramerateConversionAlgorithm(Av1FramerateConversionAlgorithm value)
void SetAdaptiveQuantization(Av1AdaptiveQuantization value)
Definition Av1Settings.h:51
bool NumberBFramesBetweenReferenceFramesHasBeenSet() const
Av1Settings & WithGopSize(double value)
Av1AdaptiveQuantization GetAdaptiveQuantization() const
Definition Av1Settings.h:49
Av1FramerateControl GetFramerateControl() const
Av1Settings & WithAdaptiveQuantization(Av1AdaptiveQuantization value)
Definition Av1Settings.h:55
Av1Settings & WithPerFrameMetrics(PerFrameMetricsT &&value)
AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const
void SetNumberBFramesBetweenReferenceFrames(int value)
Av1Settings & WithFramerateConversionAlgorithm(Av1FramerateConversionAlgorithm value)
void SetFramerateControl(Av1FramerateControl value)
Av1Settings & WithQvbrSettings(QvbrSettingsT &&value)
void SetPerFrameMetrics(PerFrameMetricsT &&value)
Av1Settings & WithFilmGrainSynthesis(Av1FilmGrainSynthesis value)
Definition Av1Settings.h:92
Av1Settings & WithFramerateControl(Av1FramerateControl value)
const Av1QvbrSettings & GetQvbrSettings() const
Av1Settings & WithNumberBFramesBetweenReferenceFrames(int value)
void SetSpatialAdaptiveQuantization(Av1SpatialAdaptiveQuantization value)
Av1Settings & WithSlices(int value)
Av1RateControlMode GetRateControlMode() const
void SetRateControlMode(Av1RateControlMode value)
Av1Settings & WithFramerateNumerator(int value)
AWS_MEDIACONVERT_API Av1Settings()=default
Av1Settings & AddPerFrameMetrics(FrameMetricType value)
Av1SpatialAdaptiveQuantization GetSpatialAdaptiveQuantization() const
Av1Settings & WithSpatialAdaptiveQuantization(Av1SpatialAdaptiveQuantization value)
void SetFilmGrainSynthesis(Av1FilmGrainSynthesis value)
Definition Av1Settings.h:88
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue