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

com.pulumi.aws.medialive.inputs.ChannelEncoderSettingsVideoDescriptionCodecSettingsH264SettingsArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

The newest version!
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.medialive.inputs;

import com.pulumi.aws.medialive.inputs.ChannelEncoderSettingsVideoDescriptionCodecSettingsH264SettingsFilterSettingsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ChannelEncoderSettingsVideoDescriptionCodecSettingsH264SettingsArgs extends com.pulumi.resources.ResourceArgs {

    public static final ChannelEncoderSettingsVideoDescriptionCodecSettingsH264SettingsArgs Empty = new ChannelEncoderSettingsVideoDescriptionCodecSettingsH264SettingsArgs();

    /**
     * Enables or disables adaptive quantization.
     * 
     */
    @Import(name="adaptiveQuantization")
    private @Nullable Output adaptiveQuantization;

    /**
     * @return Enables or disables adaptive quantization.
     * 
     */
    public Optional> adaptiveQuantization() {
        return Optional.ofNullable(this.adaptiveQuantization);
    }

    /**
     * Indicates that AFD values will be written into the output stream.
     * 
     */
    @Import(name="afdSignaling")
    private @Nullable Output afdSignaling;

    /**
     * @return Indicates that AFD values will be written into the output stream.
     * 
     */
    public Optional> afdSignaling() {
        return Optional.ofNullable(this.afdSignaling);
    }

    /**
     * Average bitrate in bits/second.
     * 
     */
    @Import(name="bitrate")
    private @Nullable Output bitrate;

    /**
     * @return Average bitrate in bits/second.
     * 
     */
    public Optional> bitrate() {
        return Optional.ofNullable(this.bitrate);
    }

    @Import(name="bufFillPct")
    private @Nullable Output bufFillPct;

    public Optional> bufFillPct() {
        return Optional.ofNullable(this.bufFillPct);
    }

    /**
     * Size of buffer in bits.
     * 
     */
    @Import(name="bufSize")
    private @Nullable Output bufSize;

    /**
     * @return Size of buffer in bits.
     * 
     */
    public Optional> bufSize() {
        return Optional.ofNullable(this.bufSize);
    }

    /**
     * Includes color space metadata in the output.
     * 
     */
    @Import(name="colorMetadata")
    private @Nullable Output colorMetadata;

    /**
     * @return Includes color space metadata in the output.
     * 
     */
    public Optional> colorMetadata() {
        return Optional.ofNullable(this.colorMetadata);
    }

    /**
     * Entropy encoding mode.
     * 
     */
    @Import(name="entropyEncoding")
    private @Nullable Output entropyEncoding;

    /**
     * @return Entropy encoding mode.
     * 
     */
    public Optional> entropyEncoding() {
        return Optional.ofNullable(this.entropyEncoding);
    }

    /**
     * Filters to apply to an encode. See H264 Filter Settings for more details.
     * 
     */
    @Import(name="filterSettings")
    private @Nullable Output filterSettings;

    /**
     * @return Filters to apply to an encode. See H264 Filter Settings for more details.
     * 
     */
    public Optional> filterSettings() {
        return Optional.ofNullable(this.filterSettings);
    }

    /**
     * Four bit AFD value to write on all frames of video in the output stream.
     * 
     */
    @Import(name="fixedAfd")
    private @Nullable Output fixedAfd;

    /**
     * @return Four bit AFD value to write on all frames of video in the output stream.
     * 
     */
    public Optional> fixedAfd() {
        return Optional.ofNullable(this.fixedAfd);
    }

    @Import(name="flickerAq")
    private @Nullable Output flickerAq;

    public Optional> flickerAq() {
        return Optional.ofNullable(this.flickerAq);
    }

    /**
     * Controls whether coding is performed on a field basis or on a frame basis.
     * 
     */
    @Import(name="forceFieldPictures")
    private @Nullable Output forceFieldPictures;

    /**
     * @return Controls whether coding is performed on a field basis or on a frame basis.
     * 
     */
    public Optional> forceFieldPictures() {
        return Optional.ofNullable(this.forceFieldPictures);
    }

    /**
     * Indicates how the output video frame rate is specified.
     * 
     */
    @Import(name="framerateControl")
    private @Nullable Output framerateControl;

    /**
     * @return Indicates how the output video frame rate is specified.
     * 
     */
    public Optional> framerateControl() {
        return Optional.ofNullable(this.framerateControl);
    }

    /**
     * Framerate denominator.
     * 
     */
    @Import(name="framerateDenominator")
    private @Nullable Output framerateDenominator;

    /**
     * @return Framerate denominator.
     * 
     */
    public Optional> framerateDenominator() {
        return Optional.ofNullable(this.framerateDenominator);
    }

    /**
     * Framerate numerator.
     * 
     */
    @Import(name="framerateNumerator")
    private @Nullable Output framerateNumerator;

    /**
     * @return Framerate numerator.
     * 
     */
    public Optional> framerateNumerator() {
        return Optional.ofNullable(this.framerateNumerator);
    }

    /**
     * GOP-B reference.
     * 
     */
    @Import(name="gopBReference")
    private @Nullable Output gopBReference;

    /**
     * @return GOP-B reference.
     * 
     */
    public Optional> gopBReference() {
        return Optional.ofNullable(this.gopBReference);
    }

    /**
     * Frequency of closed GOPs.
     * 
     */
    @Import(name="gopClosedCadence")
    private @Nullable Output gopClosedCadence;

    /**
     * @return Frequency of closed GOPs.
     * 
     */
    public Optional> gopClosedCadence() {
        return Optional.ofNullable(this.gopClosedCadence);
    }

    /**
     * Number of B-frames between reference frames.
     * 
     */
    @Import(name="gopNumBFrames")
    private @Nullable Output gopNumBFrames;

    /**
     * @return Number of B-frames between reference frames.
     * 
     */
    public Optional> gopNumBFrames() {
        return Optional.ofNullable(this.gopNumBFrames);
    }

    /**
     * GOP size in units of either frames of seconds per `gop_size_units`.
     * 
     */
    @Import(name="gopSize")
    private @Nullable Output gopSize;

    /**
     * @return GOP size in units of either frames of seconds per `gop_size_units`.
     * 
     */
    public Optional> gopSize() {
        return Optional.ofNullable(this.gopSize);
    }

    /**
     * Indicates if the `gop_size` is specified in frames or seconds.
     * 
     */
    @Import(name="gopSizeUnits")
    private @Nullable Output gopSizeUnits;

    /**
     * @return Indicates if the `gop_size` is specified in frames or seconds.
     * 
     */
    public Optional> gopSizeUnits() {
        return Optional.ofNullable(this.gopSizeUnits);
    }

    /**
     * H264 level.
     * 
     */
    @Import(name="level")
    private @Nullable Output level;

    /**
     * @return H264 level.
     * 
     */
    public Optional> level() {
        return Optional.ofNullable(this.level);
    }

    /**
     * Amount of lookahead.
     * 
     */
    @Import(name="lookAheadRateControl")
    private @Nullable Output lookAheadRateControl;

    /**
     * @return Amount of lookahead.
     * 
     */
    public Optional> lookAheadRateControl() {
        return Optional.ofNullable(this.lookAheadRateControl);
    }

    /**
     * Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video.
     * 
     */
    @Import(name="maxBitrate")
    private @Nullable Output maxBitrate;

    /**
     * @return Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video.
     * 
     */
    public Optional> maxBitrate() {
        return Optional.ofNullable(this.maxBitrate);
    }

    @Import(name="minIInterval")
    private @Nullable Output minIInterval;

    public Optional> minIInterval() {
        return Optional.ofNullable(this.minIInterval);
    }

    /**
     * Number of reference frames to use.
     * 
     */
    @Import(name="numRefFrames")
    private @Nullable Output numRefFrames;

    /**
     * @return Number of reference frames to use.
     * 
     */
    public Optional> numRefFrames() {
        return Optional.ofNullable(this.numRefFrames);
    }

    /**
     * Indicates how the output pixel aspect ratio is specified.
     * 
     */
    @Import(name="parControl")
    private @Nullable Output parControl;

    /**
     * @return Indicates how the output pixel aspect ratio is specified.
     * 
     */
    public Optional> parControl() {
        return Optional.ofNullable(this.parControl);
    }

    /**
     * Pixel Aspect Ratio denominator.
     * 
     */
    @Import(name="parDenominator")
    private @Nullable Output parDenominator;

    /**
     * @return Pixel Aspect Ratio denominator.
     * 
     */
    public Optional> parDenominator() {
        return Optional.ofNullable(this.parDenominator);
    }

    /**
     * Pixel Aspect Ratio numerator.
     * 
     */
    @Import(name="parNumerator")
    private @Nullable Output parNumerator;

    /**
     * @return Pixel Aspect Ratio numerator.
     * 
     */
    public Optional> parNumerator() {
        return Optional.ofNullable(this.parNumerator);
    }

    /**
     * H264 profile.
     * 
     */
    @Import(name="profile")
    private @Nullable Output profile;

    /**
     * @return H264 profile.
     * 
     */
    public Optional> profile() {
        return Optional.ofNullable(this.profile);
    }

    /**
     * Quality level.
     * 
     */
    @Import(name="qualityLevel")
    private @Nullable Output qualityLevel;

    /**
     * @return Quality level.
     * 
     */
    public Optional> qualityLevel() {
        return Optional.ofNullable(this.qualityLevel);
    }

    /**
     * Controls the target quality for the video encode.
     * 
     */
    @Import(name="qvbrQualityLevel")
    private @Nullable Output qvbrQualityLevel;

    /**
     * @return Controls the target quality for the video encode.
     * 
     */
    public Optional> qvbrQualityLevel() {
        return Optional.ofNullable(this.qvbrQualityLevel);
    }

    /**
     * Rate control mode.
     * 
     */
    @Import(name="rateControlMode")
    private @Nullable Output rateControlMode;

    /**
     * @return Rate control mode.
     * 
     */
    public Optional> rateControlMode() {
        return Optional.ofNullable(this.rateControlMode);
    }

    /**
     * Sets the scan type of the output.
     * 
     */
    @Import(name="scanType")
    private @Nullable Output scanType;

    /**
     * @return Sets the scan type of the output.
     * 
     */
    public Optional> scanType() {
        return Optional.ofNullable(this.scanType);
    }

    /**
     * Scene change detection.
     * 
     */
    @Import(name="sceneChangeDetect")
    private @Nullable Output sceneChangeDetect;

    /**
     * @return Scene change detection.
     * 
     */
    public Optional> sceneChangeDetect() {
        return Optional.ofNullable(this.sceneChangeDetect);
    }

    /**
     * Number of slices per picture.
     * 
     */
    @Import(name="slices")
    private @Nullable Output slices;

    /**
     * @return Number of slices per picture.
     * 
     */
    public Optional> slices() {
        return Optional.ofNullable(this.slices);
    }

    /**
     * Softness.
     * 
     */
    @Import(name="softness")
    private @Nullable Output softness;

    /**
     * @return Softness.
     * 
     */
    public Optional> softness() {
        return Optional.ofNullable(this.softness);
    }

    /**
     * Makes adjustments within each frame based on spatial variation of content complexity.
     * 
     */
    @Import(name="spatialAq")
    private @Nullable Output spatialAq;

    /**
     * @return Makes adjustments within each frame based on spatial variation of content complexity.
     * 
     */
    public Optional> spatialAq() {
        return Optional.ofNullable(this.spatialAq);
    }

    /**
     * Subgop length.
     * 
     */
    @Import(name="subgopLength")
    private @Nullable Output subgopLength;

    /**
     * @return Subgop length.
     * 
     */
    public Optional> subgopLength() {
        return Optional.ofNullable(this.subgopLength);
    }

    /**
     * Produces a bitstream compliant with SMPTE RP-2027.
     * 
     */
    @Import(name="syntax")
    private @Nullable Output syntax;

    /**
     * @return Produces a bitstream compliant with SMPTE RP-2027.
     * 
     */
    public Optional> syntax() {
        return Optional.ofNullable(this.syntax);
    }

    /**
     * Makes adjustments within each frame based on temporal variation of content complexity.
     * 
     */
    @Import(name="temporalAq")
    private @Nullable Output temporalAq;

    /**
     * @return Makes adjustments within each frame based on temporal variation of content complexity.
     * 
     */
    public Optional> temporalAq() {
        return Optional.ofNullable(this.temporalAq);
    }

    /**
     * Determines how timecodes should be inserted into the video elementary stream.
     * 
     */
    @Import(name="timecodeInsertion")
    private @Nullable Output timecodeInsertion;

    /**
     * @return Determines how timecodes should be inserted into the video elementary stream.
     * 
     */
    public Optional> timecodeInsertion() {
        return Optional.ofNullable(this.timecodeInsertion);
    }

    private ChannelEncoderSettingsVideoDescriptionCodecSettingsH264SettingsArgs() {}

    private ChannelEncoderSettingsVideoDescriptionCodecSettingsH264SettingsArgs(ChannelEncoderSettingsVideoDescriptionCodecSettingsH264SettingsArgs $) {
        this.adaptiveQuantization = $.adaptiveQuantization;
        this.afdSignaling = $.afdSignaling;
        this.bitrate = $.bitrate;
        this.bufFillPct = $.bufFillPct;
        this.bufSize = $.bufSize;
        this.colorMetadata = $.colorMetadata;
        this.entropyEncoding = $.entropyEncoding;
        this.filterSettings = $.filterSettings;
        this.fixedAfd = $.fixedAfd;
        this.flickerAq = $.flickerAq;
        this.forceFieldPictures = $.forceFieldPictures;
        this.framerateControl = $.framerateControl;
        this.framerateDenominator = $.framerateDenominator;
        this.framerateNumerator = $.framerateNumerator;
        this.gopBReference = $.gopBReference;
        this.gopClosedCadence = $.gopClosedCadence;
        this.gopNumBFrames = $.gopNumBFrames;
        this.gopSize = $.gopSize;
        this.gopSizeUnits = $.gopSizeUnits;
        this.level = $.level;
        this.lookAheadRateControl = $.lookAheadRateControl;
        this.maxBitrate = $.maxBitrate;
        this.minIInterval = $.minIInterval;
        this.numRefFrames = $.numRefFrames;
        this.parControl = $.parControl;
        this.parDenominator = $.parDenominator;
        this.parNumerator = $.parNumerator;
        this.profile = $.profile;
        this.qualityLevel = $.qualityLevel;
        this.qvbrQualityLevel = $.qvbrQualityLevel;
        this.rateControlMode = $.rateControlMode;
        this.scanType = $.scanType;
        this.sceneChangeDetect = $.sceneChangeDetect;
        this.slices = $.slices;
        this.softness = $.softness;
        this.spatialAq = $.spatialAq;
        this.subgopLength = $.subgopLength;
        this.syntax = $.syntax;
        this.temporalAq = $.temporalAq;
        this.timecodeInsertion = $.timecodeInsertion;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ChannelEncoderSettingsVideoDescriptionCodecSettingsH264SettingsArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ChannelEncoderSettingsVideoDescriptionCodecSettingsH264SettingsArgs $;

        public Builder() {
            $ = new ChannelEncoderSettingsVideoDescriptionCodecSettingsH264SettingsArgs();
        }

        public Builder(ChannelEncoderSettingsVideoDescriptionCodecSettingsH264SettingsArgs defaults) {
            $ = new ChannelEncoderSettingsVideoDescriptionCodecSettingsH264SettingsArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param adaptiveQuantization Enables or disables adaptive quantization.
         * 
         * @return builder
         * 
         */
        public Builder adaptiveQuantization(@Nullable Output adaptiveQuantization) {
            $.adaptiveQuantization = adaptiveQuantization;
            return this;
        }

        /**
         * @param adaptiveQuantization Enables or disables adaptive quantization.
         * 
         * @return builder
         * 
         */
        public Builder adaptiveQuantization(String adaptiveQuantization) {
            return adaptiveQuantization(Output.of(adaptiveQuantization));
        }

        /**
         * @param afdSignaling Indicates that AFD values will be written into the output stream.
         * 
         * @return builder
         * 
         */
        public Builder afdSignaling(@Nullable Output afdSignaling) {
            $.afdSignaling = afdSignaling;
            return this;
        }

        /**
         * @param afdSignaling Indicates that AFD values will be written into the output stream.
         * 
         * @return builder
         * 
         */
        public Builder afdSignaling(String afdSignaling) {
            return afdSignaling(Output.of(afdSignaling));
        }

        /**
         * @param bitrate Average bitrate in bits/second.
         * 
         * @return builder
         * 
         */
        public Builder bitrate(@Nullable Output bitrate) {
            $.bitrate = bitrate;
            return this;
        }

        /**
         * @param bitrate Average bitrate in bits/second.
         * 
         * @return builder
         * 
         */
        public Builder bitrate(Integer bitrate) {
            return bitrate(Output.of(bitrate));
        }

        public Builder bufFillPct(@Nullable Output bufFillPct) {
            $.bufFillPct = bufFillPct;
            return this;
        }

        public Builder bufFillPct(Integer bufFillPct) {
            return bufFillPct(Output.of(bufFillPct));
        }

        /**
         * @param bufSize Size of buffer in bits.
         * 
         * @return builder
         * 
         */
        public Builder bufSize(@Nullable Output bufSize) {
            $.bufSize = bufSize;
            return this;
        }

        /**
         * @param bufSize Size of buffer in bits.
         * 
         * @return builder
         * 
         */
        public Builder bufSize(Integer bufSize) {
            return bufSize(Output.of(bufSize));
        }

        /**
         * @param colorMetadata Includes color space metadata in the output.
         * 
         * @return builder
         * 
         */
        public Builder colorMetadata(@Nullable Output colorMetadata) {
            $.colorMetadata = colorMetadata;
            return this;
        }

        /**
         * @param colorMetadata Includes color space metadata in the output.
         * 
         * @return builder
         * 
         */
        public Builder colorMetadata(String colorMetadata) {
            return colorMetadata(Output.of(colorMetadata));
        }

        /**
         * @param entropyEncoding Entropy encoding mode.
         * 
         * @return builder
         * 
         */
        public Builder entropyEncoding(@Nullable Output entropyEncoding) {
            $.entropyEncoding = entropyEncoding;
            return this;
        }

        /**
         * @param entropyEncoding Entropy encoding mode.
         * 
         * @return builder
         * 
         */
        public Builder entropyEncoding(String entropyEncoding) {
            return entropyEncoding(Output.of(entropyEncoding));
        }

        /**
         * @param filterSettings Filters to apply to an encode. See H264 Filter Settings for more details.
         * 
         * @return builder
         * 
         */
        public Builder filterSettings(@Nullable Output filterSettings) {
            $.filterSettings = filterSettings;
            return this;
        }

        /**
         * @param filterSettings Filters to apply to an encode. See H264 Filter Settings for more details.
         * 
         * @return builder
         * 
         */
        public Builder filterSettings(ChannelEncoderSettingsVideoDescriptionCodecSettingsH264SettingsFilterSettingsArgs filterSettings) {
            return filterSettings(Output.of(filterSettings));
        }

        /**
         * @param fixedAfd Four bit AFD value to write on all frames of video in the output stream.
         * 
         * @return builder
         * 
         */
        public Builder fixedAfd(@Nullable Output fixedAfd) {
            $.fixedAfd = fixedAfd;
            return this;
        }

        /**
         * @param fixedAfd Four bit AFD value to write on all frames of video in the output stream.
         * 
         * @return builder
         * 
         */
        public Builder fixedAfd(String fixedAfd) {
            return fixedAfd(Output.of(fixedAfd));
        }

        public Builder flickerAq(@Nullable Output flickerAq) {
            $.flickerAq = flickerAq;
            return this;
        }

        public Builder flickerAq(String flickerAq) {
            return flickerAq(Output.of(flickerAq));
        }

        /**
         * @param forceFieldPictures Controls whether coding is performed on a field basis or on a frame basis.
         * 
         * @return builder
         * 
         */
        public Builder forceFieldPictures(@Nullable Output forceFieldPictures) {
            $.forceFieldPictures = forceFieldPictures;
            return this;
        }

        /**
         * @param forceFieldPictures Controls whether coding is performed on a field basis or on a frame basis.
         * 
         * @return builder
         * 
         */
        public Builder forceFieldPictures(String forceFieldPictures) {
            return forceFieldPictures(Output.of(forceFieldPictures));
        }

        /**
         * @param framerateControl Indicates how the output video frame rate is specified.
         * 
         * @return builder
         * 
         */
        public Builder framerateControl(@Nullable Output framerateControl) {
            $.framerateControl = framerateControl;
            return this;
        }

        /**
         * @param framerateControl Indicates how the output video frame rate is specified.
         * 
         * @return builder
         * 
         */
        public Builder framerateControl(String framerateControl) {
            return framerateControl(Output.of(framerateControl));
        }

        /**
         * @param framerateDenominator Framerate denominator.
         * 
         * @return builder
         * 
         */
        public Builder framerateDenominator(@Nullable Output framerateDenominator) {
            $.framerateDenominator = framerateDenominator;
            return this;
        }

        /**
         * @param framerateDenominator Framerate denominator.
         * 
         * @return builder
         * 
         */
        public Builder framerateDenominator(Integer framerateDenominator) {
            return framerateDenominator(Output.of(framerateDenominator));
        }

        /**
         * @param framerateNumerator Framerate numerator.
         * 
         * @return builder
         * 
         */
        public Builder framerateNumerator(@Nullable Output framerateNumerator) {
            $.framerateNumerator = framerateNumerator;
            return this;
        }

        /**
         * @param framerateNumerator Framerate numerator.
         * 
         * @return builder
         * 
         */
        public Builder framerateNumerator(Integer framerateNumerator) {
            return framerateNumerator(Output.of(framerateNumerator));
        }

        /**
         * @param gopBReference GOP-B reference.
         * 
         * @return builder
         * 
         */
        public Builder gopBReference(@Nullable Output gopBReference) {
            $.gopBReference = gopBReference;
            return this;
        }

        /**
         * @param gopBReference GOP-B reference.
         * 
         * @return builder
         * 
         */
        public Builder gopBReference(String gopBReference) {
            return gopBReference(Output.of(gopBReference));
        }

        /**
         * @param gopClosedCadence Frequency of closed GOPs.
         * 
         * @return builder
         * 
         */
        public Builder gopClosedCadence(@Nullable Output gopClosedCadence) {
            $.gopClosedCadence = gopClosedCadence;
            return this;
        }

        /**
         * @param gopClosedCadence Frequency of closed GOPs.
         * 
         * @return builder
         * 
         */
        public Builder gopClosedCadence(Integer gopClosedCadence) {
            return gopClosedCadence(Output.of(gopClosedCadence));
        }

        /**
         * @param gopNumBFrames Number of B-frames between reference frames.
         * 
         * @return builder
         * 
         */
        public Builder gopNumBFrames(@Nullable Output gopNumBFrames) {
            $.gopNumBFrames = gopNumBFrames;
            return this;
        }

        /**
         * @param gopNumBFrames Number of B-frames between reference frames.
         * 
         * @return builder
         * 
         */
        public Builder gopNumBFrames(Integer gopNumBFrames) {
            return gopNumBFrames(Output.of(gopNumBFrames));
        }

        /**
         * @param gopSize GOP size in units of either frames of seconds per `gop_size_units`.
         * 
         * @return builder
         * 
         */
        public Builder gopSize(@Nullable Output gopSize) {
            $.gopSize = gopSize;
            return this;
        }

        /**
         * @param gopSize GOP size in units of either frames of seconds per `gop_size_units`.
         * 
         * @return builder
         * 
         */
        public Builder gopSize(Double gopSize) {
            return gopSize(Output.of(gopSize));
        }

        /**
         * @param gopSizeUnits Indicates if the `gop_size` is specified in frames or seconds.
         * 
         * @return builder
         * 
         */
        public Builder gopSizeUnits(@Nullable Output gopSizeUnits) {
            $.gopSizeUnits = gopSizeUnits;
            return this;
        }

        /**
         * @param gopSizeUnits Indicates if the `gop_size` is specified in frames or seconds.
         * 
         * @return builder
         * 
         */
        public Builder gopSizeUnits(String gopSizeUnits) {
            return gopSizeUnits(Output.of(gopSizeUnits));
        }

        /**
         * @param level H264 level.
         * 
         * @return builder
         * 
         */
        public Builder level(@Nullable Output level) {
            $.level = level;
            return this;
        }

        /**
         * @param level H264 level.
         * 
         * @return builder
         * 
         */
        public Builder level(String level) {
            return level(Output.of(level));
        }

        /**
         * @param lookAheadRateControl Amount of lookahead.
         * 
         * @return builder
         * 
         */
        public Builder lookAheadRateControl(@Nullable Output lookAheadRateControl) {
            $.lookAheadRateControl = lookAheadRateControl;
            return this;
        }

        /**
         * @param lookAheadRateControl Amount of lookahead.
         * 
         * @return builder
         * 
         */
        public Builder lookAheadRateControl(String lookAheadRateControl) {
            return lookAheadRateControl(Output.of(lookAheadRateControl));
        }

        /**
         * @param maxBitrate Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video.
         * 
         * @return builder
         * 
         */
        public Builder maxBitrate(@Nullable Output maxBitrate) {
            $.maxBitrate = maxBitrate;
            return this;
        }

        /**
         * @param maxBitrate Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video.
         * 
         * @return builder
         * 
         */
        public Builder maxBitrate(Integer maxBitrate) {
            return maxBitrate(Output.of(maxBitrate));
        }

        public Builder minIInterval(@Nullable Output minIInterval) {
            $.minIInterval = minIInterval;
            return this;
        }

        public Builder minIInterval(Integer minIInterval) {
            return minIInterval(Output.of(minIInterval));
        }

        /**
         * @param numRefFrames Number of reference frames to use.
         * 
         * @return builder
         * 
         */
        public Builder numRefFrames(@Nullable Output numRefFrames) {
            $.numRefFrames = numRefFrames;
            return this;
        }

        /**
         * @param numRefFrames Number of reference frames to use.
         * 
         * @return builder
         * 
         */
        public Builder numRefFrames(Integer numRefFrames) {
            return numRefFrames(Output.of(numRefFrames));
        }

        /**
         * @param parControl Indicates how the output pixel aspect ratio is specified.
         * 
         * @return builder
         * 
         */
        public Builder parControl(@Nullable Output parControl) {
            $.parControl = parControl;
            return this;
        }

        /**
         * @param parControl Indicates how the output pixel aspect ratio is specified.
         * 
         * @return builder
         * 
         */
        public Builder parControl(String parControl) {
            return parControl(Output.of(parControl));
        }

        /**
         * @param parDenominator Pixel Aspect Ratio denominator.
         * 
         * @return builder
         * 
         */
        public Builder parDenominator(@Nullable Output parDenominator) {
            $.parDenominator = parDenominator;
            return this;
        }

        /**
         * @param parDenominator Pixel Aspect Ratio denominator.
         * 
         * @return builder
         * 
         */
        public Builder parDenominator(Integer parDenominator) {
            return parDenominator(Output.of(parDenominator));
        }

        /**
         * @param parNumerator Pixel Aspect Ratio numerator.
         * 
         * @return builder
         * 
         */
        public Builder parNumerator(@Nullable Output parNumerator) {
            $.parNumerator = parNumerator;
            return this;
        }

        /**
         * @param parNumerator Pixel Aspect Ratio numerator.
         * 
         * @return builder
         * 
         */
        public Builder parNumerator(Integer parNumerator) {
            return parNumerator(Output.of(parNumerator));
        }

        /**
         * @param profile H264 profile.
         * 
         * @return builder
         * 
         */
        public Builder profile(@Nullable Output profile) {
            $.profile = profile;
            return this;
        }

        /**
         * @param profile H264 profile.
         * 
         * @return builder
         * 
         */
        public Builder profile(String profile) {
            return profile(Output.of(profile));
        }

        /**
         * @param qualityLevel Quality level.
         * 
         * @return builder
         * 
         */
        public Builder qualityLevel(@Nullable Output qualityLevel) {
            $.qualityLevel = qualityLevel;
            return this;
        }

        /**
         * @param qualityLevel Quality level.
         * 
         * @return builder
         * 
         */
        public Builder qualityLevel(String qualityLevel) {
            return qualityLevel(Output.of(qualityLevel));
        }

        /**
         * @param qvbrQualityLevel Controls the target quality for the video encode.
         * 
         * @return builder
         * 
         */
        public Builder qvbrQualityLevel(@Nullable Output qvbrQualityLevel) {
            $.qvbrQualityLevel = qvbrQualityLevel;
            return this;
        }

        /**
         * @param qvbrQualityLevel Controls the target quality for the video encode.
         * 
         * @return builder
         * 
         */
        public Builder qvbrQualityLevel(Integer qvbrQualityLevel) {
            return qvbrQualityLevel(Output.of(qvbrQualityLevel));
        }

        /**
         * @param rateControlMode Rate control mode.
         * 
         * @return builder
         * 
         */
        public Builder rateControlMode(@Nullable Output rateControlMode) {
            $.rateControlMode = rateControlMode;
            return this;
        }

        /**
         * @param rateControlMode Rate control mode.
         * 
         * @return builder
         * 
         */
        public Builder rateControlMode(String rateControlMode) {
            return rateControlMode(Output.of(rateControlMode));
        }

        /**
         * @param scanType Sets the scan type of the output.
         * 
         * @return builder
         * 
         */
        public Builder scanType(@Nullable Output scanType) {
            $.scanType = scanType;
            return this;
        }

        /**
         * @param scanType Sets the scan type of the output.
         * 
         * @return builder
         * 
         */
        public Builder scanType(String scanType) {
            return scanType(Output.of(scanType));
        }

        /**
         * @param sceneChangeDetect Scene change detection.
         * 
         * @return builder
         * 
         */
        public Builder sceneChangeDetect(@Nullable Output sceneChangeDetect) {
            $.sceneChangeDetect = sceneChangeDetect;
            return this;
        }

        /**
         * @param sceneChangeDetect Scene change detection.
         * 
         * @return builder
         * 
         */
        public Builder sceneChangeDetect(String sceneChangeDetect) {
            return sceneChangeDetect(Output.of(sceneChangeDetect));
        }

        /**
         * @param slices Number of slices per picture.
         * 
         * @return builder
         * 
         */
        public Builder slices(@Nullable Output slices) {
            $.slices = slices;
            return this;
        }

        /**
         * @param slices Number of slices per picture.
         * 
         * @return builder
         * 
         */
        public Builder slices(Integer slices) {
            return slices(Output.of(slices));
        }

        /**
         * @param softness Softness.
         * 
         * @return builder
         * 
         */
        public Builder softness(@Nullable Output softness) {
            $.softness = softness;
            return this;
        }

        /**
         * @param softness Softness.
         * 
         * @return builder
         * 
         */
        public Builder softness(Integer softness) {
            return softness(Output.of(softness));
        }

        /**
         * @param spatialAq Makes adjustments within each frame based on spatial variation of content complexity.
         * 
         * @return builder
         * 
         */
        public Builder spatialAq(@Nullable Output spatialAq) {
            $.spatialAq = spatialAq;
            return this;
        }

        /**
         * @param spatialAq Makes adjustments within each frame based on spatial variation of content complexity.
         * 
         * @return builder
         * 
         */
        public Builder spatialAq(String spatialAq) {
            return spatialAq(Output.of(spatialAq));
        }

        /**
         * @param subgopLength Subgop length.
         * 
         * @return builder
         * 
         */
        public Builder subgopLength(@Nullable Output subgopLength) {
            $.subgopLength = subgopLength;
            return this;
        }

        /**
         * @param subgopLength Subgop length.
         * 
         * @return builder
         * 
         */
        public Builder subgopLength(String subgopLength) {
            return subgopLength(Output.of(subgopLength));
        }

        /**
         * @param syntax Produces a bitstream compliant with SMPTE RP-2027.
         * 
         * @return builder
         * 
         */
        public Builder syntax(@Nullable Output syntax) {
            $.syntax = syntax;
            return this;
        }

        /**
         * @param syntax Produces a bitstream compliant with SMPTE RP-2027.
         * 
         * @return builder
         * 
         */
        public Builder syntax(String syntax) {
            return syntax(Output.of(syntax));
        }

        /**
         * @param temporalAq Makes adjustments within each frame based on temporal variation of content complexity.
         * 
         * @return builder
         * 
         */
        public Builder temporalAq(@Nullable Output temporalAq) {
            $.temporalAq = temporalAq;
            return this;
        }

        /**
         * @param temporalAq Makes adjustments within each frame based on temporal variation of content complexity.
         * 
         * @return builder
         * 
         */
        public Builder temporalAq(String temporalAq) {
            return temporalAq(Output.of(temporalAq));
        }

        /**
         * @param timecodeInsertion Determines how timecodes should be inserted into the video elementary stream.
         * 
         * @return builder
         * 
         */
        public Builder timecodeInsertion(@Nullable Output timecodeInsertion) {
            $.timecodeInsertion = timecodeInsertion;
            return this;
        }

        /**
         * @param timecodeInsertion Determines how timecodes should be inserted into the video elementary stream.
         * 
         * @return builder
         * 
         */
        public Builder timecodeInsertion(String timecodeInsertion) {
            return timecodeInsertion(Output.of(timecodeInsertion));
        }

        public ChannelEncoderSettingsVideoDescriptionCodecSettingsH264SettingsArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy