This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/model/VideoDescription.h

836 lines
42 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/mediaconvert/MediaConvert_EXPORTS.h>
#include <aws/mediaconvert/model/AfdSignaling.h>
#include <aws/mediaconvert/model/AntiAlias.h>
#include <aws/mediaconvert/model/VideoCodecSettings.h>
#include <aws/mediaconvert/model/ColorMetadata.h>
#include <aws/mediaconvert/model/Rectangle.h>
#include <aws/mediaconvert/model/DropFrameTimecode.h>
#include <aws/mediaconvert/model/RespondToAfd.h>
#include <aws/mediaconvert/model/ScalingBehavior.h>
#include <aws/mediaconvert/model/VideoTimecodeInsertion.h>
#include <aws/mediaconvert/model/VideoPreprocessor.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace MediaConvert
{
namespace Model
{
/**
* Settings for video outputs<p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/VideoDescription">AWS
* API Reference</a></p>
*/
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