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

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