/* * 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 VP8. /// public partial class Vp8Settings { private int? _bitrate; private Vp8FramerateControl _framerateControl; private Vp8FramerateConversionAlgorithm _framerateConversionAlgorithm; private int? _framerateDenominator; private int? _framerateNumerator; private double? _gopSize; private int? _hrdBufferSize; private int? _maxBitrate; private Vp8ParControl _parControl; private int? _parDenominator; private int? _parNumerator; private Vp8QualityTuningLevel _qualityTuningLevel; private Vp8RateControlMode _rateControlMode; /// /// Gets and sets the property Bitrate. Target bitrate in bits/second. For example, enter /// five megabits per second as 5000000. /// [AWSProperty(Min=1000, Max=1152000000)] public int Bitrate { get { return this._bitrate.GetValueOrDefault(); } set { this._bitrate = value; } } // Check to see if Bitrate property is set internal bool IsSetBitrate() { return this._bitrate.HasValue; } /// /// 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 Vp8FramerateControl 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 Vp8FramerateConversionAlgorithm 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=2147483647)] 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=1, Max=2147483647)] 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 GopSize. GOP Length (keyframe interval) in frames. Must /// be greater than zero. /// public double GopSize { get { return this._gopSize.GetValueOrDefault(); } set { this._gopSize = value; } } // Check to see if GopSize property is set internal bool IsSetGopSize() { return this._gopSize.HasValue; } /// /// Gets and sets the property HrdBufferSize. Optional. Size of buffer (HRD buffer model) /// in bits. For example, enter five megabits as 5000000. /// [AWSProperty(Min=0, Max=47185920)] public int HrdBufferSize { get { return this._hrdBufferSize.GetValueOrDefault(); } set { this._hrdBufferSize = value; } } // Check to see if HrdBufferSize property is set internal bool IsSetHrdBufferSize() { return this._hrdBufferSize.HasValue; } /// /// Gets and sets the property MaxBitrate. Ignore this setting unless you set qualityTuningLevel /// to MULTI_PASS. Optional. Specify the maximum bitrate in bits/second. For example, /// enter five megabits per second as 5000000. The default behavior uses twice the target /// bitrate as the maximum bitrate. /// [AWSProperty(Min=1000, Max=1152000000)] public int MaxBitrate { get { return this._maxBitrate.GetValueOrDefault(); } set { this._maxBitrate = value; } } // Check to see if MaxBitrate property is set internal bool IsSetMaxBitrate() { return this._maxBitrate.HasValue; } /// /// Gets and sets the property ParControl. Optional. Specify how the service determines /// the pixel aspect ratio (PAR) for this output. The default behavior, Follow source, /// uses the PAR from your input video for your output. To specify a different PAR in /// the console, choose any value other than Follow source. When you choose SPECIFIED /// for this setting, you must also specify values for the parNumerator and parDenominator /// settings. /// public Vp8ParControl ParControl { get { return this._parControl; } set { this._parControl = value; } } // Check to see if ParControl property is set internal bool IsSetParControl() { return this._parControl != null; } /// /// Gets and sets the property ParDenominator. Required when you set Pixel aspect ratio /// to SPECIFIED. On the console, this corresponds to any value other than Follow source. /// When you specify an output pixel aspect ratio (PAR) that is different from your input /// video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, /// you would specify the ratio 40:33. In this example, the value for parDenominator is /// 33. /// [AWSProperty(Min=1, Max=2147483647)] public int ParDenominator { get { return this._parDenominator.GetValueOrDefault(); } set { this._parDenominator = value; } } // Check to see if ParDenominator property is set internal bool IsSetParDenominator() { return this._parDenominator.HasValue; } /// /// Gets and sets the property ParNumerator. Required when you set Pixel aspect ratio /// to SPECIFIED. On the console, this corresponds to any value other than Follow source. /// When you specify an output pixel aspect ratio (PAR) that is different from your input /// video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, /// you would specify the ratio 40:33. In this example, the value for parNumerator is /// 40. /// [AWSProperty(Min=1, Max=2147483647)] public int ParNumerator { get { return this._parNumerator.GetValueOrDefault(); } set { this._parNumerator = value; } } // Check to see if ParNumerator property is set internal bool IsSetParNumerator() { return this._parNumerator.HasValue; } /// /// Gets and sets the property QualityTuningLevel. Optional. Use Quality tuning level /// to choose how you want to trade off encoding speed for output video quality. The default /// behavior is faster, lower quality, multi-pass encoding. /// public Vp8QualityTuningLevel QualityTuningLevel { get { return this._qualityTuningLevel; } set { this._qualityTuningLevel = value; } } // Check to see if QualityTuningLevel property is set internal bool IsSetQualityTuningLevel() { return this._qualityTuningLevel != null; } /// /// Gets and sets the property RateControlMode. With the VP8 codec, you can use only the /// variable bitrate (VBR) rate control mode. /// public Vp8RateControlMode RateControlMode { get { return this._rateControlMode; } set { this._rateControlMode = value; } } // Check to see if RateControlMode property is set internal bool IsSetRateControlMode() { return this._rateControlMode != null; } } }