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

commonMain.aws.sdk.kotlin.services.mediaconvert.model.DolbyVision.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.mediaconvert.model



/**
 * Create Dolby Vision Profile 5 or Profile 8.1 compatible video output.
 */
public class DolbyVision private constructor(builder: Builder) {
    /**
     * Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to override the MaxCLL and MaxFALL values in your input with new values.
     */
    public val l6Metadata: aws.sdk.kotlin.services.mediaconvert.model.DolbyVisionLevel6Metadata? = builder.l6Metadata
    /**
     * Use Dolby Vision Mode to choose how the service will handle Dolby Vision MaxCLL and MaxFALL properies.
     */
    public val l6Mode: aws.sdk.kotlin.services.mediaconvert.model.DolbyVisionLevel6Mode? = builder.l6Mode
    /**
     * Required when you set Dolby Vision Profile to Profile 8.1. When you set Content mapping to None, content mapping is not applied to the HDR10-compatible signal. Depending on the source peak nit level, clipping might occur on HDR devices without Dolby Vision. When you set Content mapping to HDR10 1000, the transcoder creates a 1,000 nits peak HDR10-compatible signal by applying static content mapping to the source. This mode is speed-optimized for PQ10 sources with metadata that is created from analysis. For graded Dolby Vision content, be aware that creative intent might not be guaranteed with extreme 1,000 nits trims.
     */
    public val mapping: aws.sdk.kotlin.services.mediaconvert.model.DolbyVisionMapping? = builder.mapping
    /**
     * Required when you enable Dolby Vision. Use Profile 5 to include frame-interleaved Dolby Vision metadata in your output. Your input must include Dolby Vision metadata or an HDR10 YUV color space. Use Profile 8.1 to include frame-interleaved Dolby Vision metadata and HDR10 metadata in your output. Your input must include Dolby Vision metadata.
     */
    public val profile: aws.sdk.kotlin.services.mediaconvert.model.DolbyVisionProfile? = builder.profile

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.mediaconvert.model.DolbyVision = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("DolbyVision(")
        append("l6Metadata=$l6Metadata,")
        append("l6Mode=$l6Mode,")
        append("mapping=$mapping,")
        append("profile=$profile")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = l6Metadata?.hashCode() ?: 0
        result = 31 * result + (l6Mode?.hashCode() ?: 0)
        result = 31 * result + (mapping?.hashCode() ?: 0)
        result = 31 * result + (profile?.hashCode() ?: 0)
        return result
    }

    override fun equals(other: kotlin.Any?): kotlin.Boolean {
        if (this === other) return true
        if (other == null || this::class != other::class) return false

        other as DolbyVision

        if (l6Metadata != other.l6Metadata) return false
        if (l6Mode != other.l6Mode) return false
        if (mapping != other.mapping) return false
        if (profile != other.profile) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.mediaconvert.model.DolbyVision = Builder(this).apply(block).build()

    public class Builder {
        /**
         * Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to override the MaxCLL and MaxFALL values in your input with new values.
         */
        public var l6Metadata: aws.sdk.kotlin.services.mediaconvert.model.DolbyVisionLevel6Metadata? = null
        /**
         * Use Dolby Vision Mode to choose how the service will handle Dolby Vision MaxCLL and MaxFALL properies.
         */
        public var l6Mode: aws.sdk.kotlin.services.mediaconvert.model.DolbyVisionLevel6Mode? = null
        /**
         * Required when you set Dolby Vision Profile to Profile 8.1. When you set Content mapping to None, content mapping is not applied to the HDR10-compatible signal. Depending on the source peak nit level, clipping might occur on HDR devices without Dolby Vision. When you set Content mapping to HDR10 1000, the transcoder creates a 1,000 nits peak HDR10-compatible signal by applying static content mapping to the source. This mode is speed-optimized for PQ10 sources with metadata that is created from analysis. For graded Dolby Vision content, be aware that creative intent might not be guaranteed with extreme 1,000 nits trims.
         */
        public var mapping: aws.sdk.kotlin.services.mediaconvert.model.DolbyVisionMapping? = null
        /**
         * Required when you enable Dolby Vision. Use Profile 5 to include frame-interleaved Dolby Vision metadata in your output. Your input must include Dolby Vision metadata or an HDR10 YUV color space. Use Profile 8.1 to include frame-interleaved Dolby Vision metadata and HDR10 metadata in your output. Your input must include Dolby Vision metadata.
         */
        public var profile: aws.sdk.kotlin.services.mediaconvert.model.DolbyVisionProfile? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.mediaconvert.model.DolbyVision) : this() {
            this.l6Metadata = x.l6Metadata
            this.l6Mode = x.l6Mode
            this.mapping = x.mapping
            this.profile = x.profile
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.mediaconvert.model.DolbyVision = DolbyVision(this)

        /**
         * construct an [aws.sdk.kotlin.services.mediaconvert.model.DolbyVisionLevel6Metadata] inside the given [block]
         */
        public fun l6Metadata(block: aws.sdk.kotlin.services.mediaconvert.model.DolbyVisionLevel6Metadata.Builder.() -> kotlin.Unit) {
            this.l6Metadata = aws.sdk.kotlin.services.mediaconvert.model.DolbyVisionLevel6Metadata.invoke(block)
        }

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy