com.amazonaws.services.mediaconvert.model.DolbyVision Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws-java-sdk-mediaconvert Show documentation
Show all versions of aws-java-sdk-mediaconvert Show documentation
The AWS Java SDK for AWS Elemental MediaConvert module holds the client classes that are used for communicating with AWS Elemental MediaConvert Service
/*
* Copyright 2019-2024 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 com.amazonaws.services.mediaconvert.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
* Create Dolby Vision Profile 5 or Profile 8.1 compatible video output.
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class DolbyVision implements Serializable, Cloneable, StructuredPojo {
/**
* Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to override the MaxCLL and MaxFALL values in
* your input with new values.
*/
private DolbyVisionLevel6Metadata l6Metadata;
/** Use Dolby Vision Mode to choose how the service will handle Dolby Vision MaxCLL and MaxFALL properies. */
private String 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.
*/
private String 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.
*/
private String profile;
/**
* Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to override the MaxCLL and MaxFALL values in
* your input with new values.
*
* @param l6Metadata
* Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to override the MaxCLL and MaxFALL values
* in your input with new values.
*/
public void setL6Metadata(DolbyVisionLevel6Metadata l6Metadata) {
this.l6Metadata = l6Metadata;
}
/**
* Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to override the MaxCLL and MaxFALL values in
* your input with new values.
*
* @return Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to override the MaxCLL and MaxFALL
* values in your input with new values.
*/
public DolbyVisionLevel6Metadata getL6Metadata() {
return this.l6Metadata;
}
/**
* Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to override the MaxCLL and MaxFALL values in
* your input with new values.
*
* @param l6Metadata
* Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to override the MaxCLL and MaxFALL values
* in your input with new values.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DolbyVision withL6Metadata(DolbyVisionLevel6Metadata l6Metadata) {
setL6Metadata(l6Metadata);
return this;
}
/**
* Use Dolby Vision Mode to choose how the service will handle Dolby Vision MaxCLL and MaxFALL properies.
*
* @param l6Mode
* Use Dolby Vision Mode to choose how the service will handle Dolby Vision MaxCLL and MaxFALL properies.
* @see DolbyVisionLevel6Mode
*/
public void setL6Mode(String l6Mode) {
this.l6Mode = l6Mode;
}
/**
* Use Dolby Vision Mode to choose how the service will handle Dolby Vision MaxCLL and MaxFALL properies.
*
* @return Use Dolby Vision Mode to choose how the service will handle Dolby Vision MaxCLL and MaxFALL properies.
* @see DolbyVisionLevel6Mode
*/
public String getL6Mode() {
return this.l6Mode;
}
/**
* Use Dolby Vision Mode to choose how the service will handle Dolby Vision MaxCLL and MaxFALL properies.
*
* @param l6Mode
* Use Dolby Vision Mode to choose how the service will handle Dolby Vision MaxCLL and MaxFALL properies.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DolbyVisionLevel6Mode
*/
public DolbyVision withL6Mode(String l6Mode) {
setL6Mode(l6Mode);
return this;
}
/**
* Use Dolby Vision Mode to choose how the service will handle Dolby Vision MaxCLL and MaxFALL properies.
*
* @param l6Mode
* Use Dolby Vision Mode to choose how the service will handle Dolby Vision MaxCLL and MaxFALL properies.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DolbyVisionLevel6Mode
*/
public DolbyVision withL6Mode(DolbyVisionLevel6Mode l6Mode) {
this.l6Mode = l6Mode.toString();
return this;
}
/**
* 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.
*
* @param mapping
* 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.
* @see DolbyVisionMapping
*/
public void setMapping(String mapping) {
this.mapping = mapping;
}
/**
* 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.
*
* @return 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.
* @see DolbyVisionMapping
*/
public String getMapping() {
return this.mapping;
}
/**
* 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.
*
* @param mapping
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DolbyVisionMapping
*/
public DolbyVision withMapping(String mapping) {
setMapping(mapping);
return this;
}
/**
* 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.
*
* @param mapping
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DolbyVisionMapping
*/
public DolbyVision withMapping(DolbyVisionMapping mapping) {
this.mapping = mapping.toString();
return this;
}
/**
* 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.
*
* @param profile
* 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.
* @see DolbyVisionProfile
*/
public void setProfile(String profile) {
this.profile = profile;
}
/**
* 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.
*
* @return 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.
* @see DolbyVisionProfile
*/
public String getProfile() {
return this.profile;
}
/**
* 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.
*
* @param profile
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DolbyVisionProfile
*/
public DolbyVision withProfile(String profile) {
setProfile(profile);
return this;
}
/**
* 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.
*
* @param profile
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DolbyVisionProfile
*/
public DolbyVision withProfile(DolbyVisionProfile profile) {
this.profile = profile.toString();
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getL6Metadata() != null)
sb.append("L6Metadata: ").append(getL6Metadata()).append(",");
if (getL6Mode() != null)
sb.append("L6Mode: ").append(getL6Mode()).append(",");
if (getMapping() != null)
sb.append("Mapping: ").append(getMapping()).append(",");
if (getProfile() != null)
sb.append("Profile: ").append(getProfile());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof DolbyVision == false)
return false;
DolbyVision other = (DolbyVision) obj;
if (other.getL6Metadata() == null ^ this.getL6Metadata() == null)
return false;
if (other.getL6Metadata() != null && other.getL6Metadata().equals(this.getL6Metadata()) == false)
return false;
if (other.getL6Mode() == null ^ this.getL6Mode() == null)
return false;
if (other.getL6Mode() != null && other.getL6Mode().equals(this.getL6Mode()) == false)
return false;
if (other.getMapping() == null ^ this.getMapping() == null)
return false;
if (other.getMapping() != null && other.getMapping().equals(this.getMapping()) == false)
return false;
if (other.getProfile() == null ^ this.getProfile() == null)
return false;
if (other.getProfile() != null && other.getProfile().equals(this.getProfile()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getL6Metadata() == null) ? 0 : getL6Metadata().hashCode());
hashCode = prime * hashCode + ((getL6Mode() == null) ? 0 : getL6Mode().hashCode());
hashCode = prime * hashCode + ((getMapping() == null) ? 0 : getMapping().hashCode());
hashCode = prime * hashCode + ((getProfile() == null) ? 0 : getProfile().hashCode());
return hashCode;
}
@Override
public DolbyVision clone() {
try {
return (DolbyVision) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.mediaconvert.model.transform.DolbyVisionMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}