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/NoiseReducerFilter.h> 9 #include <aws/mediaconvert/model/NoiseReducerFilterSettings.h> 10 #include <aws/mediaconvert/model/NoiseReducerSpatialFilterSettings.h> 11 #include <aws/mediaconvert/model/NoiseReducerTemporalFilterSettings.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 MediaConvert 25 { 26 namespace Model 27 { 28 29 /** 30 * Enable the Noise reducer (NoiseReducer) feature to remove noise from your video 31 * output if necessary. Enable or disable this feature for each output 32 * individually. This setting is disabled by default. When you enable Noise reducer 33 * (NoiseReducer), you must also select a value for Noise reducer filter 34 * (NoiseReducerFilter).<p><h3>See Also:</h3> <a 35 * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/NoiseReducer">AWS 36 * API Reference</a></p> 37 */ 38 class AWS_MEDIACONVERT_API NoiseReducer 39 { 40 public: 41 NoiseReducer(); 42 NoiseReducer(Aws::Utils::Json::JsonView jsonValue); 43 NoiseReducer& operator=(Aws::Utils::Json::JsonView jsonValue); 44 Aws::Utils::Json::JsonValue Jsonize() const; 45 46 47 /** 48 * Use Noise reducer filter (NoiseReducerFilter) to select one of the following 49 * spatial image filtering functions. To use this setting, you must also enable 50 * Noise reducer (NoiseReducer). * Bilateral preserves edges while reducing noise. 51 * * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) do convolution 52 * filtering. * Conserve does min/max noise reduction. * Spatial does 53 * frequency-domain filtering based on JND principles. * Temporal optimizes video 54 * quality for complex motion. 55 */ GetFilter()56 inline const NoiseReducerFilter& GetFilter() const{ return m_filter; } 57 58 /** 59 * Use Noise reducer filter (NoiseReducerFilter) to select one of the following 60 * spatial image filtering functions. To use this setting, you must also enable 61 * Noise reducer (NoiseReducer). * Bilateral preserves edges while reducing noise. 62 * * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) do convolution 63 * filtering. * Conserve does min/max noise reduction. * Spatial does 64 * frequency-domain filtering based on JND principles. * Temporal optimizes video 65 * quality for complex motion. 66 */ FilterHasBeenSet()67 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } 68 69 /** 70 * Use Noise reducer filter (NoiseReducerFilter) to select one of the following 71 * spatial image filtering functions. To use this setting, you must also enable 72 * Noise reducer (NoiseReducer). * Bilateral preserves edges while reducing noise. 73 * * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) do convolution 74 * filtering. * Conserve does min/max noise reduction. * Spatial does 75 * frequency-domain filtering based on JND principles. * Temporal optimizes video 76 * quality for complex motion. 77 */ SetFilter(const NoiseReducerFilter & value)78 inline void SetFilter(const NoiseReducerFilter& value) { m_filterHasBeenSet = true; m_filter = value; } 79 80 /** 81 * Use Noise reducer filter (NoiseReducerFilter) to select one of the following 82 * spatial image filtering functions. To use this setting, you must also enable 83 * Noise reducer (NoiseReducer). * Bilateral preserves edges while reducing noise. 84 * * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) do convolution 85 * filtering. * Conserve does min/max noise reduction. * Spatial does 86 * frequency-domain filtering based on JND principles. * Temporal optimizes video 87 * quality for complex motion. 88 */ SetFilter(NoiseReducerFilter && value)89 inline void SetFilter(NoiseReducerFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } 90 91 /** 92 * Use Noise reducer filter (NoiseReducerFilter) to select one of the following 93 * spatial image filtering functions. To use this setting, you must also enable 94 * Noise reducer (NoiseReducer). * Bilateral preserves edges while reducing noise. 95 * * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) do convolution 96 * filtering. * Conserve does min/max noise reduction. * Spatial does 97 * frequency-domain filtering based on JND principles. * Temporal optimizes video 98 * quality for complex motion. 99 */ WithFilter(const NoiseReducerFilter & value)100 inline NoiseReducer& WithFilter(const NoiseReducerFilter& value) { SetFilter(value); return *this;} 101 102 /** 103 * Use Noise reducer filter (NoiseReducerFilter) to select one of the following 104 * spatial image filtering functions. To use this setting, you must also enable 105 * Noise reducer (NoiseReducer). * Bilateral preserves edges while reducing noise. 106 * * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) do convolution 107 * filtering. * Conserve does min/max noise reduction. * Spatial does 108 * frequency-domain filtering based on JND principles. * Temporal optimizes video 109 * quality for complex motion. 110 */ WithFilter(NoiseReducerFilter && value)111 inline NoiseReducer& WithFilter(NoiseReducerFilter&& value) { SetFilter(std::move(value)); return *this;} 112 113 114 /** 115 * Settings for a noise reducer filter 116 */ GetFilterSettings()117 inline const NoiseReducerFilterSettings& GetFilterSettings() const{ return m_filterSettings; } 118 119 /** 120 * Settings for a noise reducer filter 121 */ FilterSettingsHasBeenSet()122 inline bool FilterSettingsHasBeenSet() const { return m_filterSettingsHasBeenSet; } 123 124 /** 125 * Settings for a noise reducer filter 126 */ SetFilterSettings(const NoiseReducerFilterSettings & value)127 inline void SetFilterSettings(const NoiseReducerFilterSettings& value) { m_filterSettingsHasBeenSet = true; m_filterSettings = value; } 128 129 /** 130 * Settings for a noise reducer filter 131 */ SetFilterSettings(NoiseReducerFilterSettings && value)132 inline void SetFilterSettings(NoiseReducerFilterSettings&& value) { m_filterSettingsHasBeenSet = true; m_filterSettings = std::move(value); } 133 134 /** 135 * Settings for a noise reducer filter 136 */ WithFilterSettings(const NoiseReducerFilterSettings & value)137 inline NoiseReducer& WithFilterSettings(const NoiseReducerFilterSettings& value) { SetFilterSettings(value); return *this;} 138 139 /** 140 * Settings for a noise reducer filter 141 */ WithFilterSettings(NoiseReducerFilterSettings && value)142 inline NoiseReducer& WithFilterSettings(NoiseReducerFilterSettings&& value) { SetFilterSettings(std::move(value)); return *this;} 143 144 145 /** 146 * Noise reducer filter settings for spatial filter. 147 */ GetSpatialFilterSettings()148 inline const NoiseReducerSpatialFilterSettings& GetSpatialFilterSettings() const{ return m_spatialFilterSettings; } 149 150 /** 151 * Noise reducer filter settings for spatial filter. 152 */ SpatialFilterSettingsHasBeenSet()153 inline bool SpatialFilterSettingsHasBeenSet() const { return m_spatialFilterSettingsHasBeenSet; } 154 155 /** 156 * Noise reducer filter settings for spatial filter. 157 */ SetSpatialFilterSettings(const NoiseReducerSpatialFilterSettings & value)158 inline void SetSpatialFilterSettings(const NoiseReducerSpatialFilterSettings& value) { m_spatialFilterSettingsHasBeenSet = true; m_spatialFilterSettings = value; } 159 160 /** 161 * Noise reducer filter settings for spatial filter. 162 */ SetSpatialFilterSettings(NoiseReducerSpatialFilterSettings && value)163 inline void SetSpatialFilterSettings(NoiseReducerSpatialFilterSettings&& value) { m_spatialFilterSettingsHasBeenSet = true; m_spatialFilterSettings = std::move(value); } 164 165 /** 166 * Noise reducer filter settings for spatial filter. 167 */ WithSpatialFilterSettings(const NoiseReducerSpatialFilterSettings & value)168 inline NoiseReducer& WithSpatialFilterSettings(const NoiseReducerSpatialFilterSettings& value) { SetSpatialFilterSettings(value); return *this;} 169 170 /** 171 * Noise reducer filter settings for spatial filter. 172 */ WithSpatialFilterSettings(NoiseReducerSpatialFilterSettings && value)173 inline NoiseReducer& WithSpatialFilterSettings(NoiseReducerSpatialFilterSettings&& value) { SetSpatialFilterSettings(std::move(value)); return *this;} 174 175 176 /** 177 * Noise reducer filter settings for temporal filter. 178 */ GetTemporalFilterSettings()179 inline const NoiseReducerTemporalFilterSettings& GetTemporalFilterSettings() const{ return m_temporalFilterSettings; } 180 181 /** 182 * Noise reducer filter settings for temporal filter. 183 */ TemporalFilterSettingsHasBeenSet()184 inline bool TemporalFilterSettingsHasBeenSet() const { return m_temporalFilterSettingsHasBeenSet; } 185 186 /** 187 * Noise reducer filter settings for temporal filter. 188 */ SetTemporalFilterSettings(const NoiseReducerTemporalFilterSettings & value)189 inline void SetTemporalFilterSettings(const NoiseReducerTemporalFilterSettings& value) { m_temporalFilterSettingsHasBeenSet = true; m_temporalFilterSettings = value; } 190 191 /** 192 * Noise reducer filter settings for temporal filter. 193 */ SetTemporalFilterSettings(NoiseReducerTemporalFilterSettings && value)194 inline void SetTemporalFilterSettings(NoiseReducerTemporalFilterSettings&& value) { m_temporalFilterSettingsHasBeenSet = true; m_temporalFilterSettings = std::move(value); } 195 196 /** 197 * Noise reducer filter settings for temporal filter. 198 */ WithTemporalFilterSettings(const NoiseReducerTemporalFilterSettings & value)199 inline NoiseReducer& WithTemporalFilterSettings(const NoiseReducerTemporalFilterSettings& value) { SetTemporalFilterSettings(value); return *this;} 200 201 /** 202 * Noise reducer filter settings for temporal filter. 203 */ WithTemporalFilterSettings(NoiseReducerTemporalFilterSettings && value)204 inline NoiseReducer& WithTemporalFilterSettings(NoiseReducerTemporalFilterSettings&& value) { SetTemporalFilterSettings(std::move(value)); return *this;} 205 206 private: 207 208 NoiseReducerFilter m_filter; 209 bool m_filterHasBeenSet; 210 211 NoiseReducerFilterSettings m_filterSettings; 212 bool m_filterSettingsHasBeenSet; 213 214 NoiseReducerSpatialFilterSettings m_spatialFilterSettings; 215 bool m_spatialFilterSettingsHasBeenSet; 216 217 NoiseReducerTemporalFilterSettings m_temporalFilterSettings; 218 bool m_temporalFilterSettingsHasBeenSet; 219 }; 220 221 } // namespace Model 222 } // namespace MediaConvert 223 } // namespace Aws 224