/* * 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 { /// /// Required when you set Codec to the value VC3 /// public partial class Vc3Settings { private Vc3FramerateControl _framerateControl; private Vc3FramerateConversionAlgorithm _framerateConversionAlgorithm; private int? _framerateDenominator; private int? _framerateNumerator; private Vc3InterlaceMode _interlaceMode; private Vc3ScanTypeConversionMode _scanTypeConversionMode; private Vc3SlowPal _slowPal; private Vc3Telecine _telecine; private Vc3Class _vc3Class; /// /// Gets and sets the property FramerateControl. If you are using the console, use the /// Framerate setting to specify the frame rate for this output. If you want to keep the /// same frame rate as the input video, choose Follow source. If you want to do frame /// rate conversion, choose a frame rate from the dropdown list or choose Custom. The /// framerates shown in the dropdown list are decimal approximations of fractions. If /// you choose Custom, specify your frame rate as a fraction. /// public Vc3FramerateControl FramerateControl { get { return this._framerateControl; } set { this._framerateControl = value; } } // Check to see if FramerateControl property is set internal bool IsSetFramerateControl() { return this._framerateControl != null; } /// /// Gets and sets the property FramerateConversionAlgorithm. Choose the method that you /// want MediaConvert to use when increasing or decreasing the frame rate. For numerically /// simple conversions, such as 60 fps to 30 fps: We recommend that you keep the default /// value, Drop duplicate. For numerically complex conversions, to avoid stutter: Choose /// Interpolate. This results in a smooth picture, but might introduce undesirable video /// artifacts. For complex frame rate conversions, especially if your source video has /// already been converted from its original cadence: Choose FrameFormer to do motion-compensated /// interpolation. FrameFormer uses the best conversion method frame by frame. Note that /// using FrameFormer increases the transcoding time and incurs a significant add-on cost. /// When you choose FrameFormer, your input video resolution must be at least 128x96. /// public Vc3FramerateConversionAlgorithm FramerateConversionAlgorithm { get { return this._framerateConversionAlgorithm; } set { this._framerateConversionAlgorithm = value; } } // Check to see if FramerateConversionAlgorithm property is set internal bool IsSetFramerateConversionAlgorithm() { return this._framerateConversionAlgorithm != null; } /// /// Gets and sets the property FramerateDenominator. When you use the API for transcode /// jobs that use frame rate conversion, specify the frame rate as a fraction. For example, /// 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of /// this fraction. In this example, use 1001 for the value of FramerateDenominator. When /// you use the console for transcode jobs that use frame rate conversion, provide the /// value as a decimal number for Framerate. In this example, specify 23.976. /// [AWSProperty(Min=1, Max=1001)] public int FramerateDenominator { get { return this._framerateDenominator.GetValueOrDefault(); } set { this._framerateDenominator = value; } } // Check to see if FramerateDenominator property is set internal bool IsSetFramerateDenominator() { return this._framerateDenominator.HasValue; } /// /// Gets and sets the property FramerateNumerator. When you use the API for transcode /// jobs that use frame rate conversion, specify the frame rate as a fraction. For example, /// 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this /// fraction. In this example, use 24000 for the value of FramerateNumerator. When you /// use the console for transcode jobs that use frame rate conversion, provide the value /// as a decimal number for Framerate. In this example, specify 23.976. /// [AWSProperty(Min=24, Max=60000)] public int FramerateNumerator { get { return this._framerateNumerator.GetValueOrDefault(); } set { this._framerateNumerator = value; } } // Check to see if FramerateNumerator property is set internal bool IsSetFramerateNumerator() { return this._framerateNumerator.HasValue; } /// /// Gets and sets the property InterlaceMode. Optional. Choose the scan line type for /// this output. If you don't specify a value, MediaConvert will create a progressive /// output. /// public Vc3InterlaceMode InterlaceMode { get { return this._interlaceMode; } set { this._interlaceMode = value; } } // Check to see if InterlaceMode property is set internal bool IsSetInterlaceMode() { return this._interlaceMode != null; } /// /// Gets and sets the property ScanTypeConversionMode. Use this setting for interlaced /// outputs, when your output frame rate is half of your input frame rate. In this situation, /// choose Optimized interlacing to create a better quality interlaced output. In this /// case, each progressive frame from the input corresponds to an interlaced field in /// the output. Keep the default value, Basic interlacing, for all other output frame /// rates. With basic interlacing, MediaConvert performs any frame rate conversion first /// and then interlaces the frames. When you choose Optimized interlacing and you set /// your output frame rate to a value that isn't suitable for optimized interlacing, MediaConvert /// automatically falls back to basic interlacing. Required settings: To use optimized /// interlacing, you must set Telecine to None or Soft. You can't use optimized interlacing /// for hard telecine outputs. You must also set Interlace mode to a value other than /// Progressive. /// public Vc3ScanTypeConversionMode ScanTypeConversionMode { get { return this._scanTypeConversionMode; } set { this._scanTypeConversionMode = value; } } // Check to see if ScanTypeConversionMode property is set internal bool IsSetScanTypeConversionMode() { return this._scanTypeConversionMode != null; } /// /// Gets and sets the property SlowPal. Ignore this setting unless your input frame rate /// is 23.976 or 24 frames per second (fps). Enable slow PAL to create a 25 fps output /// by relabeling the video frames and resampling your audio. Note that enabling this /// setting will slightly reduce the duration of your video. Related settings: You must /// also set Framerate to 25. /// public Vc3SlowPal SlowPal { get { return this._slowPal; } set { this._slowPal = value; } } // Check to see if SlowPal property is set internal bool IsSetSlowPal() { return this._slowPal != null; } /// /// Gets and sets the property Telecine. When you do frame rate conversion from 23.976 /// frames per second (fps) to 29.97 fps, and your output scan type is interlaced, you /// can optionally enable hard telecine to create a smoother picture. When you keep the /// default value, None, MediaConvert does a standard frame rate conversion to 29.97 without /// doing anything with the field polarity to create a smoother picture. /// public Vc3Telecine Telecine { get { return this._telecine; } set { this._telecine = value; } } // Check to see if Telecine property is set internal bool IsSetTelecine() { return this._telecine != null; } /// /// Gets and sets the property Vc3Class. Specify the VC3 class to choose the quality characteristics /// for this output. VC3 class, together with the settings Framerate (framerateNumerator /// and framerateDenominator) and Resolution (height and width), determine your output /// bitrate. For example, say that your video resolution is 1920x1080 and your framerate /// is 29.97. Then Class 145 gives you an output with a bitrate of approximately 145 Mbps /// and Class 220 gives you and output with a bitrate of approximately 220 Mbps. VC3 class /// also specifies the color bit depth of your output. /// public Vc3Class Vc3Class { get { return this._vc3Class; } set { this._vc3Class = value; } } // Check to see if Vc3Class property is set internal bool IsSetVc3Class() { return this._vc3Class != null; } } }