/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MediaConvert { namespace Model { /** * Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the * value VP8.

See Also:

AWS * API Reference

*/ class AWS_MEDIACONVERT_API Vp8Settings { public: Vp8Settings(); Vp8Settings(Aws::Utils::Json::JsonView jsonValue); Vp8Settings& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** * Target bitrate in bits/second. For example, enter five megabits per second as * 5000000. */ inline int GetBitrate() const{ return m_bitrate; } /** * Target bitrate in bits/second. For example, enter five megabits per second as * 5000000. */ inline bool BitrateHasBeenSet() const { return m_bitrateHasBeenSet; } /** * Target bitrate in bits/second. For example, enter five megabits per second as * 5000000. */ inline void SetBitrate(int value) { m_bitrateHasBeenSet = true; m_bitrate = value; } /** * Target bitrate in bits/second. For example, enter five megabits per second as * 5000000. */ inline Vp8Settings& WithBitrate(int value) { SetBitrate(value); return *this;} /** * 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. If you are creating your transcoding job * specification as a JSON file without the console, use FramerateControl to * specify which value the service uses for the frame rate for this output. Choose * INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the * input. Choose SPECIFIED if you want the service to use the frame rate you * specify in the settings FramerateNumerator and FramerateDenominator. */ inline const Vp8FramerateControl& GetFramerateControl() const{ return m_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. If you are creating your transcoding job * specification as a JSON file without the console, use FramerateControl to * specify which value the service uses for the frame rate for this output. Choose * INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the * input. Choose SPECIFIED if you want the service to use the frame rate you * specify in the settings FramerateNumerator and FramerateDenominator. */ inline bool FramerateControlHasBeenSet() const { return m_framerateControlHasBeenSet; } /** * 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. If you are creating your transcoding job * specification as a JSON file without the console, use FramerateControl to * specify which value the service uses for the frame rate for this output. Choose * INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the * input. Choose SPECIFIED if you want the service to use the frame rate you * specify in the settings FramerateNumerator and FramerateDenominator. */ inline void SetFramerateControl(const Vp8FramerateControl& value) { m_framerateControlHasBeenSet = true; m_framerateControl = value; } /** * 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. If you are creating your transcoding job * specification as a JSON file without the console, use FramerateControl to * specify which value the service uses for the frame rate for this output. Choose * INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the * input. Choose SPECIFIED if you want the service to use the frame rate you * specify in the settings FramerateNumerator and FramerateDenominator. */ inline void SetFramerateControl(Vp8FramerateControl&& value) { m_framerateControlHasBeenSet = true; m_framerateControl = std::move(value); } /** * 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. If you are creating your transcoding job * specification as a JSON file without the console, use FramerateControl to * specify which value the service uses for the frame rate for this output. Choose * INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the * input. Choose SPECIFIED if you want the service to use the frame rate you * specify in the settings FramerateNumerator and FramerateDenominator. */ inline Vp8Settings& WithFramerateControl(const Vp8FramerateControl& value) { SetFramerateControl(value); return *this;} /** * 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. If you are creating your transcoding job * specification as a JSON file without the console, use FramerateControl to * specify which value the service uses for the frame rate for this output. Choose * INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the * input. Choose SPECIFIED if you want the service to use the frame rate you * specify in the settings FramerateNumerator and FramerateDenominator. */ inline Vp8Settings& WithFramerateControl(Vp8FramerateControl&& value) { SetFramerateControl(std::move(value)); return *this;} /** * Optional. Specify how the transcoder performs framerate conversion. The default * behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose * Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. */ inline const Vp8FramerateConversionAlgorithm& GetFramerateConversionAlgorithm() const{ return m_framerateConversionAlgorithm; } /** * Optional. Specify how the transcoder performs framerate conversion. The default * behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose * Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. */ inline bool FramerateConversionAlgorithmHasBeenSet() const { return m_framerateConversionAlgorithmHasBeenSet; } /** * Optional. Specify how the transcoder performs framerate conversion. The default * behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose * Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. */ inline void SetFramerateConversionAlgorithm(const Vp8FramerateConversionAlgorithm& value) { m_framerateConversionAlgorithmHasBeenSet = true; m_framerateConversionAlgorithm = value; } /** * Optional. Specify how the transcoder performs framerate conversion. The default * behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose * Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. */ inline void SetFramerateConversionAlgorithm(Vp8FramerateConversionAlgorithm&& value) { m_framerateConversionAlgorithmHasBeenSet = true; m_framerateConversionAlgorithm = std::move(value); } /** * Optional. Specify how the transcoder performs framerate conversion. The default * behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose * Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. */ inline Vp8Settings& WithFramerateConversionAlgorithm(const Vp8FramerateConversionAlgorithm& value) { SetFramerateConversionAlgorithm(value); return *this;} /** * Optional. Specify how the transcoder performs framerate conversion. The default * behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose * Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. */ inline Vp8Settings& WithFramerateConversionAlgorithm(Vp8FramerateConversionAlgorithm&& value) { SetFramerateConversionAlgorithm(std::move(value)); return *this;} /** * 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. */ inline int GetFramerateDenominator() const{ return m_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. */ inline bool FramerateDenominatorHasBeenSet() const { return m_framerateDenominatorHasBeenSet; } /** * 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. */ inline void SetFramerateDenominator(int value) { m_framerateDenominatorHasBeenSet = true; m_framerateDenominator = value; } /** * 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. */ inline Vp8Settings& WithFramerateDenominator(int value) { SetFramerateDenominator(value); return *this;} /** * 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. */ inline int GetFramerateNumerator() const{ return m_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. */ inline bool FramerateNumeratorHasBeenSet() const { return m_framerateNumeratorHasBeenSet; } /** * 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. */ inline void SetFramerateNumerator(int value) { m_framerateNumeratorHasBeenSet = true; m_framerateNumerator = value; } /** * 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. */ inline Vp8Settings& WithFramerateNumerator(int value) { SetFramerateNumerator(value); return *this;} /** * GOP Length (keyframe interval) in frames. Must be greater than zero. */ inline double GetGopSize() const{ return m_gopSize; } /** * GOP Length (keyframe interval) in frames. Must be greater than zero. */ inline bool GopSizeHasBeenSet() const { return m_gopSizeHasBeenSet; } /** * GOP Length (keyframe interval) in frames. Must be greater than zero. */ inline void SetGopSize(double value) { m_gopSizeHasBeenSet = true; m_gopSize = value; } /** * GOP Length (keyframe interval) in frames. Must be greater than zero. */ inline Vp8Settings& WithGopSize(double value) { SetGopSize(value); return *this;} /** * Optional. Size of buffer (HRD buffer model) in bits. For example, enter five * megabits as 5000000. */ inline int GetHrdBufferSize() const{ return m_hrdBufferSize; } /** * Optional. Size of buffer (HRD buffer model) in bits. For example, enter five * megabits as 5000000. */ inline bool HrdBufferSizeHasBeenSet() const { return m_hrdBufferSizeHasBeenSet; } /** * Optional. Size of buffer (HRD buffer model) in bits. For example, enter five * megabits as 5000000. */ inline void SetHrdBufferSize(int value) { m_hrdBufferSizeHasBeenSet = true; m_hrdBufferSize = value; } /** * Optional. Size of buffer (HRD buffer model) in bits. For example, enter five * megabits as 5000000. */ inline Vp8Settings& WithHrdBufferSize(int value) { SetHrdBufferSize(value); return *this;} /** * 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. */ inline int GetMaxBitrate() const{ return m_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. */ inline bool MaxBitrateHasBeenSet() const { return m_maxBitrateHasBeenSet; } /** * 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. */ inline void SetMaxBitrate(int value) { m_maxBitrateHasBeenSet = true; m_maxBitrate = value; } /** * 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. */ inline Vp8Settings& WithMaxBitrate(int value) { SetMaxBitrate(value); return *this;} /** * Optional. Specify how the service determines the pixel aspect ratio (PAR) for * this output. The default behavior, Follow source (INITIALIZE_FROM_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. To specify a different PAR * by editing the JSON job specification, choose SPECIFIED. When you choose * SPECIFIED for this setting, you must also specify values for the parNumerator * and parDenominator settings. */ inline const Vp8ParControl& GetParControl() const{ return m_parControl; } /** * Optional. Specify how the service determines the pixel aspect ratio (PAR) for * this output. The default behavior, Follow source (INITIALIZE_FROM_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. To specify a different PAR * by editing the JSON job specification, choose SPECIFIED. When you choose * SPECIFIED for this setting, you must also specify values for the parNumerator * and parDenominator settings. */ inline bool ParControlHasBeenSet() const { return m_parControlHasBeenSet; } /** * Optional. Specify how the service determines the pixel aspect ratio (PAR) for * this output. The default behavior, Follow source (INITIALIZE_FROM_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. To specify a different PAR * by editing the JSON job specification, choose SPECIFIED. When you choose * SPECIFIED for this setting, you must also specify values for the parNumerator * and parDenominator settings. */ inline void SetParControl(const Vp8ParControl& value) { m_parControlHasBeenSet = true; m_parControl = value; } /** * Optional. Specify how the service determines the pixel aspect ratio (PAR) for * this output. The default behavior, Follow source (INITIALIZE_FROM_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. To specify a different PAR * by editing the JSON job specification, choose SPECIFIED. When you choose * SPECIFIED for this setting, you must also specify values for the parNumerator * and parDenominator settings. */ inline void SetParControl(Vp8ParControl&& value) { m_parControlHasBeenSet = true; m_parControl = std::move(value); } /** * Optional. Specify how the service determines the pixel aspect ratio (PAR) for * this output. The default behavior, Follow source (INITIALIZE_FROM_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. To specify a different PAR * by editing the JSON job specification, choose SPECIFIED. When you choose * SPECIFIED for this setting, you must also specify values for the parNumerator * and parDenominator settings. */ inline Vp8Settings& WithParControl(const Vp8ParControl& value) { SetParControl(value); return *this;} /** * Optional. Specify how the service determines the pixel aspect ratio (PAR) for * this output. The default behavior, Follow source (INITIALIZE_FROM_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. To specify a different PAR * by editing the JSON job specification, choose SPECIFIED. When you choose * SPECIFIED for this setting, you must also specify values for the parNumerator * and parDenominator settings. */ inline Vp8Settings& WithParControl(Vp8ParControl&& value) { SetParControl(std::move(value)); return *this;} /** * Required when you set Pixel aspect ratio (parControl) 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. */ inline int GetParDenominator() const{ return m_parDenominator; } /** * Required when you set Pixel aspect ratio (parControl) 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. */ inline bool ParDenominatorHasBeenSet() const { return m_parDenominatorHasBeenSet; } /** * Required when you set Pixel aspect ratio (parControl) 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. */ inline void SetParDenominator(int value) { m_parDenominatorHasBeenSet = true; m_parDenominator = value; } /** * Required when you set Pixel aspect ratio (parControl) 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. */ inline Vp8Settings& WithParDenominator(int value) { SetParDenominator(value); return *this;} /** * Required when you set Pixel aspect ratio (parControl) 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. */ inline int GetParNumerator() const{ return m_parNumerator; } /** * Required when you set Pixel aspect ratio (parControl) 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. */ inline bool ParNumeratorHasBeenSet() const { return m_parNumeratorHasBeenSet; } /** * Required when you set Pixel aspect ratio (parControl) 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. */ inline void SetParNumerator(int value) { m_parNumeratorHasBeenSet = true; m_parNumerator = value; } /** * Required when you set Pixel aspect ratio (parControl) 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. */ inline Vp8Settings& WithParNumerator(int value) { SetParNumerator(value); return *this;} /** * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want * to trade off encoding speed for output video quality. The default behavior is * faster, lower quality, multi-pass encoding. */ inline const Vp8QualityTuningLevel& GetQualityTuningLevel() const{ return m_qualityTuningLevel; } /** * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want * to trade off encoding speed for output video quality. The default behavior is * faster, lower quality, multi-pass encoding. */ inline bool QualityTuningLevelHasBeenSet() const { return m_qualityTuningLevelHasBeenSet; } /** * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want * to trade off encoding speed for output video quality. The default behavior is * faster, lower quality, multi-pass encoding. */ inline void SetQualityTuningLevel(const Vp8QualityTuningLevel& value) { m_qualityTuningLevelHasBeenSet = true; m_qualityTuningLevel = value; } /** * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want * to trade off encoding speed for output video quality. The default behavior is * faster, lower quality, multi-pass encoding. */ inline void SetQualityTuningLevel(Vp8QualityTuningLevel&& value) { m_qualityTuningLevelHasBeenSet = true; m_qualityTuningLevel = std::move(value); } /** * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want * to trade off encoding speed for output video quality. The default behavior is * faster, lower quality, multi-pass encoding. */ inline Vp8Settings& WithQualityTuningLevel(const Vp8QualityTuningLevel& value) { SetQualityTuningLevel(value); return *this;} /** * Optional. Use Quality tuning level (qualityTuningLevel) to choose how you want * to trade off encoding speed for output video quality. The default behavior is * faster, lower quality, multi-pass encoding. */ inline Vp8Settings& WithQualityTuningLevel(Vp8QualityTuningLevel&& value) { SetQualityTuningLevel(std::move(value)); return *this;} /** * With the VP8 codec, you can use only the variable bitrate (VBR) rate control * mode. */ inline const Vp8RateControlMode& GetRateControlMode() const{ return m_rateControlMode; } /** * With the VP8 codec, you can use only the variable bitrate (VBR) rate control * mode. */ inline bool RateControlModeHasBeenSet() const { return m_rateControlModeHasBeenSet; } /** * With the VP8 codec, you can use only the variable bitrate (VBR) rate control * mode. */ inline void SetRateControlMode(const Vp8RateControlMode& value) { m_rateControlModeHasBeenSet = true; m_rateControlMode = value; } /** * With the VP8 codec, you can use only the variable bitrate (VBR) rate control * mode. */ inline void SetRateControlMode(Vp8RateControlMode&& value) { m_rateControlModeHasBeenSet = true; m_rateControlMode = std::move(value); } /** * With the VP8 codec, you can use only the variable bitrate (VBR) rate control * mode. */ inline Vp8Settings& WithRateControlMode(const Vp8RateControlMode& value) { SetRateControlMode(value); return *this;} /** * With the VP8 codec, you can use only the variable bitrate (VBR) rate control * mode. */ inline Vp8Settings& WithRateControlMode(Vp8RateControlMode&& value) { SetRateControlMode(std::move(value)); return *this;} private: int m_bitrate; bool m_bitrateHasBeenSet; Vp8FramerateControl m_framerateControl; bool m_framerateControlHasBeenSet; Vp8FramerateConversionAlgorithm m_framerateConversionAlgorithm; bool m_framerateConversionAlgorithmHasBeenSet; int m_framerateDenominator; bool m_framerateDenominatorHasBeenSet; int m_framerateNumerator; bool m_framerateNumeratorHasBeenSet; double m_gopSize; bool m_gopSizeHasBeenSet; int m_hrdBufferSize; bool m_hrdBufferSizeHasBeenSet; int m_maxBitrate; bool m_maxBitrateHasBeenSet; Vp8ParControl m_parControl; bool m_parControlHasBeenSet; int m_parDenominator; bool m_parDenominatorHasBeenSet; int m_parNumerator; bool m_parNumeratorHasBeenSet; Vp8QualityTuningLevel m_qualityTuningLevel; bool m_qualityTuningLevelHasBeenSet; Vp8RateControlMode m_rateControlMode; bool m_rateControlModeHasBeenSet; }; } // namespace Model } // namespace MediaConvert } // namespace Aws