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/medialive/MediaLive_EXPORTS.h>
8 #include <aws/medialive/model/ColorSpacePassthroughSettings.h>
9 #include <aws/medialive/model/Hdr10Settings.h>
10 #include <aws/medialive/model/Rec601Settings.h>
11 #include <aws/medialive/model/Rec709Settings.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Utils
17 {
18 namespace Json
19 {
20   class JsonValue;
21   class JsonView;
22 } // namespace Json
23 } // namespace Utils
24 namespace MediaLive
25 {
26 namespace Model
27 {
28 
29   /**
30    * H265 Color Space Settings<p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/H265ColorSpaceSettings">AWS
32    * API Reference</a></p>
33    */
34   class AWS_MEDIALIVE_API H265ColorSpaceSettings
35   {
36   public:
37     H265ColorSpaceSettings();
38     H265ColorSpaceSettings(Aws::Utils::Json::JsonView jsonValue);
39     H265ColorSpaceSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43 
GetColorSpacePassthroughSettings()44     inline const ColorSpacePassthroughSettings& GetColorSpacePassthroughSettings() const{ return m_colorSpacePassthroughSettings; }
45 
46 
ColorSpacePassthroughSettingsHasBeenSet()47     inline bool ColorSpacePassthroughSettingsHasBeenSet() const { return m_colorSpacePassthroughSettingsHasBeenSet; }
48 
49 
SetColorSpacePassthroughSettings(const ColorSpacePassthroughSettings & value)50     inline void SetColorSpacePassthroughSettings(const ColorSpacePassthroughSettings& value) { m_colorSpacePassthroughSettingsHasBeenSet = true; m_colorSpacePassthroughSettings = value; }
51 
52 
SetColorSpacePassthroughSettings(ColorSpacePassthroughSettings && value)53     inline void SetColorSpacePassthroughSettings(ColorSpacePassthroughSettings&& value) { m_colorSpacePassthroughSettingsHasBeenSet = true; m_colorSpacePassthroughSettings = std::move(value); }
54 
55 
WithColorSpacePassthroughSettings(const ColorSpacePassthroughSettings & value)56     inline H265ColorSpaceSettings& WithColorSpacePassthroughSettings(const ColorSpacePassthroughSettings& value) { SetColorSpacePassthroughSettings(value); return *this;}
57 
58 
WithColorSpacePassthroughSettings(ColorSpacePassthroughSettings && value)59     inline H265ColorSpaceSettings& WithColorSpacePassthroughSettings(ColorSpacePassthroughSettings&& value) { SetColorSpacePassthroughSettings(std::move(value)); return *this;}
60 
61 
62 
GetHdr10Settings()63     inline const Hdr10Settings& GetHdr10Settings() const{ return m_hdr10Settings; }
64 
65 
Hdr10SettingsHasBeenSet()66     inline bool Hdr10SettingsHasBeenSet() const { return m_hdr10SettingsHasBeenSet; }
67 
68 
SetHdr10Settings(const Hdr10Settings & value)69     inline void SetHdr10Settings(const Hdr10Settings& value) { m_hdr10SettingsHasBeenSet = true; m_hdr10Settings = value; }
70 
71 
SetHdr10Settings(Hdr10Settings && value)72     inline void SetHdr10Settings(Hdr10Settings&& value) { m_hdr10SettingsHasBeenSet = true; m_hdr10Settings = std::move(value); }
73 
74 
WithHdr10Settings(const Hdr10Settings & value)75     inline H265ColorSpaceSettings& WithHdr10Settings(const Hdr10Settings& value) { SetHdr10Settings(value); return *this;}
76 
77 
WithHdr10Settings(Hdr10Settings && value)78     inline H265ColorSpaceSettings& WithHdr10Settings(Hdr10Settings&& value) { SetHdr10Settings(std::move(value)); return *this;}
79 
80 
81 
GetRec601Settings()82     inline const Rec601Settings& GetRec601Settings() const{ return m_rec601Settings; }
83 
84 
Rec601SettingsHasBeenSet()85     inline bool Rec601SettingsHasBeenSet() const { return m_rec601SettingsHasBeenSet; }
86 
87 
SetRec601Settings(const Rec601Settings & value)88     inline void SetRec601Settings(const Rec601Settings& value) { m_rec601SettingsHasBeenSet = true; m_rec601Settings = value; }
89 
90 
SetRec601Settings(Rec601Settings && value)91     inline void SetRec601Settings(Rec601Settings&& value) { m_rec601SettingsHasBeenSet = true; m_rec601Settings = std::move(value); }
92 
93 
WithRec601Settings(const Rec601Settings & value)94     inline H265ColorSpaceSettings& WithRec601Settings(const Rec601Settings& value) { SetRec601Settings(value); return *this;}
95 
96 
WithRec601Settings(Rec601Settings && value)97     inline H265ColorSpaceSettings& WithRec601Settings(Rec601Settings&& value) { SetRec601Settings(std::move(value)); return *this;}
98 
99 
100 
GetRec709Settings()101     inline const Rec709Settings& GetRec709Settings() const{ return m_rec709Settings; }
102 
103 
Rec709SettingsHasBeenSet()104     inline bool Rec709SettingsHasBeenSet() const { return m_rec709SettingsHasBeenSet; }
105 
106 
SetRec709Settings(const Rec709Settings & value)107     inline void SetRec709Settings(const Rec709Settings& value) { m_rec709SettingsHasBeenSet = true; m_rec709Settings = value; }
108 
109 
SetRec709Settings(Rec709Settings && value)110     inline void SetRec709Settings(Rec709Settings&& value) { m_rec709SettingsHasBeenSet = true; m_rec709Settings = std::move(value); }
111 
112 
WithRec709Settings(const Rec709Settings & value)113     inline H265ColorSpaceSettings& WithRec709Settings(const Rec709Settings& value) { SetRec709Settings(value); return *this;}
114 
115 
WithRec709Settings(Rec709Settings && value)116     inline H265ColorSpaceSettings& WithRec709Settings(Rec709Settings&& value) { SetRec709Settings(std::move(value)); return *this;}
117 
118   private:
119 
120     ColorSpacePassthroughSettings m_colorSpacePassthroughSettings;
121     bool m_colorSpacePassthroughSettingsHasBeenSet;
122 
123     Hdr10Settings m_hdr10Settings;
124     bool m_hdr10SettingsHasBeenSet;
125 
126     Rec601Settings m_rec601Settings;
127     bool m_rec601SettingsHasBeenSet;
128 
129     Rec709Settings m_rec709Settings;
130     bool m_rec709SettingsHasBeenSet;
131   };
132 
133 } // namespace Model
134 } // namespace MediaLive
135 } // namespace Aws
136