/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MediaConvert { namespace Model { /** * Settings for video outputs

See Also:

AWS * API Reference

*/ class AWS_MEDIACONVERT_API VideoDescription { public: VideoDescription(); VideoDescription(Aws::Utils::Json::JsonView jsonValue); VideoDescription& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** * This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert AFD * signaling (AfdSignaling) to specify whether the service includes AFD values in * the output video data and what those values are. * Choose None to remove all AFD * values from this output. * Choose Fixed to ignore input AFD values and instead * encode the value specified in the job. * Choose Auto to calculate output AFD * values based on the input AFD scaler data. */ inline const AfdSignaling& GetAfdSignaling() const{ return m_afdSignaling; } /** * This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert AFD * signaling (AfdSignaling) to specify whether the service includes AFD values in * the output video data and what those values are. * Choose None to remove all AFD * values from this output. * Choose Fixed to ignore input AFD values and instead * encode the value specified in the job. * Choose Auto to calculate output AFD * values based on the input AFD scaler data. */ inline bool AfdSignalingHasBeenSet() const { return m_afdSignalingHasBeenSet; } /** * This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert AFD * signaling (AfdSignaling) to specify whether the service includes AFD values in * the output video data and what those values are. * Choose None to remove all AFD * values from this output. * Choose Fixed to ignore input AFD values and instead * encode the value specified in the job. * Choose Auto to calculate output AFD * values based on the input AFD scaler data. */ inline void SetAfdSignaling(const AfdSignaling& value) { m_afdSignalingHasBeenSet = true; m_afdSignaling = value; } /** * This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert AFD * signaling (AfdSignaling) to specify whether the service includes AFD values in * the output video data and what those values are. * Choose None to remove all AFD * values from this output. * Choose Fixed to ignore input AFD values and instead * encode the value specified in the job. * Choose Auto to calculate output AFD * values based on the input AFD scaler data. */ inline void SetAfdSignaling(AfdSignaling&& value) { m_afdSignalingHasBeenSet = true; m_afdSignaling = std::move(value); } /** * This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert AFD * signaling (AfdSignaling) to specify whether the service includes AFD values in * the output video data and what those values are. * Choose None to remove all AFD * values from this output. * Choose Fixed to ignore input AFD values and instead * encode the value specified in the job. * Choose Auto to calculate output AFD * values based on the input AFD scaler data. */ inline VideoDescription& WithAfdSignaling(const AfdSignaling& value) { SetAfdSignaling(value); return *this;} /** * This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert AFD * signaling (AfdSignaling) to specify whether the service includes AFD values in * the output video data and what those values are. * Choose None to remove all AFD * values from this output. * Choose Fixed to ignore input AFD values and instead * encode the value specified in the job. * Choose Auto to calculate output AFD * values based on the input AFD scaler data. */ inline VideoDescription& WithAfdSignaling(AfdSignaling&& value) { SetAfdSignaling(std::move(value)); return *this;} /** * The anti-alias filter is automatically applied to all outputs. The service no * longer accepts the value DISABLED for AntiAlias. If you specify that in your * job, the service will ignore the setting. */ inline const AntiAlias& GetAntiAlias() const{ return m_antiAlias; } /** * The anti-alias filter is automatically applied to all outputs. The service no * longer accepts the value DISABLED for AntiAlias. If you specify that in your * job, the service will ignore the setting. */ inline bool AntiAliasHasBeenSet() const { return m_antiAliasHasBeenSet; } /** * The anti-alias filter is automatically applied to all outputs. The service no * longer accepts the value DISABLED for AntiAlias. If you specify that in your * job, the service will ignore the setting. */ inline void SetAntiAlias(const AntiAlias& value) { m_antiAliasHasBeenSet = true; m_antiAlias = value; } /** * The anti-alias filter is automatically applied to all outputs. The service no * longer accepts the value DISABLED for AntiAlias. If you specify that in your * job, the service will ignore the setting. */ inline void SetAntiAlias(AntiAlias&& value) { m_antiAliasHasBeenSet = true; m_antiAlias = std::move(value); } /** * The anti-alias filter is automatically applied to all outputs. The service no * longer accepts the value DISABLED for AntiAlias. If you specify that in your * job, the service will ignore the setting. */ inline VideoDescription& WithAntiAlias(const AntiAlias& value) { SetAntiAlias(value); return *this;} /** * The anti-alias filter is automatically applied to all outputs. The service no * longer accepts the value DISABLED for AntiAlias. If you specify that in your * job, the service will ignore the setting. */ inline VideoDescription& WithAntiAlias(AntiAlias&& value) { SetAntiAlias(std::move(value)); return *this;} /** * Video codec settings, (CodecSettings) under (VideoDescription), contains the * group of settings related to video encoding. The settings in this group vary * depending on the value that you choose for Video codec (Codec). For each codec * enum that you choose, define the corresponding settings object. The following * lists the codec enum, settings object pairs. * FRAME_CAPTURE, * FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, * H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VP8, Vp8Settings * * VP9, Vp9Settings */ inline const VideoCodecSettings& GetCodecSettings() const{ return m_codecSettings; } /** * Video codec settings, (CodecSettings) under (VideoDescription), contains the * group of settings related to video encoding. The settings in this group vary * depending on the value that you choose for Video codec (Codec). For each codec * enum that you choose, define the corresponding settings object. The following * lists the codec enum, settings object pairs. * FRAME_CAPTURE, * FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, * H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VP8, Vp8Settings * * VP9, Vp9Settings */ inline bool CodecSettingsHasBeenSet() const { return m_codecSettingsHasBeenSet; } /** * Video codec settings, (CodecSettings) under (VideoDescription), contains the * group of settings related to video encoding. The settings in this group vary * depending on the value that you choose for Video codec (Codec). For each codec * enum that you choose, define the corresponding settings object. The following * lists the codec enum, settings object pairs. * FRAME_CAPTURE, * FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, * H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VP8, Vp8Settings * * VP9, Vp9Settings */ inline void SetCodecSettings(const VideoCodecSettings& value) { m_codecSettingsHasBeenSet = true; m_codecSettings = value; } /** * Video codec settings, (CodecSettings) under (VideoDescription), contains the * group of settings related to video encoding. The settings in this group vary * depending on the value that you choose for Video codec (Codec). For each codec * enum that you choose, define the corresponding settings object. The following * lists the codec enum, settings object pairs. * FRAME_CAPTURE, * FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, * H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VP8, Vp8Settings * * VP9, Vp9Settings */ inline void SetCodecSettings(VideoCodecSettings&& value) { m_codecSettingsHasBeenSet = true; m_codecSettings = std::move(value); } /** * Video codec settings, (CodecSettings) under (VideoDescription), contains the * group of settings related to video encoding. The settings in this group vary * depending on the value that you choose for Video codec (Codec). For each codec * enum that you choose, define the corresponding settings object. The following * lists the codec enum, settings object pairs. * FRAME_CAPTURE, * FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, * H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VP8, Vp8Settings * * VP9, Vp9Settings */ inline VideoDescription& WithCodecSettings(const VideoCodecSettings& value) { SetCodecSettings(value); return *this;} /** * Video codec settings, (CodecSettings) under (VideoDescription), contains the * group of settings related to video encoding. The settings in this group vary * depending on the value that you choose for Video codec (Codec). For each codec * enum that you choose, define the corresponding settings object. The following * lists the codec enum, settings object pairs. * FRAME_CAPTURE, * FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, * H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VP8, Vp8Settings * * VP9, Vp9Settings */ inline VideoDescription& WithCodecSettings(VideoCodecSettings&& value) { SetCodecSettings(std::move(value)); return *this;} /** * Choose Insert (INSERT) for this setting to include color metadata in this * output. Choose Ignore (IGNORE) to exclude color metadata from this output. If * you don't specify a value, the service sets this to Insert by default. */ inline const ColorMetadata& GetColorMetadata() const{ return m_colorMetadata; } /** * Choose Insert (INSERT) for this setting to include color metadata in this * output. Choose Ignore (IGNORE) to exclude color metadata from this output. If * you don't specify a value, the service sets this to Insert by default. */ inline bool ColorMetadataHasBeenSet() const { return m_colorMetadataHasBeenSet; } /** * Choose Insert (INSERT) for this setting to include color metadata in this * output. Choose Ignore (IGNORE) to exclude color metadata from this output. If * you don't specify a value, the service sets this to Insert by default. */ inline void SetColorMetadata(const ColorMetadata& value) { m_colorMetadataHasBeenSet = true; m_colorMetadata = value; } /** * Choose Insert (INSERT) for this setting to include color metadata in this * output. Choose Ignore (IGNORE) to exclude color metadata from this output. If * you don't specify a value, the service sets this to Insert by default. */ inline void SetColorMetadata(ColorMetadata&& value) { m_colorMetadataHasBeenSet = true; m_colorMetadata = std::move(value); } /** * Choose Insert (INSERT) for this setting to include color metadata in this * output. Choose Ignore (IGNORE) to exclude color metadata from this output. If * you don't specify a value, the service sets this to Insert by default. */ inline VideoDescription& WithColorMetadata(const ColorMetadata& value) { SetColorMetadata(value); return *this;} /** * Choose Insert (INSERT) for this setting to include color metadata in this * output. Choose Ignore (IGNORE) to exclude color metadata from this output. If * you don't specify a value, the service sets this to Insert by default. */ inline VideoDescription& WithColorMetadata(ColorMetadata&& value) { SetColorMetadata(std::move(value)); return *this;} /** * Use Cropping selection (crop) to specify the video area that the service will * include in the output video frame. */ inline const Rectangle& GetCrop() const{ return m_crop; } /** * Use Cropping selection (crop) to specify the video area that the service will * include in the output video frame. */ inline bool CropHasBeenSet() const { return m_cropHasBeenSet; } /** * Use Cropping selection (crop) to specify the video area that the service will * include in the output video frame. */ inline void SetCrop(const Rectangle& value) { m_cropHasBeenSet = true; m_crop = value; } /** * Use Cropping selection (crop) to specify the video area that the service will * include in the output video frame. */ inline void SetCrop(Rectangle&& value) { m_cropHasBeenSet = true; m_crop = std::move(value); } /** * Use Cropping selection (crop) to specify the video area that the service will * include in the output video frame. */ inline VideoDescription& WithCrop(const Rectangle& value) { SetCrop(value); return *this;} /** * Use Cropping selection (crop) to specify the video area that the service will * include in the output video frame. */ inline VideoDescription& WithCrop(Rectangle&& value) { SetCrop(std::move(value)); return *this;} /** * Applies only to 29.97 fps outputs. When this feature is enabled, the service * will use drop-frame timecode on outputs. If it is not possible to use drop-frame * timecode, the system will fall back to non-drop-frame. This setting is enabled * by default when Timecode insertion (TimecodeInsertion) is enabled. */ inline const DropFrameTimecode& GetDropFrameTimecode() const{ return m_dropFrameTimecode; } /** * Applies only to 29.97 fps outputs. When this feature is enabled, the service * will use drop-frame timecode on outputs. If it is not possible to use drop-frame * timecode, the system will fall back to non-drop-frame. This setting is enabled * by default when Timecode insertion (TimecodeInsertion) is enabled. */ inline bool DropFrameTimecodeHasBeenSet() const { return m_dropFrameTimecodeHasBeenSet; } /** * Applies only to 29.97 fps outputs. When this feature is enabled, the service * will use drop-frame timecode on outputs. If it is not possible to use drop-frame * timecode, the system will fall back to non-drop-frame. This setting is enabled * by default when Timecode insertion (TimecodeInsertion) is enabled. */ inline void SetDropFrameTimecode(const DropFrameTimecode& value) { m_dropFrameTimecodeHasBeenSet = true; m_dropFrameTimecode = value; } /** * Applies only to 29.97 fps outputs. When this feature is enabled, the service * will use drop-frame timecode on outputs. If it is not possible to use drop-frame * timecode, the system will fall back to non-drop-frame. This setting is enabled * by default when Timecode insertion (TimecodeInsertion) is enabled. */ inline void SetDropFrameTimecode(DropFrameTimecode&& value) { m_dropFrameTimecodeHasBeenSet = true; m_dropFrameTimecode = std::move(value); } /** * Applies only to 29.97 fps outputs. When this feature is enabled, the service * will use drop-frame timecode on outputs. If it is not possible to use drop-frame * timecode, the system will fall back to non-drop-frame. This setting is enabled * by default when Timecode insertion (TimecodeInsertion) is enabled. */ inline VideoDescription& WithDropFrameTimecode(const DropFrameTimecode& value) { SetDropFrameTimecode(value); return *this;} /** * Applies only to 29.97 fps outputs. When this feature is enabled, the service * will use drop-frame timecode on outputs. If it is not possible to use drop-frame * timecode, the system will fall back to non-drop-frame. This setting is enabled * by default when Timecode insertion (TimecodeInsertion) is enabled. */ inline VideoDescription& WithDropFrameTimecode(DropFrameTimecode&& value) { SetDropFrameTimecode(std::move(value)); return *this;} /** * Applies only if you set AFD Signaling(AfdSignaling) to Fixed (FIXED). Use Fixed * (FixedAfd) to specify a four-bit AFD value which the service will write on all * frames of this video output. */ inline int GetFixedAfd() const{ return m_fixedAfd; } /** * Applies only if you set AFD Signaling(AfdSignaling) to Fixed (FIXED). Use Fixed * (FixedAfd) to specify a four-bit AFD value which the service will write on all * frames of this video output. */ inline bool FixedAfdHasBeenSet() const { return m_fixedAfdHasBeenSet; } /** * Applies only if you set AFD Signaling(AfdSignaling) to Fixed (FIXED). Use Fixed * (FixedAfd) to specify a four-bit AFD value which the service will write on all * frames of this video output. */ inline void SetFixedAfd(int value) { m_fixedAfdHasBeenSet = true; m_fixedAfd = value; } /** * Applies only if you set AFD Signaling(AfdSignaling) to Fixed (FIXED). Use Fixed * (FixedAfd) to specify a four-bit AFD value which the service will write on all * frames of this video output. */ inline VideoDescription& WithFixedAfd(int value) { SetFixedAfd(value); return *this;} /** * Use the Height (Height) setting to define the video resolution height for this * output. Specify in pixels. If you don't provide a value here, the service will * use the input height. */ inline int GetHeight() const{ return m_height; } /** * Use the Height (Height) setting to define the video resolution height for this * output. Specify in pixels. If you don't provide a value here, the service will * use the input height. */ inline bool HeightHasBeenSet() const { return m_heightHasBeenSet; } /** * Use the Height (Height) setting to define the video resolution height for this * output. Specify in pixels. If you don't provide a value here, the service will * use the input height. */ inline void SetHeight(int value) { m_heightHasBeenSet = true; m_height = value; } /** * Use the Height (Height) setting to define the video resolution height for this * output. Specify in pixels. If you don't provide a value here, the service will * use the input height. */ inline VideoDescription& WithHeight(int value) { SetHeight(value); return *this;} /** * Use Selection placement (position) to define the video area in your output * frame. The area outside of the rectangle that you specify here is black. */ inline const Rectangle& GetPosition() const{ return m_position; } /** * Use Selection placement (position) to define the video area in your output * frame. The area outside of the rectangle that you specify here is black. */ inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } /** * Use Selection placement (position) to define the video area in your output * frame. The area outside of the rectangle that you specify here is black. */ inline void SetPosition(const Rectangle& value) { m_positionHasBeenSet = true; m_position = value; } /** * Use Selection placement (position) to define the video area in your output * frame. The area outside of the rectangle that you specify here is black. */ inline void SetPosition(Rectangle&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } /** * Use Selection placement (position) to define the video area in your output * frame. The area outside of the rectangle that you specify here is black. */ inline VideoDescription& WithPosition(const Rectangle& value) { SetPosition(value); return *this;} /** * Use Selection placement (position) to define the video area in your output * frame. The area outside of the rectangle that you specify here is black. */ inline VideoDescription& WithPosition(Rectangle&& value) { SetPosition(std::move(value)); return *this;} /** * Use Respond to AFD (RespondToAfd) to specify how the service changes the video * itself in response to AFD values in the input. * Choose Respond to clip the * input video frame according to the AFD value, input display aspect ratio, and * output display aspect ratio. * Choose Passthrough to include the input AFD * values. Do not choose this when AfdSignaling is set to (NONE). A preferred * implementation of this workflow is to set RespondToAfd to (NONE) and set * AfdSignaling to (AUTO). * Choose None to remove all input AFD values from this * output. */ inline const RespondToAfd& GetRespondToAfd() const{ return m_respondToAfd; } /** * Use Respond to AFD (RespondToAfd) to specify how the service changes the video * itself in response to AFD values in the input. * Choose Respond to clip the * input video frame according to the AFD value, input display aspect ratio, and * output display aspect ratio. * Choose Passthrough to include the input AFD * values. Do not choose this when AfdSignaling is set to (NONE). A preferred * implementation of this workflow is to set RespondToAfd to (NONE) and set * AfdSignaling to (AUTO). * Choose None to remove all input AFD values from this * output. */ inline bool RespondToAfdHasBeenSet() const { return m_respondToAfdHasBeenSet; } /** * Use Respond to AFD (RespondToAfd) to specify how the service changes the video * itself in response to AFD values in the input. * Choose Respond to clip the * input video frame according to the AFD value, input display aspect ratio, and * output display aspect ratio. * Choose Passthrough to include the input AFD * values. Do not choose this when AfdSignaling is set to (NONE). A preferred * implementation of this workflow is to set RespondToAfd to (NONE) and set * AfdSignaling to (AUTO). * Choose None to remove all input AFD values from this * output. */ inline void SetRespondToAfd(const RespondToAfd& value) { m_respondToAfdHasBeenSet = true; m_respondToAfd = value; } /** * Use Respond to AFD (RespondToAfd) to specify how the service changes the video * itself in response to AFD values in the input. * Choose Respond to clip the * input video frame according to the AFD value, input display aspect ratio, and * output display aspect ratio. * Choose Passthrough to include the input AFD * values. Do not choose this when AfdSignaling is set to (NONE). A preferred * implementation of this workflow is to set RespondToAfd to (NONE) and set * AfdSignaling to (AUTO). * Choose None to remove all input AFD values from this * output. */ inline void SetRespondToAfd(RespondToAfd&& value) { m_respondToAfdHasBeenSet = true; m_respondToAfd = std::move(value); } /** * Use Respond to AFD (RespondToAfd) to specify how the service changes the video * itself in response to AFD values in the input. * Choose Respond to clip the * input video frame according to the AFD value, input display aspect ratio, and * output display aspect ratio. * Choose Passthrough to include the input AFD * values. Do not choose this when AfdSignaling is set to (NONE). A preferred * implementation of this workflow is to set RespondToAfd to (NONE) and set * AfdSignaling to (AUTO). * Choose None to remove all input AFD values from this * output. */ inline VideoDescription& WithRespondToAfd(const RespondToAfd& value) { SetRespondToAfd(value); return *this;} /** * Use Respond to AFD (RespondToAfd) to specify how the service changes the video * itself in response to AFD values in the input. * Choose Respond to clip the * input video frame according to the AFD value, input display aspect ratio, and * output display aspect ratio. * Choose Passthrough to include the input AFD * values. Do not choose this when AfdSignaling is set to (NONE). A preferred * implementation of this workflow is to set RespondToAfd to (NONE) and set * AfdSignaling to (AUTO). * Choose None to remove all input AFD values from this * output. */ inline VideoDescription& WithRespondToAfd(RespondToAfd&& value) { SetRespondToAfd(std::move(value)); return *this;} /** * Specify how the service handles outputs that have a different aspect ratio from * the input aspect ratio. Choose Stretch to output (STRETCH_TO_OUTPUT) to have the * service stretch your video image to fit. Keep the setting Default (DEFAULT) to * have the service letterbox your video instead. This setting overrides any value * that you specify for the setting Selection placement (position) in this output. */ inline const ScalingBehavior& GetScalingBehavior() const{ return m_scalingBehavior; } /** * Specify how the service handles outputs that have a different aspect ratio from * the input aspect ratio. Choose Stretch to output (STRETCH_TO_OUTPUT) to have the * service stretch your video image to fit. Keep the setting Default (DEFAULT) to * have the service letterbox your video instead. This setting overrides any value * that you specify for the setting Selection placement (position) in this output. */ inline bool ScalingBehaviorHasBeenSet() const { return m_scalingBehaviorHasBeenSet; } /** * Specify how the service handles outputs that have a different aspect ratio from * the input aspect ratio. Choose Stretch to output (STRETCH_TO_OUTPUT) to have the * service stretch your video image to fit. Keep the setting Default (DEFAULT) to * have the service letterbox your video instead. This setting overrides any value * that you specify for the setting Selection placement (position) in this output. */ inline void SetScalingBehavior(const ScalingBehavior& value) { m_scalingBehaviorHasBeenSet = true; m_scalingBehavior = value; } /** * Specify how the service handles outputs that have a different aspect ratio from * the input aspect ratio. Choose Stretch to output (STRETCH_TO_OUTPUT) to have the * service stretch your video image to fit. Keep the setting Default (DEFAULT) to * have the service letterbox your video instead. This setting overrides any value * that you specify for the setting Selection placement (position) in this output. */ inline void SetScalingBehavior(ScalingBehavior&& value) { m_scalingBehaviorHasBeenSet = true; m_scalingBehavior = std::move(value); } /** * Specify how the service handles outputs that have a different aspect ratio from * the input aspect ratio. Choose Stretch to output (STRETCH_TO_OUTPUT) to have the * service stretch your video image to fit. Keep the setting Default (DEFAULT) to * have the service letterbox your video instead. This setting overrides any value * that you specify for the setting Selection placement (position) in this output. */ inline VideoDescription& WithScalingBehavior(const ScalingBehavior& value) { SetScalingBehavior(value); return *this;} /** * Specify how the service handles outputs that have a different aspect ratio from * the input aspect ratio. Choose Stretch to output (STRETCH_TO_OUTPUT) to have the * service stretch your video image to fit. Keep the setting Default (DEFAULT) to * have the service letterbox your video instead. This setting overrides any value * that you specify for the setting Selection placement (position) in this output. */ inline VideoDescription& WithScalingBehavior(ScalingBehavior&& value) { SetScalingBehavior(std::move(value)); return *this;} /** * Use Sharpness (Sharpness) setting to specify the strength of anti-aliasing. This * setting changes the width of the anti-alias filter kernel used for scaling. * Sharpness only applies if your output resolution is different from your input * resolution. 0 is the softest setting, 100 the sharpest, and 50 recommended for * most content. */ inline int GetSharpness() const{ return m_sharpness; } /** * Use Sharpness (Sharpness) setting to specify the strength of anti-aliasing. This * setting changes the width of the anti-alias filter kernel used for scaling. * Sharpness only applies if your output resolution is different from your input * resolution. 0 is the softest setting, 100 the sharpest, and 50 recommended for * most content. */ inline bool SharpnessHasBeenSet() const { return m_sharpnessHasBeenSet; } /** * Use Sharpness (Sharpness) setting to specify the strength of anti-aliasing. This * setting changes the width of the anti-alias filter kernel used for scaling. * Sharpness only applies if your output resolution is different from your input * resolution. 0 is the softest setting, 100 the sharpest, and 50 recommended for * most content. */ inline void SetSharpness(int value) { m_sharpnessHasBeenSet = true; m_sharpness = value; } /** * Use Sharpness (Sharpness) setting to specify the strength of anti-aliasing. This * setting changes the width of the anti-alias filter kernel used for scaling. * Sharpness only applies if your output resolution is different from your input * resolution. 0 is the softest setting, 100 the sharpest, and 50 recommended for * most content. */ inline VideoDescription& WithSharpness(int value) { SetSharpness(value); return *this;} /** * Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode * insertion when the input frame rate is identical to the output frame rate. To * include timecodes in this output, set Timecode insertion * (VideoTimecodeInsertion) to PIC_TIMING_SEI. To leave them out, set it to * DISABLED. Default is DISABLED. When the service inserts timecodes in an output, * by default, it uses any embedded timecodes from the input. If none are present, * the service will set the timecode for the first output frame to zero. To change * this default behavior, adjust the settings under Timecode configuration * (TimecodeConfig). In the console, these settings are located under Job > Job * settings > Timecode configuration. Note - Timecode source under input settings * (InputTimecodeSource) does not affect the timecodes that are inserted in the * output. Source under Job settings > Timecode configuration (TimecodeSource) * does. */ inline const VideoTimecodeInsertion& GetTimecodeInsertion() const{ return m_timecodeInsertion; } /** * Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode * insertion when the input frame rate is identical to the output frame rate. To * include timecodes in this output, set Timecode insertion * (VideoTimecodeInsertion) to PIC_TIMING_SEI. To leave them out, set it to * DISABLED. Default is DISABLED. When the service inserts timecodes in an output, * by default, it uses any embedded timecodes from the input. If none are present, * the service will set the timecode for the first output frame to zero. To change * this default behavior, adjust the settings under Timecode configuration * (TimecodeConfig). In the console, these settings are located under Job > Job * settings > Timecode configuration. Note - Timecode source under input settings * (InputTimecodeSource) does not affect the timecodes that are inserted in the * output. Source under Job settings > Timecode configuration (TimecodeSource) * does. */ inline bool TimecodeInsertionHasBeenSet() const { return m_timecodeInsertionHasBeenSet; } /** * Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode * insertion when the input frame rate is identical to the output frame rate. To * include timecodes in this output, set Timecode insertion * (VideoTimecodeInsertion) to PIC_TIMING_SEI. To leave them out, set it to * DISABLED. Default is DISABLED. When the service inserts timecodes in an output, * by default, it uses any embedded timecodes from the input. If none are present, * the service will set the timecode for the first output frame to zero. To change * this default behavior, adjust the settings under Timecode configuration * (TimecodeConfig). In the console, these settings are located under Job > Job * settings > Timecode configuration. Note - Timecode source under input settings * (InputTimecodeSource) does not affect the timecodes that are inserted in the * output. Source under Job settings > Timecode configuration (TimecodeSource) * does. */ inline void SetTimecodeInsertion(const VideoTimecodeInsertion& value) { m_timecodeInsertionHasBeenSet = true; m_timecodeInsertion = value; } /** * Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode * insertion when the input frame rate is identical to the output frame rate. To * include timecodes in this output, set Timecode insertion * (VideoTimecodeInsertion) to PIC_TIMING_SEI. To leave them out, set it to * DISABLED. Default is DISABLED. When the service inserts timecodes in an output, * by default, it uses any embedded timecodes from the input. If none are present, * the service will set the timecode for the first output frame to zero. To change * this default behavior, adjust the settings under Timecode configuration * (TimecodeConfig). In the console, these settings are located under Job > Job * settings > Timecode configuration. Note - Timecode source under input settings * (InputTimecodeSource) does not affect the timecodes that are inserted in the * output. Source under Job settings > Timecode configuration (TimecodeSource) * does. */ inline void SetTimecodeInsertion(VideoTimecodeInsertion&& value) { m_timecodeInsertionHasBeenSet = true; m_timecodeInsertion = std::move(value); } /** * Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode * insertion when the input frame rate is identical to the output frame rate. To * include timecodes in this output, set Timecode insertion * (VideoTimecodeInsertion) to PIC_TIMING_SEI. To leave them out, set it to * DISABLED. Default is DISABLED. When the service inserts timecodes in an output, * by default, it uses any embedded timecodes from the input. If none are present, * the service will set the timecode for the first output frame to zero. To change * this default behavior, adjust the settings under Timecode configuration * (TimecodeConfig). In the console, these settings are located under Job > Job * settings > Timecode configuration. Note - Timecode source under input settings * (InputTimecodeSource) does not affect the timecodes that are inserted in the * output. Source under Job settings > Timecode configuration (TimecodeSource) * does. */ inline VideoDescription& WithTimecodeInsertion(const VideoTimecodeInsertion& value) { SetTimecodeInsertion(value); return *this;} /** * Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode * insertion when the input frame rate is identical to the output frame rate. To * include timecodes in this output, set Timecode insertion * (VideoTimecodeInsertion) to PIC_TIMING_SEI. To leave them out, set it to * DISABLED. Default is DISABLED. When the service inserts timecodes in an output, * by default, it uses any embedded timecodes from the input. If none are present, * the service will set the timecode for the first output frame to zero. To change * this default behavior, adjust the settings under Timecode configuration * (TimecodeConfig). In the console, these settings are located under Job > Job * settings > Timecode configuration. Note - Timecode source under input settings * (InputTimecodeSource) does not affect the timecodes that are inserted in the * output. Source under Job settings > Timecode configuration (TimecodeSource) * does. */ inline VideoDescription& WithTimecodeInsertion(VideoTimecodeInsertion&& value) { SetTimecodeInsertion(std::move(value)); return *this;} /** * Find additional transcoding features under Preprocessors (VideoPreprocessors). * Enable the features at each output individually. These features are disabled by * default. */ inline const VideoPreprocessor& GetVideoPreprocessors() const{ return m_videoPreprocessors; } /** * Find additional transcoding features under Preprocessors (VideoPreprocessors). * Enable the features at each output individually. These features are disabled by * default. */ inline bool VideoPreprocessorsHasBeenSet() const { return m_videoPreprocessorsHasBeenSet; } /** * Find additional transcoding features under Preprocessors (VideoPreprocessors). * Enable the features at each output individually. These features are disabled by * default. */ inline void SetVideoPreprocessors(const VideoPreprocessor& value) { m_videoPreprocessorsHasBeenSet = true; m_videoPreprocessors = value; } /** * Find additional transcoding features under Preprocessors (VideoPreprocessors). * Enable the features at each output individually. These features are disabled by * default. */ inline void SetVideoPreprocessors(VideoPreprocessor&& value) { m_videoPreprocessorsHasBeenSet = true; m_videoPreprocessors = std::move(value); } /** * Find additional transcoding features under Preprocessors (VideoPreprocessors). * Enable the features at each output individually. These features are disabled by * default. */ inline VideoDescription& WithVideoPreprocessors(const VideoPreprocessor& value) { SetVideoPreprocessors(value); return *this;} /** * Find additional transcoding features under Preprocessors (VideoPreprocessors). * Enable the features at each output individually. These features are disabled by * default. */ inline VideoDescription& WithVideoPreprocessors(VideoPreprocessor&& value) { SetVideoPreprocessors(std::move(value)); return *this;} /** * Use Width (Width) to define the video resolution width, in pixels, for this * output. If you don't provide a value here, the service will use the input width. */ inline int GetWidth() const{ return m_width; } /** * Use Width (Width) to define the video resolution width, in pixels, for this * output. If you don't provide a value here, the service will use the input width. */ inline bool WidthHasBeenSet() const { return m_widthHasBeenSet; } /** * Use Width (Width) to define the video resolution width, in pixels, for this * output. If you don't provide a value here, the service will use the input width. */ inline void SetWidth(int value) { m_widthHasBeenSet = true; m_width = value; } /** * Use Width (Width) to define the video resolution width, in pixels, for this * output. If you don't provide a value here, the service will use the input width. */ inline VideoDescription& WithWidth(int value) { SetWidth(value); return *this;} private: AfdSignaling m_afdSignaling; bool m_afdSignalingHasBeenSet; AntiAlias m_antiAlias; bool m_antiAliasHasBeenSet; VideoCodecSettings m_codecSettings; bool m_codecSettingsHasBeenSet; ColorMetadata m_colorMetadata; bool m_colorMetadataHasBeenSet; Rectangle m_crop; bool m_cropHasBeenSet; DropFrameTimecode m_dropFrameTimecode; bool m_dropFrameTimecodeHasBeenSet; int m_fixedAfd; bool m_fixedAfdHasBeenSet; int m_height; bool m_heightHasBeenSet; Rectangle m_position; bool m_positionHasBeenSet; RespondToAfd m_respondToAfd; bool m_respondToAfdHasBeenSet; ScalingBehavior m_scalingBehavior; bool m_scalingBehaviorHasBeenSet; int m_sharpness; bool m_sharpnessHasBeenSet; VideoTimecodeInsertion m_timecodeInsertion; bool m_timecodeInsertionHasBeenSet; VideoPreprocessor m_videoPreprocessors; bool m_videoPreprocessorsHasBeenSet; int m_width; bool m_widthHasBeenSet; }; } // namespace Model } // namespace MediaConvert } // namespace Aws