/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the mediaconvert-2017-08-29.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.MediaConvert.Model { /// /// Settings related to video encoding of your output. The specific video settings depend /// on the video codec that you choose. /// public partial class VideoDescription { private AfdSignaling _afdSignaling; private AntiAlias _antiAlias; private VideoCodecSettings _codecSettings; private ColorMetadata _colorMetadata; private Rectangle _crop; private DropFrameTimecode _dropFrameTimecode; private int? _fixedAfd; private int? _height; private Rectangle _position; private RespondToAfd _respondToAfd; private ScalingBehavior _scalingBehavior; private int? _sharpness; private VideoTimecodeInsertion _timecodeInsertion; private VideoPreprocessor _videoPreprocessors; private int? _width; /// /// Gets and sets the property AfdSignaling. This setting only applies to H.264, H.265, /// and MPEG2 outputs. Use Insert AFD signaling 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. /// public AfdSignaling AfdSignaling { get { return this._afdSignaling; } set { this._afdSignaling = value; } } // Check to see if AfdSignaling property is set internal bool IsSetAfdSignaling() { return this._afdSignaling != null; } /// /// Gets and sets the property 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. /// public AntiAlias AntiAlias { get { return this._antiAlias; } set { this._antiAlias = value; } } // Check to see if AntiAlias property is set internal bool IsSetAntiAlias() { return this._antiAlias != null; } /// /// Gets and sets the property CodecSettings. Video codec settings 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. For each codec enum that you choose, define /// the corresponding settings object. The following lists the codec enum, settings object /// pairs. * AV1, Av1Settings * AVC_INTRA, AvcIntraSettings * FRAME_CAPTURE, FrameCaptureSettings /// * H_264, H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings /// * VC3, Vc3Settings * VP8, Vp8Settings * VP9, Vp9Settings * XAVC, XavcSettings /// public VideoCodecSettings CodecSettings { get { return this._codecSettings; } set { this._codecSettings = value; } } // Check to see if CodecSettings property is set internal bool IsSetCodecSettings() { return this._codecSettings != null; } /// /// Gets and sets the property ColorMetadata. Choose Insert for this setting to include /// color metadata in this output. Choose Ignore to exclude color metadata from this output. /// If you don't specify a value, the service sets this to Insert by default. /// public ColorMetadata ColorMetadata { get { return this._colorMetadata; } set { this._colorMetadata = value; } } // Check to see if ColorMetadata property is set internal bool IsSetColorMetadata() { return this._colorMetadata != null; } /// /// Gets and sets the property Crop. Use Cropping selection to specify the video area /// that the service will include in the output video frame. /// public Rectangle Crop { get { return this._crop; } set { this._crop = value; } } // Check to see if Crop property is set internal bool IsSetCrop() { return this._crop != null; } /// /// Gets and sets the property 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 is enabled. /// public DropFrameTimecode DropFrameTimecode { get { return this._dropFrameTimecode; } set { this._dropFrameTimecode = value; } } // Check to see if DropFrameTimecode property is set internal bool IsSetDropFrameTimecode() { return this._dropFrameTimecode != null; } /// /// Gets and sets the property FixedAfd. Applies only if you set AFD Signaling to Fixed. /// Use Fixed to specify a four-bit AFD value which the service will write on all frames /// of this video output. /// [AWSProperty(Min=0, Max=15)] public int FixedAfd { get { return this._fixedAfd.GetValueOrDefault(); } set { this._fixedAfd = value; } } // Check to see if FixedAfd property is set internal bool IsSetFixedAfd() { return this._fixedAfd.HasValue; } /// /// Gets and sets the property Height. Use Height to define the video resolution height, /// in pixels, for this output. To use the same resolution as your input: Leave both Width /// and Height blank. To evenly scale from your input resolution: Leave Height blank and /// enter a value for Width. For example, if your input is 1920x1080 and you set Width /// to 1280, your output will be 1280x720. /// [AWSProperty(Min=32, Max=8192)] public int Height { get { return this._height.GetValueOrDefault(); } set { this._height = value; } } // Check to see if Height property is set internal bool IsSetHeight() { return this._height.HasValue; } /// /// Gets and sets the property Position. Use Selection placement to define the video area /// in your output frame. The area outside of the rectangle that you specify here is black. /// public Rectangle Position { get { return this._position; } set { this._position = value; } } // Check to see if Position property is set internal bool IsSetPosition() { return this._position != null; } /// /// Gets and sets the property RespondToAfd. Use Respond to AFD 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 and set AfdSignaling to AUTO. * Choose None /// to remove all input AFD values from this output. /// public RespondToAfd RespondToAfd { get { return this._respondToAfd; } set { this._respondToAfd = value; } } // Check to see if RespondToAfd property is set internal bool IsSetRespondToAfd() { return this._respondToAfd != null; } /// /// Gets and sets the property ScalingBehavior. Specify how the service handles outputs /// that have a different aspect ratio from the input aspect ratio. Choose Stretch to /// output to have the service stretch your video image to fit. Keep the setting Default /// to have the service letterbox your video instead. This setting overrides any value /// that you specify for the setting Selection placement in this output. /// public ScalingBehavior ScalingBehavior { get { return this._scalingBehavior; } set { this._scalingBehavior = value; } } // Check to see if ScalingBehavior property is set internal bool IsSetScalingBehavior() { return this._scalingBehavior != null; } /// /// Gets and sets the property Sharpness. Use 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. /// [AWSProperty(Min=0, Max=100)] public int Sharpness { get { return this._sharpness.GetValueOrDefault(); } set { this._sharpness = value; } } // Check to see if Sharpness property is set internal bool IsSetSharpness() { return this._sharpness.HasValue; } /// /// Gets and sets the property 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 /// 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. In the console, these settings are located under Job > Job settings /// > Timecode configuration. Note - Timecode source under input settings does not affect /// the timecodes that are inserted in the output. Source under Job settings > Timecode /// configuration does. /// public VideoTimecodeInsertion TimecodeInsertion { get { return this._timecodeInsertion; } set { this._timecodeInsertion = value; } } // Check to see if TimecodeInsertion property is set internal bool IsSetTimecodeInsertion() { return this._timecodeInsertion != null; } /// /// Gets and sets the property VideoPreprocessors. Find additional transcoding features /// under Preprocessors. Enable the features at each output individually. These features /// are disabled by default. /// public VideoPreprocessor VideoPreprocessors { get { return this._videoPreprocessors; } set { this._videoPreprocessors = value; } } // Check to see if VideoPreprocessors property is set internal bool IsSetVideoPreprocessors() { return this._videoPreprocessors != null; } /// /// Gets and sets the property Width. Use Width to define the video resolution width, /// in pixels, for this output. To use the same resolution as your input: Leave both Width /// and Height blank. To evenly scale from your input resolution: Leave Width blank and /// enter a value for Height. For example, if your input is 1920x1080 and you set Height /// to 720, your output will be 1280x720. /// [AWSProperty(Min=32, Max=8192)] public int Width { get { return this._width.GetValueOrDefault(); } set { this._width = value; } } // Check to see if Width property is set internal bool IsSetWidth() { return this._width.HasValue; } } }