
com.google.api.services.transcoder.v1.model.Vp9CodecSettings Maven / Gradle / Ivy
/*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* 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.
*/
/*
* This code was generated by https://github.com/googleapis/google-api-java-client-services/
* Modify at your own risk.
*/
package com.google.api.services.transcoder.v1.model;
/**
* VP9 codec settings.
*
* This is the Java data model class that specifies how to parse/serialize into the JSON that is
* transmitted over HTTP when working with the Transcoder API. For a detailed explanation see:
* https://developers.google.com/api-client-library/java/google-http-java-client/json
*
*
* @author Google, Inc.
*/
@SuppressWarnings("javadoc")
public final class Vp9CodecSettings extends com.google.api.client.json.GenericJson {
/**
* Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value
* is 480,000,000.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Integer bitrateBps;
/**
* Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most
* efficient compression. The default is 21. **Note:** This field is not supported.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Integer crfLevel;
/**
* Required. The target video frame rate in frames per second (FPS). Must be less than or equal to
* 120. Will default to the input frame rate if larger than the input frame rate. The API will
* generate an output FPS that is divisible by the input FPS, and smaller or equal to the target
* FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate)
* for more information.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Double frameRate;
/**
* Select the GOP size based on the specified duration. The default is `3s`. Note that
* `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and
* [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private String gopDuration;
/**
* Select the GOP size based on the specified frame count. Must be greater than zero.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Integer gopFrameCount;
/**
* The height of the video in pixels. Must be an even integer. When not specified, the height is
* adjusted to match the specified width and input aspect ratio. If both are omitted, the input
* height is used. For portrait videos that contain horizontal ASR and rotation metadata, provide
* the height, in pixels, per the horizontal ASR. The API calculates the width per the horizontal
* ASR. The API detects any rotation metadata and swaps the requested height and width for the
* output.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Integer heightPixels;
/**
* Optional. HLG color format setting for VP9.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private Vp9ColorFormatHLG hlg;
/**
* Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel
* format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format
* - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12`
* 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel
* format
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String pixelFormat;
/**
* Enforces the specified codec profile. The following profiles are supported: * `profile0`
* (default) * `profile1` * `profile2` * `profile3` The available options are [WebM-
* compatible](https://www.webmproject.org/vp9/profiles/). Note that certain values for this field
* may cause the transcoder to override other fields you set in the `Vp9CodecSettings` message.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String profile;
/**
* Specify the mode. The default is `vbr`. Supported rate control modes: - `vbr` - variable
* bitrate
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String rateControlMode;
/**
* Optional. SDR color format setting for VP9.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private Vp9ColorFormatSDR sdr;
/**
* The width of the video in pixels. Must be an even integer. When not specified, the width is
* adjusted to match the specified height and input aspect ratio. If both are omitted, the input
* width is used. For portrait videos that contain horizontal ASR and rotation metadata, provide
* the width, in pixels, per the horizontal ASR. The API calculates the height per the horizontal
* ASR. The API detects any rotation metadata and swaps the requested height and width for the
* output.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Integer widthPixels;
/**
* Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value
* is 480,000,000.
* @return value or {@code null} for none
*/
public java.lang.Integer getBitrateBps() {
return bitrateBps;
}
/**
* Required. The video bitrate in bits per second. The minimum value is 1,000. The maximum value
* is 480,000,000.
* @param bitrateBps bitrateBps or {@code null} for none
*/
public Vp9CodecSettings setBitrateBps(java.lang.Integer bitrateBps) {
this.bitrateBps = bitrateBps;
return this;
}
/**
* Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most
* efficient compression. The default is 21. **Note:** This field is not supported.
* @return value or {@code null} for none
*/
public java.lang.Integer getCrfLevel() {
return crfLevel;
}
/**
* Target CRF level. Must be between 10 and 36, where 10 is the highest quality and 36 is the most
* efficient compression. The default is 21. **Note:** This field is not supported.
* @param crfLevel crfLevel or {@code null} for none
*/
public Vp9CodecSettings setCrfLevel(java.lang.Integer crfLevel) {
this.crfLevel = crfLevel;
return this;
}
/**
* Required. The target video frame rate in frames per second (FPS). Must be less than or equal to
* 120. Will default to the input frame rate if larger than the input frame rate. The API will
* generate an output FPS that is divisible by the input FPS, and smaller or equal to the target
* FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate)
* for more information.
* @return value or {@code null} for none
*/
public java.lang.Double getFrameRate() {
return frameRate;
}
/**
* Required. The target video frame rate in frames per second (FPS). Must be less than or equal to
* 120. Will default to the input frame rate if larger than the input frame rate. The API will
* generate an output FPS that is divisible by the input FPS, and smaller or equal to the target
* FPS. See [Calculating frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate)
* for more information.
* @param frameRate frameRate or {@code null} for none
*/
public Vp9CodecSettings setFrameRate(java.lang.Double frameRate) {
this.frameRate = frameRate;
return this;
}
/**
* Select the GOP size based on the specified duration. The default is `3s`. Note that
* `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and
* [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
* @return value or {@code null} for none
*/
public String getGopDuration() {
return gopDuration;
}
/**
* Select the GOP size based on the specified duration. The default is `3s`. Note that
* `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and
* [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.
* @param gopDuration gopDuration or {@code null} for none
*/
public Vp9CodecSettings setGopDuration(String gopDuration) {
this.gopDuration = gopDuration;
return this;
}
/**
* Select the GOP size based on the specified frame count. Must be greater than zero.
* @return value or {@code null} for none
*/
public java.lang.Integer getGopFrameCount() {
return gopFrameCount;
}
/**
* Select the GOP size based on the specified frame count. Must be greater than zero.
* @param gopFrameCount gopFrameCount or {@code null} for none
*/
public Vp9CodecSettings setGopFrameCount(java.lang.Integer gopFrameCount) {
this.gopFrameCount = gopFrameCount;
return this;
}
/**
* The height of the video in pixels. Must be an even integer. When not specified, the height is
* adjusted to match the specified width and input aspect ratio. If both are omitted, the input
* height is used. For portrait videos that contain horizontal ASR and rotation metadata, provide
* the height, in pixels, per the horizontal ASR. The API calculates the width per the horizontal
* ASR. The API detects any rotation metadata and swaps the requested height and width for the
* output.
* @return value or {@code null} for none
*/
public java.lang.Integer getHeightPixels() {
return heightPixels;
}
/**
* The height of the video in pixels. Must be an even integer. When not specified, the height is
* adjusted to match the specified width and input aspect ratio. If both are omitted, the input
* height is used. For portrait videos that contain horizontal ASR and rotation metadata, provide
* the height, in pixels, per the horizontal ASR. The API calculates the width per the horizontal
* ASR. The API detects any rotation metadata and swaps the requested height and width for the
* output.
* @param heightPixels heightPixels or {@code null} for none
*/
public Vp9CodecSettings setHeightPixels(java.lang.Integer heightPixels) {
this.heightPixels = heightPixels;
return this;
}
/**
* Optional. HLG color format setting for VP9.
* @return value or {@code null} for none
*/
public Vp9ColorFormatHLG getHlg() {
return hlg;
}
/**
* Optional. HLG color format setting for VP9.
* @param hlg hlg or {@code null} for none
*/
public Vp9CodecSettings setHlg(Vp9ColorFormatHLG hlg) {
this.hlg = hlg;
return this;
}
/**
* Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel
* format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format
* - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12`
* 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel
* format
* @return value or {@code null} for none
*/
public java.lang.String getPixelFormat() {
return pixelFormat;
}
/**
* Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel
* format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format
* - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12`
* 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel
* format
* @param pixelFormat pixelFormat or {@code null} for none
*/
public Vp9CodecSettings setPixelFormat(java.lang.String pixelFormat) {
this.pixelFormat = pixelFormat;
return this;
}
/**
* Enforces the specified codec profile. The following profiles are supported: * `profile0`
* (default) * `profile1` * `profile2` * `profile3` The available options are [WebM-
* compatible](https://www.webmproject.org/vp9/profiles/). Note that certain values for this field
* may cause the transcoder to override other fields you set in the `Vp9CodecSettings` message.
* @return value or {@code null} for none
*/
public java.lang.String getProfile() {
return profile;
}
/**
* Enforces the specified codec profile. The following profiles are supported: * `profile0`
* (default) * `profile1` * `profile2` * `profile3` The available options are [WebM-
* compatible](https://www.webmproject.org/vp9/profiles/). Note that certain values for this field
* may cause the transcoder to override other fields you set in the `Vp9CodecSettings` message.
* @param profile profile or {@code null} for none
*/
public Vp9CodecSettings setProfile(java.lang.String profile) {
this.profile = profile;
return this;
}
/**
* Specify the mode. The default is `vbr`. Supported rate control modes: - `vbr` - variable
* bitrate
* @return value or {@code null} for none
*/
public java.lang.String getRateControlMode() {
return rateControlMode;
}
/**
* Specify the mode. The default is `vbr`. Supported rate control modes: - `vbr` - variable
* bitrate
* @param rateControlMode rateControlMode or {@code null} for none
*/
public Vp9CodecSettings setRateControlMode(java.lang.String rateControlMode) {
this.rateControlMode = rateControlMode;
return this;
}
/**
* Optional. SDR color format setting for VP9.
* @return value or {@code null} for none
*/
public Vp9ColorFormatSDR getSdr() {
return sdr;
}
/**
* Optional. SDR color format setting for VP9.
* @param sdr sdr or {@code null} for none
*/
public Vp9CodecSettings setSdr(Vp9ColorFormatSDR sdr) {
this.sdr = sdr;
return this;
}
/**
* The width of the video in pixels. Must be an even integer. When not specified, the width is
* adjusted to match the specified height and input aspect ratio. If both are omitted, the input
* width is used. For portrait videos that contain horizontal ASR and rotation metadata, provide
* the width, in pixels, per the horizontal ASR. The API calculates the height per the horizontal
* ASR. The API detects any rotation metadata and swaps the requested height and width for the
* output.
* @return value or {@code null} for none
*/
public java.lang.Integer getWidthPixels() {
return widthPixels;
}
/**
* The width of the video in pixels. Must be an even integer. When not specified, the width is
* adjusted to match the specified height and input aspect ratio. If both are omitted, the input
* width is used. For portrait videos that contain horizontal ASR and rotation metadata, provide
* the width, in pixels, per the horizontal ASR. The API calculates the height per the horizontal
* ASR. The API detects any rotation metadata and swaps the requested height and width for the
* output.
* @param widthPixels widthPixels or {@code null} for none
*/
public Vp9CodecSettings setWidthPixels(java.lang.Integer widthPixels) {
this.widthPixels = widthPixels;
return this;
}
@Override
public Vp9CodecSettings set(String fieldName, Object value) {
return (Vp9CodecSettings) super.set(fieldName, value);
}
@Override
public Vp9CodecSettings clone() {
return (Vp9CodecSettings) super.clone();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy