class Aws::MediaConvert::Types::Av1Settings

Required when you set Codec, under VideoDescription>CodecSettings to the value AV1.

@note When making an API call, you may pass Av1Settings

data as a hash:

    {
      adaptive_quantization: "OFF", # accepts OFF, LOW, MEDIUM, HIGH, HIGHER, MAX
      framerate_control: "INITIALIZE_FROM_SOURCE", # accepts INITIALIZE_FROM_SOURCE, SPECIFIED
      framerate_conversion_algorithm: "DUPLICATE_DROP", # accepts DUPLICATE_DROP, INTERPOLATE, FRAMEFORMER
      framerate_denominator: 1,
      framerate_numerator: 1,
      gop_size: 1.0,
      max_bitrate: 1,
      number_b_frames_between_reference_frames: 1,
      qvbr_settings: {
        qvbr_quality_level: 1,
        qvbr_quality_level_fine_tune: 1.0,
      },
      rate_control_mode: "QVBR", # accepts QVBR
      slices: 1,
      spatial_adaptive_quantization: "DISABLED", # accepts DISABLED, ENABLED
    }

@!attribute [rw] adaptive_quantization

Specify the strength of any adaptive quantization filters that you
enable. The value that you choose here applies to Spatial adaptive
quantization (spatialAdaptiveQuantization).
@return [String]

@!attribute [rw] framerate_control

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.
@return [String]

@!attribute [rw] framerate_conversion_algorithm

Choose the method that you want MediaConvert to use when increasing
or decreasing the frame rate. We recommend using drop duplicate
(DUPLICATE\_DROP) for numerically simple conversions, such as 60 fps
to 30 fps. For numerically complex conversions, you can use
interpolate (INTERPOLATE) to avoid stutter. 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, use FrameFormer
(FRAMEFORMER) to do motion-compensated interpolation. FrameFormer
chooses the best conversion method frame by frame. Note that using
FrameFormer increases the transcoding time and incurs a significant
add-on cost.
@return [String]

@!attribute [rw] framerate_denominator

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.
@return [Integer]

@!attribute [rw] framerate_numerator

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.
@return [Integer]

@!attribute [rw] gop_size

Specify the GOP length (keyframe interval) in frames. With AV1,
MediaConvert doesn't support GOP length in seconds. This value must
be greater than zero and preferably equal to 1 + ((numberBFrames +
1) * x), where x is an integer value.
@return [Float]

@!attribute [rw] max_bitrate

Maximum bitrate in bits/second. For example, enter five megabits per
second as 5000000. Required when Rate control mode is QVBR.
@return [Integer]

@!attribute [rw] number_b_frames_between_reference_frames

Specify from the number of B-frames, in the range of 0-15. For AV1
encoding, we recommend using 7 or 15. Choose a larger number for a
lower bitrate and smaller file size; choose a smaller number for
better video quality.
@return [Integer]

@!attribute [rw] qvbr_settings

Settings for quality-defined variable bitrate encoding with the
H.265 codec. Use these settings only when you set QVBR for Rate
control mode (RateControlMode).
@return [Types::Av1QvbrSettings]

@!attribute [rw] rate_control_mode

'With AV1 outputs, for rate control mode, MediaConvert supports
only quality-defined variable bitrate (QVBR). You can''t use CBR
or VBR.'
@return [String]

@!attribute [rw] slices

Specify the number of slices per picture. This value must be 1, 2,
4, 8, 16, or 32. For progressive pictures, this value must be less
than or equal to the number of macroblock rows. For interlaced
pictures, this value must be less than or equal to half the number
of macroblock rows.
@return [Integer]

@!attribute [rw] spatial_adaptive_quantization

Keep the default value, Enabled (ENABLED), to adjust quantization
within each frame based on spatial variation of content complexity.
When you enable this feature, the encoder uses fewer bits on areas
that can sustain more distortion with no noticeable visual
degradation and uses more bits on areas where any small distortion
will be noticeable. For example, complex textured blocks are encoded
with fewer bits and smooth textured blocks are encoded with more
bits. Enabling this feature will almost always improve your video
quality. Note, though, that this feature doesn't take into account
where the viewer's attention is likely to be. If viewers are likely
to be focusing their attention on a part of the screen with a lot of
complex texture, you might choose to disable this feature. Related
setting: When you enable spatial adaptive quantization, set the
value for Adaptive quantization (adaptiveQuantization) depending on
your content. For homogeneous content, such as cartoons and video
games, set it to Low. For content with a wider variety of textures,
set it to High or Higher.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/Av1Settings AWS API Documentation

Constants

SENSITIVE