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/XavcHdIntraCbgProfileClass.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 MediaConvert
22 {
23 namespace Model
24 {
25 
26   /**
27    * Required when you set (Profile) under
28    * (VideoDescription)>(CodecSettings)>(XavcSettings) to the value
29    * XAVC_HD_INTRA_CBG.<p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/XavcHdIntraCbgProfileSettings">AWS
31    * API Reference</a></p>
32    */
33   class AWS_MEDIACONVERT_API XavcHdIntraCbgProfileSettings
34   {
35   public:
36     XavcHdIntraCbgProfileSettings();
37     XavcHdIntraCbgProfileSettings(Aws::Utils::Json::JsonView jsonValue);
38     XavcHdIntraCbgProfileSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * Specify the XAVC Intra HD (CBG) Class to set the bitrate of your output. Outputs
44      * of the same class have similar image quality over the operating points that are
45      * valid for that class.
46      */
GetXavcClass()47     inline const XavcHdIntraCbgProfileClass& GetXavcClass() const{ return m_xavcClass; }
48 
49     /**
50      * Specify the XAVC Intra HD (CBG) Class to set the bitrate of your output. Outputs
51      * of the same class have similar image quality over the operating points that are
52      * valid for that class.
53      */
XavcClassHasBeenSet()54     inline bool XavcClassHasBeenSet() const { return m_xavcClassHasBeenSet; }
55 
56     /**
57      * Specify the XAVC Intra HD (CBG) Class to set the bitrate of your output. Outputs
58      * of the same class have similar image quality over the operating points that are
59      * valid for that class.
60      */
SetXavcClass(const XavcHdIntraCbgProfileClass & value)61     inline void SetXavcClass(const XavcHdIntraCbgProfileClass& value) { m_xavcClassHasBeenSet = true; m_xavcClass = value; }
62 
63     /**
64      * Specify the XAVC Intra HD (CBG) Class to set the bitrate of your output. Outputs
65      * of the same class have similar image quality over the operating points that are
66      * valid for that class.
67      */
SetXavcClass(XavcHdIntraCbgProfileClass && value)68     inline void SetXavcClass(XavcHdIntraCbgProfileClass&& value) { m_xavcClassHasBeenSet = true; m_xavcClass = std::move(value); }
69 
70     /**
71      * Specify the XAVC Intra HD (CBG) Class to set the bitrate of your output. Outputs
72      * of the same class have similar image quality over the operating points that are
73      * valid for that class.
74      */
WithXavcClass(const XavcHdIntraCbgProfileClass & value)75     inline XavcHdIntraCbgProfileSettings& WithXavcClass(const XavcHdIntraCbgProfileClass& value) { SetXavcClass(value); return *this;}
76 
77     /**
78      * Specify the XAVC Intra HD (CBG) Class to set the bitrate of your output. Outputs
79      * of the same class have similar image quality over the operating points that are
80      * valid for that class.
81      */
WithXavcClass(XavcHdIntraCbgProfileClass && value)82     inline XavcHdIntraCbgProfileSettings& WithXavcClass(XavcHdIntraCbgProfileClass&& value) { SetXavcClass(std::move(value)); return *this;}
83 
84   private:
85 
86     XavcHdIntraCbgProfileClass m_xavcClass;
87     bool m_xavcClassHasBeenSet;
88   };
89 
90 } // namespace Model
91 } // namespace MediaConvert
92 } // namespace Aws
93