All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.mediaconvert.model.XavcSpatialAdaptiveQuantization Maven / Gradle / Ivy

/*
 * 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.
 */

package software.amazon.awssdk.services.mediaconvert.model;

import java.util.EnumSet;
import java.util.Map;
import java.util.Set;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.utils.internal.EnumUtils;

/**
 * The best way to set up adaptive quantization is to keep the default value, Auto, for the setting Adaptive
 * quantization. When you do so, MediaConvert automatically applies the best types of quantization for your video
 * content. Include this setting in your JSON job specification only when you choose to change the default value for
 * Adaptive quantization. For this setting, keep the default value, 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
 * 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.
 */
@Generated("software.amazon.awssdk:codegen")
public enum XavcSpatialAdaptiveQuantization {
    DISABLED("DISABLED"),

    ENABLED("ENABLED"),

    UNKNOWN_TO_SDK_VERSION(null);

    private static final Map VALUE_MAP = EnumUtils.uniqueIndex(
            XavcSpatialAdaptiveQuantization.class, XavcSpatialAdaptiveQuantization::toString);

    private final String value;

    private XavcSpatialAdaptiveQuantization(String value) {
        this.value = value;
    }

    @Override
    public String toString() {
        return String.valueOf(value);
    }

    /**
     * Use this in place of valueOf to convert the raw string returned by the service into the enum value.
     *
     * @param value
     *        real value
     * @return XavcSpatialAdaptiveQuantization corresponding to the value
     */
    public static XavcSpatialAdaptiveQuantization fromValue(String value) {
        if (value == null) {
            return null;
        }
        return VALUE_MAP.getOrDefault(value, UNKNOWN_TO_SDK_VERSION);
    }

    /**
     * Use this in place of {@link #values()} to return a {@link Set} of all values known to the SDK. This will return
     * all known enum values except {@link #UNKNOWN_TO_SDK_VERSION}.
     *
     * @return a {@link Set} of known {@link XavcSpatialAdaptiveQuantization}s
     */
    public static Set knownValues() {
        Set knownValues = EnumSet.allOf(XavcSpatialAdaptiveQuantization.class);
        knownValues.remove(UNKNOWN_TO_SDK_VERSION);
        return knownValues;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy