AWS SDK for C++

AWS SDK for C++ Version 1.11.926

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/Av1SceneChangeDetect.h>
17#include <aws/mediaconvert/model/Av1SpatialAdaptiveQuantization.h>
18#include <aws/mediaconvert/model/FrameMetricType.h>
19
20#include <utility>
21
22namespace Aws {
23namespace Utils {
24namespace Json {
25class JsonValue;
26class JsonView;
27} // namespace Json
28} // namespace Utils
29namespace MediaConvert {
30namespace Model {
31
39 public:
40 AWS_MEDIACONVERT_API Av1Settings() = default;
41 AWS_MEDIACONVERT_API Av1Settings(Aws::Utils::Json::JsonView jsonValue);
42 AWS_MEDIACONVERT_API Av1Settings& operator=(Aws::Utils::Json::JsonView jsonValue);
43 AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const;
44
46
50 inline Av1AdaptiveQuantization GetAdaptiveQuantization() const { return m_adaptiveQuantization; }
51 inline bool AdaptiveQuantizationHasBeenSet() const { return m_adaptiveQuantizationHasBeenSet; }
53 m_adaptiveQuantizationHasBeenSet = true;
54 m_adaptiveQuantization = value;
55 }
61
63
66 inline Av1BitDepth GetBitDepth() const { return m_bitDepth; }
67 inline bool BitDepthHasBeenSet() const { return m_bitDepthHasBeenSet; }
68 inline void SetBitDepth(Av1BitDepth value) {
69 m_bitDepthHasBeenSet = true;
70 m_bitDepth = value;
71 }
73 SetBitDepth(value);
74 return *this;
75 }
77
79
83 inline int GetBitrate() const { return m_bitrate; }
84 inline bool BitrateHasBeenSet() const { return m_bitrateHasBeenSet; }
85 inline void SetBitrate(int value) {
86 m_bitrateHasBeenSet = true;
87 m_bitrate = value;
88 }
89 inline Av1Settings& WithBitrate(int value) {
90 SetBitrate(value);
91 return *this;
92 }
94
96
104 inline Av1FilmGrainSynthesis GetFilmGrainSynthesis() const { return m_filmGrainSynthesis; }
105 inline bool FilmGrainSynthesisHasBeenSet() const { return m_filmGrainSynthesisHasBeenSet; }
107 m_filmGrainSynthesisHasBeenSet = true;
108 m_filmGrainSynthesis = value;
109 }
112 return *this;
113 }
115
117
125 inline Av1FramerateControl GetFramerateControl() const { return m_framerateControl; }
126 inline bool FramerateControlHasBeenSet() const { return m_framerateControlHasBeenSet; }
128 m_framerateControlHasBeenSet = true;
129 m_framerateControl = value;
130 }
132 SetFramerateControl(value);
133 return *this;
134 }
136
138
156 inline Av1FramerateConversionAlgorithm GetFramerateConversionAlgorithm() const { return m_framerateConversionAlgorithm; }
157 inline bool FramerateConversionAlgorithmHasBeenSet() const { return m_framerateConversionAlgorithmHasBeenSet; }
159 m_framerateConversionAlgorithmHasBeenSet = true;
160 m_framerateConversionAlgorithm = value;
161 }
167
169
177 inline int GetFramerateDenominator() const { return m_framerateDenominator; }
178 inline bool FramerateDenominatorHasBeenSet() const { return m_framerateDenominatorHasBeenSet; }
179 inline void SetFramerateDenominator(int value) {
180 m_framerateDenominatorHasBeenSet = true;
181 m_framerateDenominator = value;
182 }
185 return *this;
186 }
188
190
198 inline int GetFramerateNumerator() const { return m_framerateNumerator; }
199 inline bool FramerateNumeratorHasBeenSet() const { return m_framerateNumeratorHasBeenSet; }
200 inline void SetFramerateNumerator(int value) {
201 m_framerateNumeratorHasBeenSet = true;
202 m_framerateNumerator = value;
203 }
206 return *this;
207 }
209
211
216 inline double GetGopSize() const { return m_gopSize; }
217 inline bool GopSizeHasBeenSet() const { return m_gopSizeHasBeenSet; }
218 inline void SetGopSize(double value) {
219 m_gopSizeHasBeenSet = true;
220 m_gopSize = value;
221 }
222 inline Av1Settings& WithGopSize(double value) {
223 SetGopSize(value);
224 return *this;
225 }
227
229
233 inline int GetMaxBitrate() const { return m_maxBitrate; }
234 inline bool MaxBitrateHasBeenSet() const { return m_maxBitrateHasBeenSet; }
235 inline void SetMaxBitrate(int value) {
236 m_maxBitrateHasBeenSet = true;
237 m_maxBitrate = value;
238 }
239 inline Av1Settings& WithMaxBitrate(int value) {
240 SetMaxBitrate(value);
241 return *this;
242 }
244
246
251 inline int GetNumberBFramesBetweenReferenceFrames() const { return m_numberBFramesBetweenReferenceFrames; }
252 inline bool NumberBFramesBetweenReferenceFramesHasBeenSet() const { return m_numberBFramesBetweenReferenceFramesHasBeenSet; }
254 m_numberBFramesBetweenReferenceFramesHasBeenSet = true;
255 m_numberBFramesBetweenReferenceFrames = value;
256 }
262
264
283 inline const Aws::Vector<FrameMetricType>& GetPerFrameMetrics() const { return m_perFrameMetrics; }
284 inline bool PerFrameMetricsHasBeenSet() const { return m_perFrameMetricsHasBeenSet; }
285 template <typename PerFrameMetricsT = Aws::Vector<FrameMetricType>>
286 void SetPerFrameMetrics(PerFrameMetricsT&& value) {
287 m_perFrameMetricsHasBeenSet = true;
288 m_perFrameMetrics = std::forward<PerFrameMetricsT>(value);
289 }
290 template <typename PerFrameMetricsT = Aws::Vector<FrameMetricType>>
291 Av1Settings& WithPerFrameMetrics(PerFrameMetricsT&& value) {
292 SetPerFrameMetrics(std::forward<PerFrameMetricsT>(value));
293 return *this;
294 }
296 m_perFrameMetricsHasBeenSet = true;
297 m_perFrameMetrics.push_back(value);
298 return *this;
299 }
301
303
307 inline const Av1QvbrSettings& GetQvbrSettings() const { return m_qvbrSettings; }
308 inline bool QvbrSettingsHasBeenSet() const { return m_qvbrSettingsHasBeenSet; }
309 template <typename QvbrSettingsT = Av1QvbrSettings>
310 void SetQvbrSettings(QvbrSettingsT&& value) {
311 m_qvbrSettingsHasBeenSet = true;
312 m_qvbrSettings = std::forward<QvbrSettingsT>(value);
313 }
314 template <typename QvbrSettingsT = Av1QvbrSettings>
315 Av1Settings& WithQvbrSettings(QvbrSettingsT&& value) {
316 SetQvbrSettings(std::forward<QvbrSettingsT>(value));
317 return *this;
318 }
320
322
326 inline Av1RateControlMode GetRateControlMode() const { return m_rateControlMode; }
327 inline bool RateControlModeHasBeenSet() const { return m_rateControlModeHasBeenSet; }
329 m_rateControlModeHasBeenSet = true;
330 m_rateControlMode = value;
331 }
333 SetRateControlMode(value);
334 return *this;
335 }
337
339
347 inline Av1SceneChangeDetect GetSceneChangeDetect() const { return m_sceneChangeDetect; }
348 inline bool SceneChangeDetectHasBeenSet() const { return m_sceneChangeDetectHasBeenSet; }
350 m_sceneChangeDetectHasBeenSet = true;
351 m_sceneChangeDetect = value;
352 }
355 return *this;
356 }
358
360
366 inline int GetSlices() const { return m_slices; }
367 inline bool SlicesHasBeenSet() const { return m_slicesHasBeenSet; }
368 inline void SetSlices(int value) {
369 m_slicesHasBeenSet = true;
370 m_slices = value;
371 }
372 inline Av1Settings& WithSlices(int value) {
373 SetSlices(value);
374 return *this;
375 }
377
379
384 inline int GetSlidingWindowMs() const { return m_slidingWindowMs; }
385 inline bool SlidingWindowMsHasBeenSet() const { return m_slidingWindowMsHasBeenSet; }
386 inline void SetSlidingWindowMs(int value) {
387 m_slidingWindowMsHasBeenSet = true;
388 m_slidingWindowMs = value;
389 }
390 inline Av1Settings& WithSlidingWindowMs(int value) {
391 SetSlidingWindowMs(value);
392 return *this;
393 }
395
397
404 inline int GetSlidingWindowPeakBitrate() const { return m_slidingWindowPeakBitrate; }
405 inline bool SlidingWindowPeakBitrateHasBeenSet() const { return m_slidingWindowPeakBitrateHasBeenSet; }
406 inline void SetSlidingWindowPeakBitrate(int value) {
407 m_slidingWindowPeakBitrateHasBeenSet = true;
408 m_slidingWindowPeakBitrate = value;
409 }
412 return *this;
413 }
415
417
433 inline Av1SpatialAdaptiveQuantization GetSpatialAdaptiveQuantization() const { return m_spatialAdaptiveQuantization; }
434 inline bool SpatialAdaptiveQuantizationHasBeenSet() const { return m_spatialAdaptiveQuantizationHasBeenSet; }
436 m_spatialAdaptiveQuantizationHasBeenSet = true;
437 m_spatialAdaptiveQuantization = value;
438 }
444 private:
446
448
449 int m_bitrate{0};
450
452
454
456
457 int m_framerateDenominator{0};
458
459 int m_framerateNumerator{0};
460
461 double m_gopSize{0.0};
462
463 int m_maxBitrate{0};
464
465 int m_numberBFramesBetweenReferenceFrames{0};
466
467 Aws::Vector<FrameMetricType> m_perFrameMetrics;
468
469 Av1QvbrSettings m_qvbrSettings;
470
472
474
475 int m_slices{0};
476
477 int m_slidingWindowMs{0};
478
479 int m_slidingWindowPeakBitrate{0};
480
482 bool m_adaptiveQuantizationHasBeenSet = false;
483 bool m_bitDepthHasBeenSet = false;
484 bool m_bitrateHasBeenSet = false;
485 bool m_filmGrainSynthesisHasBeenSet = false;
486 bool m_framerateControlHasBeenSet = false;
487 bool m_framerateConversionAlgorithmHasBeenSet = false;
488 bool m_framerateDenominatorHasBeenSet = false;
489 bool m_framerateNumeratorHasBeenSet = false;
490 bool m_gopSizeHasBeenSet = false;
491 bool m_maxBitrateHasBeenSet = false;
492 bool m_numberBFramesBetweenReferenceFramesHasBeenSet = false;
493 bool m_perFrameMetricsHasBeenSet = false;
494 bool m_qvbrSettingsHasBeenSet = false;
495 bool m_rateControlModeHasBeenSet = false;
496 bool m_sceneChangeDetectHasBeenSet = false;
497 bool m_slicesHasBeenSet = false;
498 bool m_slidingWindowMsHasBeenSet = false;
499 bool m_slidingWindowPeakBitrateHasBeenSet = false;
500 bool m_spatialAdaptiveQuantizationHasBeenSet = false;
501};
502
503} // namespace Model
504} // namespace MediaConvert
505} // namespace Aws
void SetQvbrSettings(QvbrSettingsT &&value)
Av1FramerateConversionAlgorithm GetFramerateConversionAlgorithm() const
AWS_MEDIACONVERT_API Av1Settings & operator=(Aws::Utils::Json::JsonView jsonValue)
Av1Settings & WithFramerateDenominator(int value)
Av1SceneChangeDetect GetSceneChangeDetect() const
const Aws::Vector< FrameMetricType > & GetPerFrameMetrics() const
AWS_MEDIACONVERT_API Av1Settings(Aws::Utils::Json::JsonView jsonValue)
Av1Settings & WithSlidingWindowMs(int value)
Av1Settings & WithMaxBitrate(int value)
Av1FilmGrainSynthesis GetFilmGrainSynthesis() const
void SetBitDepth(Av1BitDepth value)
Definition Av1Settings.h:68
Av1Settings & WithBitDepth(Av1BitDepth value)
Definition Av1Settings.h:72
Av1Settings & WithRateControlMode(Av1RateControlMode value)
void SetFramerateConversionAlgorithm(Av1FramerateConversionAlgorithm value)
void SetAdaptiveQuantization(Av1AdaptiveQuantization value)
Definition Av1Settings.h:52
bool NumberBFramesBetweenReferenceFramesHasBeenSet() const
Av1Settings & WithGopSize(double value)
Av1AdaptiveQuantization GetAdaptiveQuantization() const
Definition Av1Settings.h:50
Av1FramerateControl GetFramerateControl() const
Av1Settings & WithAdaptiveQuantization(Av1AdaptiveQuantization value)
Definition Av1Settings.h:56
Av1Settings & WithSceneChangeDetect(Av1SceneChangeDetect value)
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)
void SetSceneChangeDetect(Av1SceneChangeDetect value)
Av1Settings & WithFilmGrainSynthesis(Av1FilmGrainSynthesis value)
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 & WithSlidingWindowPeakBitrate(int value)
Av1Settings & AddPerFrameMetrics(FrameMetricType value)
Av1Settings & WithBitrate(int value)
Definition Av1Settings.h:89
Av1SpatialAdaptiveQuantization GetSpatialAdaptiveQuantization() const
Av1Settings & WithSpatialAdaptiveQuantization(Av1SpatialAdaptiveQuantization value)
void SetFilmGrainSynthesis(Av1FilmGrainSynthesis value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue