diff --git a/java-video-transcoder/README.md b/java-video-transcoder/README.md index 05f99310deb9..68392c27b2b4 100644 --- a/java-video-transcoder/README.md +++ b/java-video-transcoder/README.md @@ -19,20 +19,20 @@ If you are using Maven, add this to your pom.xml file: com.google.cloud google-cloud-video-transcoder - 1.4.0 + 1.5.0 ``` If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-video-transcoder:1.4.0' +implementation 'com.google.cloud:google-cloud-video-transcoder:1.5.0' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-video-transcoder" % "1.4.0" +libraryDependencies += "com.google.cloud" % "google-cloud-video-transcoder" % "1.5.0" ``` ## Authentication @@ -159,16 +159,16 @@ Java is a registered trademark of Oracle and/or its affiliates. [product-docs]: https://cloud.google.com/transcoder/docs [javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-video-transcoder/latest/overview -[kokoro-badge-image-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-video-transcoder/java7.svg -[kokoro-badge-link-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-video-transcoder/java7.html -[kokoro-badge-image-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-video-transcoder/java8.svg -[kokoro-badge-link-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-video-transcoder/java8.html -[kokoro-badge-image-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-video-transcoder/java8-osx.svg -[kokoro-badge-link-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-video-transcoder/java8-osx.html -[kokoro-badge-image-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-video-transcoder/java8-win.svg -[kokoro-badge-link-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-video-transcoder/java8-win.html -[kokoro-badge-image-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-video-transcoder/java11.svg -[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-video-transcoder/java11.html +[kokoro-badge-image-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java7.svg +[kokoro-badge-link-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java7.html +[kokoro-badge-image-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8.svg +[kokoro-badge-link-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8.html +[kokoro-badge-image-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-osx.svg +[kokoro-badge-link-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-osx.html +[kokoro-badge-image-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-win.svg +[kokoro-badge-link-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-win.html +[kokoro-badge-image-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java11.svg +[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java11.html [stability-image]: https://img.shields.io/badge/stability-stable-green [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-video-transcoder.svg [maven-version-link]: https://search.maven.org/search?q=g:com.google.cloud%20AND%20a:google-cloud-video-transcoder&core=gav @@ -180,9 +180,9 @@ Java is a registered trademark of Oracle and/or its affiliates. [create-project]: https://cloud.google.com/resource-manager/docs/creating-managing-projects [cloud-sdk]: https://cloud.google.com/sdk/ [troubleshooting]: https://github.com/googleapis/google-cloud-common/blob/main/troubleshooting/readme.md#troubleshooting -[contributing]: https://github.com/googleapis/java-video-transcoder/blob/main/CONTRIBUTING.md -[code-of-conduct]: https://github.com/googleapis/java-video-transcoder/blob/main/CODE_OF_CONDUCT.md#contributor-code-of-conduct -[license]: https://github.com/googleapis/java-video-transcoder/blob/main/LICENSE +[contributing]: https://github.com/googleapis/google-cloud-java/blob/main/CONTRIBUTING.md +[code-of-conduct]: https://github.com/googleapis/google-cloud-java/blob/main/CODE_OF_CONDUCT.md#contributor-code-of-conduct +[license]: https://github.com/googleapis/google-cloud-java/blob/main/LICENSE [enable-billing]: https://cloud.google.com/apis/docs/getting-started#enabling_billing [enable-api]: https://console.cloud.google.com/flows/enableapi?apiid=video-transcoder.googleapis.com [libraries-bom]: https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM diff --git a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/PreprocessingConfig.java b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/PreprocessingConfig.java index 19cbe055f4e0..95cc4af10be4 100644 --- a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/PreprocessingConfig.java +++ b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/PreprocessingConfig.java @@ -4814,6 +4814,3572 @@ public com.google.protobuf.Parser getParserForType() { } } + public interface DeinterlaceOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Specifies the Yet Another Deinterlacing Filter Configuration.
+     * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig yadif = 1; + * + * + * @return Whether the yadif field is set. + */ + boolean hasYadif(); + /** + * + * + *
+     * Specifies the Yet Another Deinterlacing Filter Configuration.
+     * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig yadif = 1; + * + * + * @return The yadif. + */ + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig getYadif(); + /** + * + * + *
+     * Specifies the Yet Another Deinterlacing Filter Configuration.
+     * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig yadif = 1; + * + */ + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfigOrBuilder + getYadifOrBuilder(); + + /** + * + * + *
+     * Specifies the Bob Weaver Deinterlacing Filter Configuration.
+     * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig bwdif = 2; + * + * + * @return Whether the bwdif field is set. + */ + boolean hasBwdif(); + /** + * + * + *
+     * Specifies the Bob Weaver Deinterlacing Filter Configuration.
+     * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig bwdif = 2; + * + * + * @return The bwdif. + */ + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig getBwdif(); + /** + * + * + *
+     * Specifies the Bob Weaver Deinterlacing Filter Configuration.
+     * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig bwdif = 2; + * + */ + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfigOrBuilder + getBwdifOrBuilder(); + + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .DeinterlacingFilterCase + getDeinterlacingFilterCase(); + } + /** + * + * + *
+   * Deinterlace configuration for input video.
+   * 
+ * + * Protobuf type {@code google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace} + */ + public static final class Deinterlace extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace) + DeinterlaceOrBuilder { + private static final long serialVersionUID = 0L; + // Use Deinterlace.newBuilder() to construct. + private Deinterlace(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private Deinterlace() {} + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new Deinterlace(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.video.transcoder.v1.ResourcesProto + .internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.video.transcoder.v1.ResourcesProto + .internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.class, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.Builder.class); + } + + public interface YadifConfigOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Specifies the deinterlacing mode to adopt.
+       * The default is `send_frame`.
+       * Supported values:
+       * - `send_frame`: Output one frame for each frame
+       * - `send_field`: Output one frame for each field
+       * 
+ * + * string mode = 1; + * + * @return The mode. + */ + java.lang.String getMode(); + /** + * + * + *
+       * Specifies the deinterlacing mode to adopt.
+       * The default is `send_frame`.
+       * Supported values:
+       * - `send_frame`: Output one frame for each frame
+       * - `send_field`: Output one frame for each field
+       * 
+ * + * string mode = 1; + * + * @return The bytes for mode. + */ + com.google.protobuf.ByteString getModeBytes(); + + /** + * + * + *
+       * Disable spacial interlacing.
+       * The default is `false`.
+       * 
+ * + * bool disable_spatial_interlacing = 2; + * + * @return The disableSpatialInterlacing. + */ + boolean getDisableSpatialInterlacing(); + + /** + * + * + *
+       * The picture field parity assumed for the input interlaced video.
+       * The default is `auto`.
+       * Supported values:
+       * - `tff`: Assume the top field is first
+       * - `bff`: Assume the bottom field is first
+       * - `auto`: Enable automatic detection of field parity
+       * 
+ * + * string parity = 3; + * + * @return The parity. + */ + java.lang.String getParity(); + /** + * + * + *
+       * The picture field parity assumed for the input interlaced video.
+       * The default is `auto`.
+       * Supported values:
+       * - `tff`: Assume the top field is first
+       * - `bff`: Assume the bottom field is first
+       * - `auto`: Enable automatic detection of field parity
+       * 
+ * + * string parity = 3; + * + * @return The bytes for parity. + */ + com.google.protobuf.ByteString getParityBytes(); + + /** + * + * + *
+       * Deinterlace all frames rather than just the frames identified as
+       * interlaced. The default is `false`.
+       * 
+ * + * bool deinterlace_all_frames = 4; + * + * @return The deinterlaceAllFrames. + */ + boolean getDeinterlaceAllFrames(); + } + /** + * + * + *
+     * Yet Another Deinterlacing Filter Configuration.
+     * 
+ * + * Protobuf type {@code + * google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig} + */ + public static final class YadifConfig extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig) + YadifConfigOrBuilder { + private static final long serialVersionUID = 0L; + // Use YadifConfig.newBuilder() to construct. + private YadifConfig(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private YadifConfig() { + mode_ = ""; + parity_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new YadifConfig(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.video.transcoder.v1.ResourcesProto + .internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_YadifConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.video.transcoder.v1.ResourcesProto + .internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_YadifConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .class, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .Builder.class); + } + + public static final int MODE_FIELD_NUMBER = 1; + private volatile java.lang.Object mode_; + /** + * + * + *
+       * Specifies the deinterlacing mode to adopt.
+       * The default is `send_frame`.
+       * Supported values:
+       * - `send_frame`: Output one frame for each frame
+       * - `send_field`: Output one frame for each field
+       * 
+ * + * string mode = 1; + * + * @return The mode. + */ + @java.lang.Override + public java.lang.String getMode() { + java.lang.Object ref = mode_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + mode_ = s; + return s; + } + } + /** + * + * + *
+       * Specifies the deinterlacing mode to adopt.
+       * The default is `send_frame`.
+       * Supported values:
+       * - `send_frame`: Output one frame for each frame
+       * - `send_field`: Output one frame for each field
+       * 
+ * + * string mode = 1; + * + * @return The bytes for mode. + */ + @java.lang.Override + public com.google.protobuf.ByteString getModeBytes() { + java.lang.Object ref = mode_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + mode_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DISABLE_SPATIAL_INTERLACING_FIELD_NUMBER = 2; + private boolean disableSpatialInterlacing_; + /** + * + * + *
+       * Disable spacial interlacing.
+       * The default is `false`.
+       * 
+ * + * bool disable_spatial_interlacing = 2; + * + * @return The disableSpatialInterlacing. + */ + @java.lang.Override + public boolean getDisableSpatialInterlacing() { + return disableSpatialInterlacing_; + } + + public static final int PARITY_FIELD_NUMBER = 3; + private volatile java.lang.Object parity_; + /** + * + * + *
+       * The picture field parity assumed for the input interlaced video.
+       * The default is `auto`.
+       * Supported values:
+       * - `tff`: Assume the top field is first
+       * - `bff`: Assume the bottom field is first
+       * - `auto`: Enable automatic detection of field parity
+       * 
+ * + * string parity = 3; + * + * @return The parity. + */ + @java.lang.Override + public java.lang.String getParity() { + java.lang.Object ref = parity_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parity_ = s; + return s; + } + } + /** + * + * + *
+       * The picture field parity assumed for the input interlaced video.
+       * The default is `auto`.
+       * Supported values:
+       * - `tff`: Assume the top field is first
+       * - `bff`: Assume the bottom field is first
+       * - `auto`: Enable automatic detection of field parity
+       * 
+ * + * string parity = 3; + * + * @return The bytes for parity. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParityBytes() { + java.lang.Object ref = parity_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parity_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DEINTERLACE_ALL_FRAMES_FIELD_NUMBER = 4; + private boolean deinterlaceAllFrames_; + /** + * + * + *
+       * Deinterlace all frames rather than just the frames identified as
+       * interlaced. The default is `false`.
+       * 
+ * + * bool deinterlace_all_frames = 4; + * + * @return The deinterlaceAllFrames. + */ + @java.lang.Override + public boolean getDeinterlaceAllFrames() { + return deinterlaceAllFrames_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(mode_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, mode_); + } + if (disableSpatialInterlacing_ != false) { + output.writeBool(2, disableSpatialInterlacing_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parity_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, parity_); + } + if (deinterlaceAllFrames_ != false) { + output.writeBool(4, deinterlaceAllFrames_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(mode_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, mode_); + } + if (disableSpatialInterlacing_ != false) { + size += + com.google.protobuf.CodedOutputStream.computeBoolSize(2, disableSpatialInterlacing_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parity_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, parity_); + } + if (deinterlaceAllFrames_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(4, deinterlaceAllFrames_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig)) { + return super.equals(obj); + } + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig other = + (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig) obj; + + if (!getMode().equals(other.getMode())) return false; + if (getDisableSpatialInterlacing() != other.getDisableSpatialInterlacing()) return false; + if (!getParity().equals(other.getParity())) return false; + if (getDeinterlaceAllFrames() != other.getDeinterlaceAllFrames()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + MODE_FIELD_NUMBER; + hash = (53 * hash) + getMode().hashCode(); + hash = (37 * hash) + DISABLE_SPATIAL_INTERLACING_FIELD_NUMBER; + hash = + (53 * hash) + com.google.protobuf.Internal.hashBoolean(getDisableSpatialInterlacing()); + hash = (37 * hash) + PARITY_FIELD_NUMBER; + hash = (53 * hash) + getParity().hashCode(); + hash = (37 * hash) + DEINTERLACE_ALL_FRAMES_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getDeinterlaceAllFrames()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+       * Yet Another Deinterlacing Filter Configuration.
+       * 
+ * + * Protobuf type {@code + * google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig) + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .YadifConfigOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.video.transcoder.v1.ResourcesProto + .internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_YadifConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.video.transcoder.v1.ResourcesProto + .internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_YadifConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .class, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .Builder.class); + } + + // Construct using + // com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + mode_ = ""; + + disableSpatialInterlacing_ = false; + + parity_ = ""; + + deinterlaceAllFrames_ = false; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.video.transcoder.v1.ResourcesProto + .internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_YadifConfig_descriptor; + } + + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + getDefaultInstanceForType() { + return com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + build() { + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + buildPartial() { + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig result = + new com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig( + this); + result.mode_ = mode_; + result.disableSpatialInterlacing_ = disableSpatialInterlacing_; + result.parity_ = parity_; + result.deinterlaceAllFrames_ = deinterlaceAllFrames_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, + java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig) { + return mergeFrom( + (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + other) { + if (other + == com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .getDefaultInstance()) return this; + if (!other.getMode().isEmpty()) { + mode_ = other.mode_; + onChanged(); + } + if (other.getDisableSpatialInterlacing() != false) { + setDisableSpatialInterlacing(other.getDisableSpatialInterlacing()); + } + if (!other.getParity().isEmpty()) { + parity_ = other.parity_; + onChanged(); + } + if (other.getDeinterlaceAllFrames() != false) { + setDeinterlaceAllFrames(other.getDeinterlaceAllFrames()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + mode_ = input.readStringRequireUtf8(); + + break; + } // case 10 + case 16: + { + disableSpatialInterlacing_ = input.readBool(); + + break; + } // case 16 + case 26: + { + parity_ = input.readStringRequireUtf8(); + + break; + } // case 26 + case 32: + { + deinterlaceAllFrames_ = input.readBool(); + + break; + } // case 32 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private java.lang.Object mode_ = ""; + /** + * + * + *
+         * Specifies the deinterlacing mode to adopt.
+         * The default is `send_frame`.
+         * Supported values:
+         * - `send_frame`: Output one frame for each frame
+         * - `send_field`: Output one frame for each field
+         * 
+ * + * string mode = 1; + * + * @return The mode. + */ + public java.lang.String getMode() { + java.lang.Object ref = mode_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + mode_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+         * Specifies the deinterlacing mode to adopt.
+         * The default is `send_frame`.
+         * Supported values:
+         * - `send_frame`: Output one frame for each frame
+         * - `send_field`: Output one frame for each field
+         * 
+ * + * string mode = 1; + * + * @return The bytes for mode. + */ + public com.google.protobuf.ByteString getModeBytes() { + java.lang.Object ref = mode_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + mode_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+         * Specifies the deinterlacing mode to adopt.
+         * The default is `send_frame`.
+         * Supported values:
+         * - `send_frame`: Output one frame for each frame
+         * - `send_field`: Output one frame for each field
+         * 
+ * + * string mode = 1; + * + * @param value The mode to set. + * @return This builder for chaining. + */ + public Builder setMode(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + mode_ = value; + onChanged(); + return this; + } + /** + * + * + *
+         * Specifies the deinterlacing mode to adopt.
+         * The default is `send_frame`.
+         * Supported values:
+         * - `send_frame`: Output one frame for each frame
+         * - `send_field`: Output one frame for each field
+         * 
+ * + * string mode = 1; + * + * @return This builder for chaining. + */ + public Builder clearMode() { + + mode_ = getDefaultInstance().getMode(); + onChanged(); + return this; + } + /** + * + * + *
+         * Specifies the deinterlacing mode to adopt.
+         * The default is `send_frame`.
+         * Supported values:
+         * - `send_frame`: Output one frame for each frame
+         * - `send_field`: Output one frame for each field
+         * 
+ * + * string mode = 1; + * + * @param value The bytes for mode to set. + * @return This builder for chaining. + */ + public Builder setModeBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + mode_ = value; + onChanged(); + return this; + } + + private boolean disableSpatialInterlacing_; + /** + * + * + *
+         * Disable spacial interlacing.
+         * The default is `false`.
+         * 
+ * + * bool disable_spatial_interlacing = 2; + * + * @return The disableSpatialInterlacing. + */ + @java.lang.Override + public boolean getDisableSpatialInterlacing() { + return disableSpatialInterlacing_; + } + /** + * + * + *
+         * Disable spacial interlacing.
+         * The default is `false`.
+         * 
+ * + * bool disable_spatial_interlacing = 2; + * + * @param value The disableSpatialInterlacing to set. + * @return This builder for chaining. + */ + public Builder setDisableSpatialInterlacing(boolean value) { + + disableSpatialInterlacing_ = value; + onChanged(); + return this; + } + /** + * + * + *
+         * Disable spacial interlacing.
+         * The default is `false`.
+         * 
+ * + * bool disable_spatial_interlacing = 2; + * + * @return This builder for chaining. + */ + public Builder clearDisableSpatialInterlacing() { + + disableSpatialInterlacing_ = false; + onChanged(); + return this; + } + + private java.lang.Object parity_ = ""; + /** + * + * + *
+         * The picture field parity assumed for the input interlaced video.
+         * The default is `auto`.
+         * Supported values:
+         * - `tff`: Assume the top field is first
+         * - `bff`: Assume the bottom field is first
+         * - `auto`: Enable automatic detection of field parity
+         * 
+ * + * string parity = 3; + * + * @return The parity. + */ + public java.lang.String getParity() { + java.lang.Object ref = parity_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parity_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+         * The picture field parity assumed for the input interlaced video.
+         * The default is `auto`.
+         * Supported values:
+         * - `tff`: Assume the top field is first
+         * - `bff`: Assume the bottom field is first
+         * - `auto`: Enable automatic detection of field parity
+         * 
+ * + * string parity = 3; + * + * @return The bytes for parity. + */ + public com.google.protobuf.ByteString getParityBytes() { + java.lang.Object ref = parity_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parity_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+         * The picture field parity assumed for the input interlaced video.
+         * The default is `auto`.
+         * Supported values:
+         * - `tff`: Assume the top field is first
+         * - `bff`: Assume the bottom field is first
+         * - `auto`: Enable automatic detection of field parity
+         * 
+ * + * string parity = 3; + * + * @param value The parity to set. + * @return This builder for chaining. + */ + public Builder setParity(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + parity_ = value; + onChanged(); + return this; + } + /** + * + * + *
+         * The picture field parity assumed for the input interlaced video.
+         * The default is `auto`.
+         * Supported values:
+         * - `tff`: Assume the top field is first
+         * - `bff`: Assume the bottom field is first
+         * - `auto`: Enable automatic detection of field parity
+         * 
+ * + * string parity = 3; + * + * @return This builder for chaining. + */ + public Builder clearParity() { + + parity_ = getDefaultInstance().getParity(); + onChanged(); + return this; + } + /** + * + * + *
+         * The picture field parity assumed for the input interlaced video.
+         * The default is `auto`.
+         * Supported values:
+         * - `tff`: Assume the top field is first
+         * - `bff`: Assume the bottom field is first
+         * - `auto`: Enable automatic detection of field parity
+         * 
+ * + * string parity = 3; + * + * @param value The bytes for parity to set. + * @return This builder for chaining. + */ + public Builder setParityBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + parity_ = value; + onChanged(); + return this; + } + + private boolean deinterlaceAllFrames_; + /** + * + * + *
+         * Deinterlace all frames rather than just the frames identified as
+         * interlaced. The default is `false`.
+         * 
+ * + * bool deinterlace_all_frames = 4; + * + * @return The deinterlaceAllFrames. + */ + @java.lang.Override + public boolean getDeinterlaceAllFrames() { + return deinterlaceAllFrames_; + } + /** + * + * + *
+         * Deinterlace all frames rather than just the frames identified as
+         * interlaced. The default is `false`.
+         * 
+ * + * bool deinterlace_all_frames = 4; + * + * @param value The deinterlaceAllFrames to set. + * @return This builder for chaining. + */ + public Builder setDeinterlaceAllFrames(boolean value) { + + deinterlaceAllFrames_ = value; + onChanged(); + return this; + } + /** + * + * + *
+         * Deinterlace all frames rather than just the frames identified as
+         * interlaced. The default is `false`.
+         * 
+ * + * bool deinterlace_all_frames = 4; + * + * @return This builder for chaining. + */ + public Builder clearDeinterlaceAllFrames() { + + deinterlaceAllFrames_ = false; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig) + } + + // @@protoc_insertion_point(class_scope:google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig) + private static final com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .YadifConfig + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig(); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public YadifConfig parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface BwdifConfigOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Specifies the deinterlacing mode to adopt.
+       * The default is `send_frame`.
+       * Supported values:
+       * - `send_frame`: Output one frame for each frame
+       * - `send_field`: Output one frame for each field
+       * 
+ * + * string mode = 1; + * + * @return The mode. + */ + java.lang.String getMode(); + /** + * + * + *
+       * Specifies the deinterlacing mode to adopt.
+       * The default is `send_frame`.
+       * Supported values:
+       * - `send_frame`: Output one frame for each frame
+       * - `send_field`: Output one frame for each field
+       * 
+ * + * string mode = 1; + * + * @return The bytes for mode. + */ + com.google.protobuf.ByteString getModeBytes(); + + /** + * + * + *
+       * The picture field parity assumed for the input interlaced video.
+       * The default is `auto`.
+       * Supported values:
+       * - `tff`: Assume the top field is first
+       * - `bff`: Assume the bottom field is first
+       * - `auto`: Enable automatic detection of field parity
+       * 
+ * + * string parity = 2; + * + * @return The parity. + */ + java.lang.String getParity(); + /** + * + * + *
+       * The picture field parity assumed for the input interlaced video.
+       * The default is `auto`.
+       * Supported values:
+       * - `tff`: Assume the top field is first
+       * - `bff`: Assume the bottom field is first
+       * - `auto`: Enable automatic detection of field parity
+       * 
+ * + * string parity = 2; + * + * @return The bytes for parity. + */ + com.google.protobuf.ByteString getParityBytes(); + + /** + * + * + *
+       * Deinterlace all frames rather than just the frames identified as
+       * interlaced. The default is `false`.
+       * 
+ * + * bool deinterlace_all_frames = 3; + * + * @return The deinterlaceAllFrames. + */ + boolean getDeinterlaceAllFrames(); + } + /** + * + * + *
+     * Bob Weaver Deinterlacing Filter Configuration.
+     * 
+ * + * Protobuf type {@code + * google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig} + */ + public static final class BwdifConfig extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig) + BwdifConfigOrBuilder { + private static final long serialVersionUID = 0L; + // Use BwdifConfig.newBuilder() to construct. + private BwdifConfig(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private BwdifConfig() { + mode_ = ""; + parity_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new BwdifConfig(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.video.transcoder.v1.ResourcesProto + .internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_BwdifConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.video.transcoder.v1.ResourcesProto + .internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_BwdifConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .class, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .Builder.class); + } + + public static final int MODE_FIELD_NUMBER = 1; + private volatile java.lang.Object mode_; + /** + * + * + *
+       * Specifies the deinterlacing mode to adopt.
+       * The default is `send_frame`.
+       * Supported values:
+       * - `send_frame`: Output one frame for each frame
+       * - `send_field`: Output one frame for each field
+       * 
+ * + * string mode = 1; + * + * @return The mode. + */ + @java.lang.Override + public java.lang.String getMode() { + java.lang.Object ref = mode_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + mode_ = s; + return s; + } + } + /** + * + * + *
+       * Specifies the deinterlacing mode to adopt.
+       * The default is `send_frame`.
+       * Supported values:
+       * - `send_frame`: Output one frame for each frame
+       * - `send_field`: Output one frame for each field
+       * 
+ * + * string mode = 1; + * + * @return The bytes for mode. + */ + @java.lang.Override + public com.google.protobuf.ByteString getModeBytes() { + java.lang.Object ref = mode_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + mode_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PARITY_FIELD_NUMBER = 2; + private volatile java.lang.Object parity_; + /** + * + * + *
+       * The picture field parity assumed for the input interlaced video.
+       * The default is `auto`.
+       * Supported values:
+       * - `tff`: Assume the top field is first
+       * - `bff`: Assume the bottom field is first
+       * - `auto`: Enable automatic detection of field parity
+       * 
+ * + * string parity = 2; + * + * @return The parity. + */ + @java.lang.Override + public java.lang.String getParity() { + java.lang.Object ref = parity_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parity_ = s; + return s; + } + } + /** + * + * + *
+       * The picture field parity assumed for the input interlaced video.
+       * The default is `auto`.
+       * Supported values:
+       * - `tff`: Assume the top field is first
+       * - `bff`: Assume the bottom field is first
+       * - `auto`: Enable automatic detection of field parity
+       * 
+ * + * string parity = 2; + * + * @return The bytes for parity. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParityBytes() { + java.lang.Object ref = parity_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parity_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DEINTERLACE_ALL_FRAMES_FIELD_NUMBER = 3; + private boolean deinterlaceAllFrames_; + /** + * + * + *
+       * Deinterlace all frames rather than just the frames identified as
+       * interlaced. The default is `false`.
+       * 
+ * + * bool deinterlace_all_frames = 3; + * + * @return The deinterlaceAllFrames. + */ + @java.lang.Override + public boolean getDeinterlaceAllFrames() { + return deinterlaceAllFrames_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(mode_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, mode_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parity_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, parity_); + } + if (deinterlaceAllFrames_ != false) { + output.writeBool(3, deinterlaceAllFrames_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(mode_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, mode_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parity_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, parity_); + } + if (deinterlaceAllFrames_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(3, deinterlaceAllFrames_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig)) { + return super.equals(obj); + } + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig other = + (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig) obj; + + if (!getMode().equals(other.getMode())) return false; + if (!getParity().equals(other.getParity())) return false; + if (getDeinterlaceAllFrames() != other.getDeinterlaceAllFrames()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + MODE_FIELD_NUMBER; + hash = (53 * hash) + getMode().hashCode(); + hash = (37 * hash) + PARITY_FIELD_NUMBER; + hash = (53 * hash) + getParity().hashCode(); + hash = (37 * hash) + DEINTERLACE_ALL_FRAMES_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getDeinterlaceAllFrames()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+       * Bob Weaver Deinterlacing Filter Configuration.
+       * 
+ * + * Protobuf type {@code + * google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig) + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .BwdifConfigOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.video.transcoder.v1.ResourcesProto + .internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_BwdifConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.video.transcoder.v1.ResourcesProto + .internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_BwdifConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .class, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .Builder.class); + } + + // Construct using + // com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + mode_ = ""; + + parity_ = ""; + + deinterlaceAllFrames_ = false; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.video.transcoder.v1.ResourcesProto + .internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_BwdifConfig_descriptor; + } + + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + getDefaultInstanceForType() { + return com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + build() { + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + buildPartial() { + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig result = + new com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig( + this); + result.mode_ = mode_; + result.parity_ = parity_; + result.deinterlaceAllFrames_ = deinterlaceAllFrames_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, + java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig) { + return mergeFrom( + (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + other) { + if (other + == com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .getDefaultInstance()) return this; + if (!other.getMode().isEmpty()) { + mode_ = other.mode_; + onChanged(); + } + if (!other.getParity().isEmpty()) { + parity_ = other.parity_; + onChanged(); + } + if (other.getDeinterlaceAllFrames() != false) { + setDeinterlaceAllFrames(other.getDeinterlaceAllFrames()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + mode_ = input.readStringRequireUtf8(); + + break; + } // case 10 + case 18: + { + parity_ = input.readStringRequireUtf8(); + + break; + } // case 18 + case 24: + { + deinterlaceAllFrames_ = input.readBool(); + + break; + } // case 24 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private java.lang.Object mode_ = ""; + /** + * + * + *
+         * Specifies the deinterlacing mode to adopt.
+         * The default is `send_frame`.
+         * Supported values:
+         * - `send_frame`: Output one frame for each frame
+         * - `send_field`: Output one frame for each field
+         * 
+ * + * string mode = 1; + * + * @return The mode. + */ + public java.lang.String getMode() { + java.lang.Object ref = mode_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + mode_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+         * Specifies the deinterlacing mode to adopt.
+         * The default is `send_frame`.
+         * Supported values:
+         * - `send_frame`: Output one frame for each frame
+         * - `send_field`: Output one frame for each field
+         * 
+ * + * string mode = 1; + * + * @return The bytes for mode. + */ + public com.google.protobuf.ByteString getModeBytes() { + java.lang.Object ref = mode_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + mode_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+         * Specifies the deinterlacing mode to adopt.
+         * The default is `send_frame`.
+         * Supported values:
+         * - `send_frame`: Output one frame for each frame
+         * - `send_field`: Output one frame for each field
+         * 
+ * + * string mode = 1; + * + * @param value The mode to set. + * @return This builder for chaining. + */ + public Builder setMode(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + mode_ = value; + onChanged(); + return this; + } + /** + * + * + *
+         * Specifies the deinterlacing mode to adopt.
+         * The default is `send_frame`.
+         * Supported values:
+         * - `send_frame`: Output one frame for each frame
+         * - `send_field`: Output one frame for each field
+         * 
+ * + * string mode = 1; + * + * @return This builder for chaining. + */ + public Builder clearMode() { + + mode_ = getDefaultInstance().getMode(); + onChanged(); + return this; + } + /** + * + * + *
+         * Specifies the deinterlacing mode to adopt.
+         * The default is `send_frame`.
+         * Supported values:
+         * - `send_frame`: Output one frame for each frame
+         * - `send_field`: Output one frame for each field
+         * 
+ * + * string mode = 1; + * + * @param value The bytes for mode to set. + * @return This builder for chaining. + */ + public Builder setModeBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + mode_ = value; + onChanged(); + return this; + } + + private java.lang.Object parity_ = ""; + /** + * + * + *
+         * The picture field parity assumed for the input interlaced video.
+         * The default is `auto`.
+         * Supported values:
+         * - `tff`: Assume the top field is first
+         * - `bff`: Assume the bottom field is first
+         * - `auto`: Enable automatic detection of field parity
+         * 
+ * + * string parity = 2; + * + * @return The parity. + */ + public java.lang.String getParity() { + java.lang.Object ref = parity_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parity_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+         * The picture field parity assumed for the input interlaced video.
+         * The default is `auto`.
+         * Supported values:
+         * - `tff`: Assume the top field is first
+         * - `bff`: Assume the bottom field is first
+         * - `auto`: Enable automatic detection of field parity
+         * 
+ * + * string parity = 2; + * + * @return The bytes for parity. + */ + public com.google.protobuf.ByteString getParityBytes() { + java.lang.Object ref = parity_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parity_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+         * The picture field parity assumed for the input interlaced video.
+         * The default is `auto`.
+         * Supported values:
+         * - `tff`: Assume the top field is first
+         * - `bff`: Assume the bottom field is first
+         * - `auto`: Enable automatic detection of field parity
+         * 
+ * + * string parity = 2; + * + * @param value The parity to set. + * @return This builder for chaining. + */ + public Builder setParity(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + parity_ = value; + onChanged(); + return this; + } + /** + * + * + *
+         * The picture field parity assumed for the input interlaced video.
+         * The default is `auto`.
+         * Supported values:
+         * - `tff`: Assume the top field is first
+         * - `bff`: Assume the bottom field is first
+         * - `auto`: Enable automatic detection of field parity
+         * 
+ * + * string parity = 2; + * + * @return This builder for chaining. + */ + public Builder clearParity() { + + parity_ = getDefaultInstance().getParity(); + onChanged(); + return this; + } + /** + * + * + *
+         * The picture field parity assumed for the input interlaced video.
+         * The default is `auto`.
+         * Supported values:
+         * - `tff`: Assume the top field is first
+         * - `bff`: Assume the bottom field is first
+         * - `auto`: Enable automatic detection of field parity
+         * 
+ * + * string parity = 2; + * + * @param value The bytes for parity to set. + * @return This builder for chaining. + */ + public Builder setParityBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + parity_ = value; + onChanged(); + return this; + } + + private boolean deinterlaceAllFrames_; + /** + * + * + *
+         * Deinterlace all frames rather than just the frames identified as
+         * interlaced. The default is `false`.
+         * 
+ * + * bool deinterlace_all_frames = 3; + * + * @return The deinterlaceAllFrames. + */ + @java.lang.Override + public boolean getDeinterlaceAllFrames() { + return deinterlaceAllFrames_; + } + /** + * + * + *
+         * Deinterlace all frames rather than just the frames identified as
+         * interlaced. The default is `false`.
+         * 
+ * + * bool deinterlace_all_frames = 3; + * + * @param value The deinterlaceAllFrames to set. + * @return This builder for chaining. + */ + public Builder setDeinterlaceAllFrames(boolean value) { + + deinterlaceAllFrames_ = value; + onChanged(); + return this; + } + /** + * + * + *
+         * Deinterlace all frames rather than just the frames identified as
+         * interlaced. The default is `false`.
+         * 
+ * + * bool deinterlace_all_frames = 3; + * + * @return This builder for chaining. + */ + public Builder clearDeinterlaceAllFrames() { + + deinterlaceAllFrames_ = false; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig) + } + + // @@protoc_insertion_point(class_scope:google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig) + private static final com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .BwdifConfig + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig(); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public BwdifConfig parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int deinterlacingFilterCase_ = 0; + private java.lang.Object deinterlacingFilter_; + + public enum DeinterlacingFilterCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + YADIF(1), + BWDIF(2), + DEINTERLACINGFILTER_NOT_SET(0); + private final int value; + + private DeinterlacingFilterCase(int value) { + this.value = value; + } + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static DeinterlacingFilterCase valueOf(int value) { + return forNumber(value); + } + + public static DeinterlacingFilterCase forNumber(int value) { + switch (value) { + case 1: + return YADIF; + case 2: + return BWDIF; + case 0: + return DEINTERLACINGFILTER_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public DeinterlacingFilterCase getDeinterlacingFilterCase() { + return DeinterlacingFilterCase.forNumber(deinterlacingFilterCase_); + } + + public static final int YADIF_FIELD_NUMBER = 1; + /** + * + * + *
+     * Specifies the Yet Another Deinterlacing Filter Configuration.
+     * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig yadif = 1; + * + * + * @return Whether the yadif field is set. + */ + @java.lang.Override + public boolean hasYadif() { + return deinterlacingFilterCase_ == 1; + } + /** + * + * + *
+     * Specifies the Yet Another Deinterlacing Filter Configuration.
+     * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig yadif = 1; + * + * + * @return The yadif. + */ + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + getYadif() { + if (deinterlacingFilterCase_ == 1) { + return (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig) + deinterlacingFilter_; + } + return com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .getDefaultInstance(); + } + /** + * + * + *
+     * Specifies the Yet Another Deinterlacing Filter Configuration.
+     * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig yadif = 1; + * + */ + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfigOrBuilder + getYadifOrBuilder() { + if (deinterlacingFilterCase_ == 1) { + return (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig) + deinterlacingFilter_; + } + return com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .getDefaultInstance(); + } + + public static final int BWDIF_FIELD_NUMBER = 2; + /** + * + * + *
+     * Specifies the Bob Weaver Deinterlacing Filter Configuration.
+     * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig bwdif = 2; + * + * + * @return Whether the bwdif field is set. + */ + @java.lang.Override + public boolean hasBwdif() { + return deinterlacingFilterCase_ == 2; + } + /** + * + * + *
+     * Specifies the Bob Weaver Deinterlacing Filter Configuration.
+     * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig bwdif = 2; + * + * + * @return The bwdif. + */ + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + getBwdif() { + if (deinterlacingFilterCase_ == 2) { + return (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig) + deinterlacingFilter_; + } + return com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .getDefaultInstance(); + } + /** + * + * + *
+     * Specifies the Bob Weaver Deinterlacing Filter Configuration.
+     * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig bwdif = 2; + * + */ + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfigOrBuilder + getBwdifOrBuilder() { + if (deinterlacingFilterCase_ == 2) { + return (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig) + deinterlacingFilter_; + } + return com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .getDefaultInstance(); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (deinterlacingFilterCase_ == 1) { + output.writeMessage( + 1, + (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig) + deinterlacingFilter_); + } + if (deinterlacingFilterCase_ == 2) { + output.writeMessage( + 2, + (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig) + deinterlacingFilter_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (deinterlacingFilterCase_ == 1) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 1, + (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig) + deinterlacingFilter_); + } + if (deinterlacingFilterCase_ == 2) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 2, + (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig) + deinterlacingFilter_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace)) { + return super.equals(obj); + } + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace other = + (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace) obj; + + if (!getDeinterlacingFilterCase().equals(other.getDeinterlacingFilterCase())) return false; + switch (deinterlacingFilterCase_) { + case 1: + if (!getYadif().equals(other.getYadif())) return false; + break; + case 2: + if (!getBwdif().equals(other.getBwdif())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + switch (deinterlacingFilterCase_) { + case 1: + hash = (37 * hash) + YADIF_FIELD_NUMBER; + hash = (53 * hash) + getYadif().hashCode(); + break; + case 2: + hash = (37 * hash) + BWDIF_FIELD_NUMBER; + hash = (53 * hash) + getBwdif().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+     * Deinterlace configuration for input video.
+     * 
+ * + * Protobuf type {@code google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace) + com.google.cloud.video.transcoder.v1.PreprocessingConfig.DeinterlaceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.video.transcoder.v1.ResourcesProto + .internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.video.transcoder.v1.ResourcesProto + .internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.class, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.Builder.class); + } + + // Construct using + // com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + if (yadifBuilder_ != null) { + yadifBuilder_.clear(); + } + if (bwdifBuilder_ != null) { + bwdifBuilder_.clear(); + } + deinterlacingFilterCase_ = 0; + deinterlacingFilter_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.video.transcoder.v1.ResourcesProto + .internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_descriptor; + } + + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + getDefaultInstanceForType() { + return com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace build() { + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace buildPartial() { + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace result = + new com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace(this); + if (deinterlacingFilterCase_ == 1) { + if (yadifBuilder_ == null) { + result.deinterlacingFilter_ = deinterlacingFilter_; + } else { + result.deinterlacingFilter_ = yadifBuilder_.build(); + } + } + if (deinterlacingFilterCase_ == 2) { + if (bwdifBuilder_ == null) { + result.deinterlacingFilter_ = deinterlacingFilter_; + } else { + result.deinterlacingFilter_ = bwdifBuilder_.build(); + } + } + result.deinterlacingFilterCase_ = deinterlacingFilterCase_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, + java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace) { + return mergeFrom( + (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace other) { + if (other + == com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .getDefaultInstance()) return this; + switch (other.getDeinterlacingFilterCase()) { + case YADIF: + { + mergeYadif(other.getYadif()); + break; + } + case BWDIF: + { + mergeBwdif(other.getBwdif()); + break; + } + case DEINTERLACINGFILTER_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage(getYadifFieldBuilder().getBuilder(), extensionRegistry); + deinterlacingFilterCase_ = 1; + break; + } // case 10 + case 18: + { + input.readMessage(getBwdifFieldBuilder().getBuilder(), extensionRegistry); + deinterlacingFilterCase_ = 2; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int deinterlacingFilterCase_ = 0; + private java.lang.Object deinterlacingFilter_; + + public DeinterlacingFilterCase getDeinterlacingFilterCase() { + return DeinterlacingFilterCase.forNumber(deinterlacingFilterCase_); + } + + public Builder clearDeinterlacingFilter() { + deinterlacingFilterCase_ = 0; + deinterlacingFilter_ = null; + onChanged(); + return this; + } + + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .Builder, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .YadifConfigOrBuilder> + yadifBuilder_; + /** + * + * + *
+       * Specifies the Yet Another Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig yadif = 1; + * + * + * @return Whether the yadif field is set. + */ + @java.lang.Override + public boolean hasYadif() { + return deinterlacingFilterCase_ == 1; + } + /** + * + * + *
+       * Specifies the Yet Another Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig yadif = 1; + * + * + * @return The yadif. + */ + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + getYadif() { + if (yadifBuilder_ == null) { + if (deinterlacingFilterCase_ == 1) { + return (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .YadifConfig) + deinterlacingFilter_; + } + return com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .getDefaultInstance(); + } else { + if (deinterlacingFilterCase_ == 1) { + return yadifBuilder_.getMessage(); + } + return com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .getDefaultInstance(); + } + } + /** + * + * + *
+       * Specifies the Yet Another Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig yadif = 1; + * + */ + public Builder setYadif( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig value) { + if (yadifBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + deinterlacingFilter_ = value; + onChanged(); + } else { + yadifBuilder_.setMessage(value); + } + deinterlacingFilterCase_ = 1; + return this; + } + /** + * + * + *
+       * Specifies the Yet Another Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig yadif = 1; + * + */ + public Builder setYadif( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig.Builder + builderForValue) { + if (yadifBuilder_ == null) { + deinterlacingFilter_ = builderForValue.build(); + onChanged(); + } else { + yadifBuilder_.setMessage(builderForValue.build()); + } + deinterlacingFilterCase_ = 1; + return this; + } + /** + * + * + *
+       * Specifies the Yet Another Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig yadif = 1; + * + */ + public Builder mergeYadif( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig value) { + if (yadifBuilder_ == null) { + if (deinterlacingFilterCase_ == 1 + && deinterlacingFilter_ + != com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .YadifConfig.getDefaultInstance()) { + deinterlacingFilter_ = + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .newBuilder( + (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .YadifConfig) + deinterlacingFilter_) + .mergeFrom(value) + .buildPartial(); + } else { + deinterlacingFilter_ = value; + } + onChanged(); + } else { + if (deinterlacingFilterCase_ == 1) { + yadifBuilder_.mergeFrom(value); + } else { + yadifBuilder_.setMessage(value); + } + } + deinterlacingFilterCase_ = 1; + return this; + } + /** + * + * + *
+       * Specifies the Yet Another Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig yadif = 1; + * + */ + public Builder clearYadif() { + if (yadifBuilder_ == null) { + if (deinterlacingFilterCase_ == 1) { + deinterlacingFilterCase_ = 0; + deinterlacingFilter_ = null; + onChanged(); + } + } else { + if (deinterlacingFilterCase_ == 1) { + deinterlacingFilterCase_ = 0; + deinterlacingFilter_ = null; + } + yadifBuilder_.clear(); + } + return this; + } + /** + * + * + *
+       * Specifies the Yet Another Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig yadif = 1; + * + */ + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .Builder + getYadifBuilder() { + return getYadifFieldBuilder().getBuilder(); + } + /** + * + * + *
+       * Specifies the Yet Another Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig yadif = 1; + * + */ + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .YadifConfigOrBuilder + getYadifOrBuilder() { + if ((deinterlacingFilterCase_ == 1) && (yadifBuilder_ != null)) { + return yadifBuilder_.getMessageOrBuilder(); + } else { + if (deinterlacingFilterCase_ == 1) { + return (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .YadifConfig) + deinterlacingFilter_; + } + return com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .getDefaultInstance(); + } + } + /** + * + * + *
+       * Specifies the Yet Another Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig yadif = 1; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .Builder, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .YadifConfigOrBuilder> + getYadifFieldBuilder() { + if (yadifBuilder_ == null) { + if (!(deinterlacingFilterCase_ == 1)) { + deinterlacingFilter_ = + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .getDefaultInstance(); + } + yadifBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig + .Builder, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .YadifConfigOrBuilder>( + (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.YadifConfig) + deinterlacingFilter_, + getParentForChildren(), + isClean()); + deinterlacingFilter_ = null; + } + deinterlacingFilterCase_ = 1; + onChanged(); + ; + return yadifBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .Builder, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .BwdifConfigOrBuilder> + bwdifBuilder_; + /** + * + * + *
+       * Specifies the Bob Weaver Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig bwdif = 2; + * + * + * @return Whether the bwdif field is set. + */ + @java.lang.Override + public boolean hasBwdif() { + return deinterlacingFilterCase_ == 2; + } + /** + * + * + *
+       * Specifies the Bob Weaver Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig bwdif = 2; + * + * + * @return The bwdif. + */ + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + getBwdif() { + if (bwdifBuilder_ == null) { + if (deinterlacingFilterCase_ == 2) { + return (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .BwdifConfig) + deinterlacingFilter_; + } + return com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .getDefaultInstance(); + } else { + if (deinterlacingFilterCase_ == 2) { + return bwdifBuilder_.getMessage(); + } + return com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .getDefaultInstance(); + } + } + /** + * + * + *
+       * Specifies the Bob Weaver Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig bwdif = 2; + * + */ + public Builder setBwdif( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig value) { + if (bwdifBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + deinterlacingFilter_ = value; + onChanged(); + } else { + bwdifBuilder_.setMessage(value); + } + deinterlacingFilterCase_ = 2; + return this; + } + /** + * + * + *
+       * Specifies the Bob Weaver Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig bwdif = 2; + * + */ + public Builder setBwdif( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig.Builder + builderForValue) { + if (bwdifBuilder_ == null) { + deinterlacingFilter_ = builderForValue.build(); + onChanged(); + } else { + bwdifBuilder_.setMessage(builderForValue.build()); + } + deinterlacingFilterCase_ = 2; + return this; + } + /** + * + * + *
+       * Specifies the Bob Weaver Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig bwdif = 2; + * + */ + public Builder mergeBwdif( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig value) { + if (bwdifBuilder_ == null) { + if (deinterlacingFilterCase_ == 2 + && deinterlacingFilter_ + != com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .BwdifConfig.getDefaultInstance()) { + deinterlacingFilter_ = + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .newBuilder( + (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .BwdifConfig) + deinterlacingFilter_) + .mergeFrom(value) + .buildPartial(); + } else { + deinterlacingFilter_ = value; + } + onChanged(); + } else { + if (deinterlacingFilterCase_ == 2) { + bwdifBuilder_.mergeFrom(value); + } else { + bwdifBuilder_.setMessage(value); + } + } + deinterlacingFilterCase_ = 2; + return this; + } + /** + * + * + *
+       * Specifies the Bob Weaver Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig bwdif = 2; + * + */ + public Builder clearBwdif() { + if (bwdifBuilder_ == null) { + if (deinterlacingFilterCase_ == 2) { + deinterlacingFilterCase_ = 0; + deinterlacingFilter_ = null; + onChanged(); + } + } else { + if (deinterlacingFilterCase_ == 2) { + deinterlacingFilterCase_ = 0; + deinterlacingFilter_ = null; + } + bwdifBuilder_.clear(); + } + return this; + } + /** + * + * + *
+       * Specifies the Bob Weaver Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig bwdif = 2; + * + */ + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .Builder + getBwdifBuilder() { + return getBwdifFieldBuilder().getBuilder(); + } + /** + * + * + *
+       * Specifies the Bob Weaver Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig bwdif = 2; + * + */ + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .BwdifConfigOrBuilder + getBwdifOrBuilder() { + if ((deinterlacingFilterCase_ == 2) && (bwdifBuilder_ != null)) { + return bwdifBuilder_.getMessageOrBuilder(); + } else { + if (deinterlacingFilterCase_ == 2) { + return (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .BwdifConfig) + deinterlacingFilter_; + } + return com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .getDefaultInstance(); + } + } + /** + * + * + *
+       * Specifies the Bob Weaver Deinterlacing Filter Configuration.
+       * 
+ * + * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig bwdif = 2; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .Builder, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .BwdifConfigOrBuilder> + getBwdifFieldBuilder() { + if (bwdifBuilder_ == null) { + if (!(deinterlacingFilterCase_ == 2)) { + deinterlacingFilter_ = + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .getDefaultInstance(); + } + bwdifBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig + .Builder, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .BwdifConfigOrBuilder>( + (com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.BwdifConfig) + deinterlacingFilter_, + getParentForChildren(), + isClean()); + deinterlacingFilter_ = null; + } + deinterlacingFilterCase_ = 2; + onChanged(); + ; + return bwdifBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace) + } + + // @@protoc_insertion_point(class_scope:google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace) + private static final com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace(); + } + + public static com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Deinterlace parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + public static final int COLOR_FIELD_NUMBER = 1; private com.google.cloud.video.transcoder.v1.PreprocessingConfig.Color color_; /** @@ -5106,6 +8672,55 @@ public com.google.cloud.video.transcoder.v1.PreprocessingConfig.PadOrBuilder get return getPad(); } + public static final int DEINTERLACE_FIELD_NUMBER = 7; + private com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace_; + /** + * + * + *
+   * Specify the video deinterlace configuration.
+   * 
+ * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace = 7; + * + * @return Whether the deinterlace field is set. + */ + @java.lang.Override + public boolean hasDeinterlace() { + return deinterlace_ != null; + } + /** + * + * + *
+   * Specify the video deinterlace configuration.
+   * 
+ * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace = 7; + * + * @return The deinterlace. + */ + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace getDeinterlace() { + return deinterlace_ == null + ? com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.getDefaultInstance() + : deinterlace_; + } + /** + * + * + *
+   * Specify the video deinterlace configuration.
+   * 
+ * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace = 7; + */ + @java.lang.Override + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.DeinterlaceOrBuilder + getDeinterlaceOrBuilder() { + return getDeinterlace(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -5138,6 +8753,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (pad_ != null) { output.writeMessage(6, getPad()); } + if (deinterlace_ != null) { + output.writeMessage(7, getDeinterlace()); + } getUnknownFields().writeTo(output); } @@ -5165,6 +8783,9 @@ public int getSerializedSize() { if (pad_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getPad()); } + if (deinterlace_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getDeinterlace()); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -5205,6 +8826,10 @@ public boolean equals(final java.lang.Object obj) { if (hasPad()) { if (!getPad().equals(other.getPad())) return false; } + if (hasDeinterlace() != other.hasDeinterlace()) return false; + if (hasDeinterlace()) { + if (!getDeinterlace().equals(other.getDeinterlace())) return false; + } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -5240,6 +8865,10 @@ public int hashCode() { hash = (37 * hash) + PAD_FIELD_NUMBER; hash = (53 * hash) + getPad().hashCode(); } + if (hasDeinterlace()) { + hash = (37 * hash) + DEINTERLACE_FIELD_NUMBER; + hash = (53 * hash) + getDeinterlace().hashCode(); + } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -5415,6 +9044,12 @@ public Builder clear() { pad_ = null; padBuilder_ = null; } + if (deinterlaceBuilder_ == null) { + deinterlace_ = null; + } else { + deinterlace_ = null; + deinterlaceBuilder_ = null; + } return this; } @@ -5472,6 +9107,11 @@ public com.google.cloud.video.transcoder.v1.PreprocessingConfig buildPartial() { } else { result.pad_ = padBuilder_.build(); } + if (deinterlaceBuilder_ == null) { + result.deinterlace_ = deinterlace_; + } else { + result.deinterlace_ = deinterlaceBuilder_.build(); + } onBuilt(); return result; } @@ -5540,6 +9180,9 @@ public Builder mergeFrom(com.google.cloud.video.transcoder.v1.PreprocessingConfi if (other.hasPad()) { mergePad(other.getPad()); } + if (other.hasDeinterlace()) { + mergeDeinterlace(other.getDeinterlace()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -5602,6 +9245,12 @@ public Builder mergeFrom( break; } // case 50 + case 58: + { + input.readMessage(getDeinterlaceFieldBuilder().getBuilder(), extensionRegistry); + + break; + } // case 58 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -6750,6 +10399,209 @@ public com.google.cloud.video.transcoder.v1.PreprocessingConfig.PadOrBuilder get return padBuilder_; } + private com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.Builder, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.DeinterlaceOrBuilder> + deinterlaceBuilder_; + /** + * + * + *
+     * Specify the video deinterlace configuration.
+     * 
+ * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace = 7; + * + * + * @return Whether the deinterlace field is set. + */ + public boolean hasDeinterlace() { + return deinterlaceBuilder_ != null || deinterlace_ != null; + } + /** + * + * + *
+     * Specify the video deinterlace configuration.
+     * 
+ * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace = 7; + * + * + * @return The deinterlace. + */ + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace getDeinterlace() { + if (deinterlaceBuilder_ == null) { + return deinterlace_ == null + ? com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .getDefaultInstance() + : deinterlace_; + } else { + return deinterlaceBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Specify the video deinterlace configuration.
+     * 
+ * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace = 7; + * + */ + public Builder setDeinterlace( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace value) { + if (deinterlaceBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + deinterlace_ = value; + onChanged(); + } else { + deinterlaceBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Specify the video deinterlace configuration.
+     * 
+ * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace = 7; + * + */ + public Builder setDeinterlace( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.Builder + builderForValue) { + if (deinterlaceBuilder_ == null) { + deinterlace_ = builderForValue.build(); + onChanged(); + } else { + deinterlaceBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Specify the video deinterlace configuration.
+     * 
+ * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace = 7; + * + */ + public Builder mergeDeinterlace( + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace value) { + if (deinterlaceBuilder_ == null) { + if (deinterlace_ != null) { + deinterlace_ = + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.newBuilder( + deinterlace_) + .mergeFrom(value) + .buildPartial(); + } else { + deinterlace_ = value; + } + onChanged(); + } else { + deinterlaceBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Specify the video deinterlace configuration.
+     * 
+ * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace = 7; + * + */ + public Builder clearDeinterlace() { + if (deinterlaceBuilder_ == null) { + deinterlace_ = null; + onChanged(); + } else { + deinterlace_ = null; + deinterlaceBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Specify the video deinterlace configuration.
+     * 
+ * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace = 7; + * + */ + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.Builder + getDeinterlaceBuilder() { + + onChanged(); + return getDeinterlaceFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Specify the video deinterlace configuration.
+     * 
+ * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace = 7; + * + */ + public com.google.cloud.video.transcoder.v1.PreprocessingConfig.DeinterlaceOrBuilder + getDeinterlaceOrBuilder() { + if (deinterlaceBuilder_ != null) { + return deinterlaceBuilder_.getMessageOrBuilder(); + } else { + return deinterlace_ == null + ? com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace + .getDefaultInstance() + : deinterlace_; + } + } + /** + * + * + *
+     * Specify the video deinterlace configuration.
+     * 
+ * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace = 7; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.Builder, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.DeinterlaceOrBuilder> + getDeinterlaceFieldBuilder() { + if (deinterlaceBuilder_ == null) { + deinterlaceBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace.Builder, + com.google.cloud.video.transcoder.v1.PreprocessingConfig.DeinterlaceOrBuilder>( + getDeinterlace(), getParentForChildren(), isClean()); + deinterlace_ = null; + } + return deinterlaceBuilder_; + } + @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); diff --git a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/PreprocessingConfigOrBuilder.java b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/PreprocessingConfigOrBuilder.java index 893bb9910918..820bd4b246dd 100644 --- a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/PreprocessingConfigOrBuilder.java +++ b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/PreprocessingConfigOrBuilder.java @@ -232,4 +232,40 @@ public interface PreprocessingConfigOrBuilder * .google.cloud.video.transcoder.v1.PreprocessingConfig.Pad pad = 6; */ com.google.cloud.video.transcoder.v1.PreprocessingConfig.PadOrBuilder getPadOrBuilder(); + + /** + * + * + *
+   * Specify the video deinterlace configuration.
+   * 
+ * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace = 7; + * + * @return Whether the deinterlace field is set. + */ + boolean hasDeinterlace(); + /** + * + * + *
+   * Specify the video deinterlace configuration.
+   * 
+ * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace = 7; + * + * @return The deinterlace. + */ + com.google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace getDeinterlace(); + /** + * + * + *
+   * Specify the video deinterlace configuration.
+   * 
+ * + * .google.cloud.video.transcoder.v1.PreprocessingConfig.Deinterlace deinterlace = 7; + */ + com.google.cloud.video.transcoder.v1.PreprocessingConfig.DeinterlaceOrBuilder + getDeinterlaceOrBuilder(); } diff --git a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/ResourcesProto.java b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/ResourcesProto.java index aaea233fdd8a..9ed3ac299103 100644 --- a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/ResourcesProto.java +++ b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/ResourcesProto.java @@ -139,6 +139,18 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Pad_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Pad_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_YadifConfig_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_YadifConfig_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_BwdifConfig_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_BwdifConfig_fieldAccessorTable; static final com.google.protobuf.Descriptors.Descriptor internal_static_google_cloud_video_transcoder_v1_VideoStream_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable @@ -299,7 +311,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "ideo.transcoder.v1.Overlay.AnimationEndH" + "\000B\020\n\016animation_type\"@\n\010FadeType\022\031\n\025FADE_" + "TYPE_UNSPECIFIED\020\000\022\013\n\007FADE_IN\020\001\022\014\n\010FADE_" - + "OUT\020\002\"\364\006\n\023PreprocessingConfig\022J\n\005color\030\001" + + "OUT\020\002\"\363\n\n\023PreprocessingConfig\022J\n\005color\030\001" + " \001(\0132;.google.cloud.video.transcoder.v1." + "PreprocessingConfig.Color\022N\n\007denoise\030\002 \001" + "(\0132=.google.cloud.video.transcoder.v1.Pr" @@ -311,76 +323,89 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "ogle.cloud.video.transcoder.v1.Preproces" + "singConfig.Crop\022F\n\003pad\030\006 \001(\01329.google.cl" + "oud.video.transcoder.v1.PreprocessingCon" - + "fig.Pad\032A\n\005Color\022\022\n\nsaturation\030\001 \001(\001\022\020\n\010" - + "contrast\030\002 \001(\001\022\022\n\nbrightness\030\003 \001(\001\032)\n\007De" - + "noise\022\020\n\010strength\030\001 \001(\001\022\014\n\004tune\030\002 \001(\t\032,\n" - + "\007Deblock\022\020\n\010strength\030\001 \001(\001\022\017\n\007enabled\030\002 " - + "\001(\010\032<\n\005Audio\022\014\n\004lufs\030\001 \001(\001\022\022\n\nhigh_boost" - + "\030\002 \001(\010\022\021\n\tlow_boost\030\003 \001(\010\032\\\n\004Crop\022\022\n\ntop" - + "_pixels\030\001 \001(\005\022\025\n\rbottom_pixels\030\002 \001(\005\022\023\n\013" - + "left_pixels\030\003 \001(\005\022\024\n\014right_pixels\030\004 \001(\005\032" - + "[\n\003Pad\022\022\n\ntop_pixels\030\001 \001(\005\022\025\n\rbottom_pix" - + "els\030\002 \001(\005\022\023\n\013left_pixels\030\003 \001(\005\022\024\n\014right_" - + "pixels\030\004 \001(\005\"\225\014\n\013VideoStream\022O\n\004h264\030\001 \001" - + "(\0132?.google.cloud.video.transcoder.v1.Vi" - + "deoStream.H264CodecSettingsH\000\022O\n\004h265\030\002 " - + "\001(\0132?.google.cloud.video.transcoder.v1.V" - + "ideoStream.H265CodecSettingsH\000\022M\n\003vp9\030\003 " - + "\001(\0132>.google.cloud.video.transcoder.v1.V" - + "ideoStream.Vp9CodecSettingsH\000\032\371\003\n\021H264Co" - + "decSettings\022\024\n\014width_pixels\030\001 \001(\005\022\025\n\rhei" - + "ght_pixels\030\002 \001(\005\022\027\n\nframe_rate\030\003 \001(\001B\003\340A" - + "\002\022\030\n\013bitrate_bps\030\004 \001(\005B\003\340A\002\022\024\n\014pixel_for" - + "mat\030\005 \001(\t\022\031\n\021rate_control_mode\030\006 \001(\t\022\021\n\t" - + "crf_level\030\007 \001(\005\022\026\n\016allow_open_gop\030\010 \001(\010\022" - + "\031\n\017gop_frame_count\030\t \001(\005H\000\0221\n\014gop_durati" - + "on\030\n \001(\0132\031.google.protobuf.DurationH\000\022\027\n" - + "\017enable_two_pass\030\013 \001(\010\022\025\n\rvbv_size_bits\030" - + "\014 \001(\005\022\031\n\021vbv_fullness_bits\030\r \001(\005\022\025\n\rentr" - + "opy_coder\030\016 \001(\t\022\021\n\tb_pyramid\030\017 \001(\010\022\025\n\rb_" - + "frame_count\030\020 \001(\005\022\023\n\013aq_strength\030\021 \001(\001\022\017" - + "\n\007profile\030\022 \001(\t\022\014\n\004tune\030\023 \001(\t\022\016\n\006preset\030" - + "\024 \001(\tB\n\n\010gop_mode\032\342\003\n\021H265CodecSettings\022" - + "\024\n\014width_pixels\030\001 \001(\005\022\025\n\rheight_pixels\030\002" - + " \001(\005\022\027\n\nframe_rate\030\003 \001(\001B\003\340A\002\022\030\n\013bitrate" - + "_bps\030\004 \001(\005B\003\340A\002\022\024\n\014pixel_format\030\005 \001(\t\022\031\n" - + "\021rate_control_mode\030\006 \001(\t\022\021\n\tcrf_level\030\007 " - + "\001(\005\022\026\n\016allow_open_gop\030\010 \001(\010\022\031\n\017gop_frame" - + "_count\030\t \001(\005H\000\0221\n\014gop_duration\030\n \001(\0132\031.g" - + "oogle.protobuf.DurationH\000\022\027\n\017enable_two_" - + "pass\030\013 \001(\010\022\025\n\rvbv_size_bits\030\014 \001(\005\022\031\n\021vbv" - + "_fullness_bits\030\r \001(\005\022\021\n\tb_pyramid\030\016 \001(\010\022" - + "\025\n\rb_frame_count\030\017 \001(\005\022\023\n\013aq_strength\030\020 " - + "\001(\001\022\017\n\007profile\030\021 \001(\t\022\014\n\004tune\030\022 \001(\t\022\016\n\006pr" - + "eset\030\023 \001(\tB\n\n\010gop_mode\032\241\002\n\020Vp9CodecSetti" - + "ngs\022\024\n\014width_pixels\030\001 \001(\005\022\025\n\rheight_pixe" - + "ls\030\002 \001(\005\022\027\n\nframe_rate\030\003 \001(\001B\003\340A\002\022\030\n\013bit" - + "rate_bps\030\004 \001(\005B\003\340A\002\022\024\n\014pixel_format\030\005 \001(" - + "\t\022\031\n\021rate_control_mode\030\006 \001(\t\022\021\n\tcrf_leve" - + "l\030\007 \001(\005\022\031\n\017gop_frame_count\030\010 \001(\005H\000\0221\n\014go" - + "p_duration\030\t \001(\0132\031.google.protobuf.Durat" - + "ionH\000\022\017\n\007profile\030\n \001(\tB\n\n\010gop_modeB\020\n\016co" - + "dec_settings\"\361\002\n\013AudioStream\022\r\n\005codec\030\001 " - + "\001(\t\022\030\n\013bitrate_bps\030\002 \001(\005B\003\340A\002\022\025\n\rchannel" - + "_count\030\003 \001(\005\022\026\n\016channel_layout\030\004 \003(\t\022K\n\007" - + "mapping\030\005 \003(\0132:.google.cloud.video.trans" - + "coder.v1.AudioStream.AudioMapping\022\031\n\021sam" - + "ple_rate_hertz\030\006 \001(\005\032\241\001\n\014AudioMapping\022\025\n" - + "\010atom_key\030\001 \001(\tB\003\340A\002\022\026\n\tinput_key\030\002 \001(\tB" - + "\003\340A\002\022\030\n\013input_track\030\003 \001(\005B\003\340A\002\022\032\n\rinput_" - + "channel\030\004 \001(\005B\003\340A\002\022\033\n\016output_channel\030\005 \001" - + "(\005B\003\340A\002\022\017\n\007gain_db\030\006 \001(\001\"\276\001\n\nTextStream\022" - + "\r\n\005codec\030\001 \001(\t\022I\n\007mapping\030\003 \003(\01328.google" - + ".cloud.video.transcoder.v1.TextStream.Te" - + "xtMapping\032V\n\013TextMapping\022\025\n\010atom_key\030\001 \001" - + "(\tB\003\340A\002\022\026\n\tinput_key\030\002 \001(\tB\003\340A\002\022\030\n\013input" - + "_track\030\003 \001(\005B\003\340A\002\"h\n\017SegmentSettings\0223\n\020" - + "segment_duration\030\001 \001(\0132\031.google.protobuf" - + ".Duration\022 \n\023individual_segments\030\003 \001(\010B\003" - + "\340A\002B\204\001\n$com.google.cloud.video.transcode" - + "r.v1B\016ResourcesProtoP\001ZJgoogle.golang.or" - + "g/genproto/googleapis/cloud/video/transc" - + "oder/v1;transcoderb\006proto3" + + "fig.Pad\022V\n\013deinterlace\030\007 \001(\0132A.google.cl" + + "oud.video.transcoder.v1.PreprocessingCon" + + "fig.Deinterlace\032A\n\005Color\022\022\n\nsaturation\030\001" + + " \001(\001\022\020\n\010contrast\030\002 \001(\001\022\022\n\nbrightness\030\003 \001" + + "(\001\032)\n\007Denoise\022\020\n\010strength\030\001 \001(\001\022\014\n\004tune\030" + + "\002 \001(\t\032,\n\007Deblock\022\020\n\010strength\030\001 \001(\001\022\017\n\007en" + + "abled\030\002 \001(\010\032<\n\005Audio\022\014\n\004lufs\030\001 \001(\001\022\022\n\nhi" + + "gh_boost\030\002 \001(\010\022\021\n\tlow_boost\030\003 \001(\010\032\\\n\004Cro" + + "p\022\022\n\ntop_pixels\030\001 \001(\005\022\025\n\rbottom_pixels\030\002" + + " \001(\005\022\023\n\013left_pixels\030\003 \001(\005\022\024\n\014right_pixel" + + "s\030\004 \001(\005\032[\n\003Pad\022\022\n\ntop_pixels\030\001 \001(\005\022\025\n\rbo" + + "ttom_pixels\030\002 \001(\005\022\023\n\013left_pixels\030\003 \001(\005\022\024" + + "\n\014right_pixels\030\004 \001(\005\032\244\003\n\013Deinterlace\022^\n\005" + + "yadif\030\001 \001(\0132M.google.cloud.video.transco" + + "der.v1.PreprocessingConfig.Deinterlace.Y" + + "adifConfigH\000\022^\n\005bwdif\030\002 \001(\0132M.google.clo" + + "ud.video.transcoder.v1.PreprocessingConf" + + "ig.Deinterlace.BwdifConfigH\000\032p\n\013YadifCon" + + "fig\022\014\n\004mode\030\001 \001(\t\022#\n\033disable_spatial_int" + + "erlacing\030\002 \001(\010\022\016\n\006parity\030\003 \001(\t\022\036\n\026deinte" + + "rlace_all_frames\030\004 \001(\010\032K\n\013BwdifConfig\022\014\n" + + "\004mode\030\001 \001(\t\022\016\n\006parity\030\002 \001(\t\022\036\n\026deinterla" + + "ce_all_frames\030\003 \001(\010B\026\n\024deinterlacing_fil" + + "ter\"\225\014\n\013VideoStream\022O\n\004h264\030\001 \001(\0132?.goog" + + "le.cloud.video.transcoder.v1.VideoStream" + + ".H264CodecSettingsH\000\022O\n\004h265\030\002 \001(\0132?.goo" + + "gle.cloud.video.transcoder.v1.VideoStrea" + + "m.H265CodecSettingsH\000\022M\n\003vp9\030\003 \001(\0132>.goo" + + "gle.cloud.video.transcoder.v1.VideoStrea" + + "m.Vp9CodecSettingsH\000\032\371\003\n\021H264CodecSettin" + + "gs\022\024\n\014width_pixels\030\001 \001(\005\022\025\n\rheight_pixel" + + "s\030\002 \001(\005\022\027\n\nframe_rate\030\003 \001(\001B\003\340A\002\022\030\n\013bitr" + + "ate_bps\030\004 \001(\005B\003\340A\002\022\024\n\014pixel_format\030\005 \001(\t" + + "\022\031\n\021rate_control_mode\030\006 \001(\t\022\021\n\tcrf_level" + + "\030\007 \001(\005\022\026\n\016allow_open_gop\030\010 \001(\010\022\031\n\017gop_fr" + + "ame_count\030\t \001(\005H\000\0221\n\014gop_duration\030\n \001(\0132" + + "\031.google.protobuf.DurationH\000\022\027\n\017enable_t" + + "wo_pass\030\013 \001(\010\022\025\n\rvbv_size_bits\030\014 \001(\005\022\031\n\021" + + "vbv_fullness_bits\030\r \001(\005\022\025\n\rentropy_coder" + + "\030\016 \001(\t\022\021\n\tb_pyramid\030\017 \001(\010\022\025\n\rb_frame_cou" + + "nt\030\020 \001(\005\022\023\n\013aq_strength\030\021 \001(\001\022\017\n\007profile" + + "\030\022 \001(\t\022\014\n\004tune\030\023 \001(\t\022\016\n\006preset\030\024 \001(\tB\n\n\010" + + "gop_mode\032\342\003\n\021H265CodecSettings\022\024\n\014width_" + + "pixels\030\001 \001(\005\022\025\n\rheight_pixels\030\002 \001(\005\022\027\n\nf" + + "rame_rate\030\003 \001(\001B\003\340A\002\022\030\n\013bitrate_bps\030\004 \001(" + + "\005B\003\340A\002\022\024\n\014pixel_format\030\005 \001(\t\022\031\n\021rate_con" + + "trol_mode\030\006 \001(\t\022\021\n\tcrf_level\030\007 \001(\005\022\026\n\016al" + + "low_open_gop\030\010 \001(\010\022\031\n\017gop_frame_count\030\t " + + "\001(\005H\000\0221\n\014gop_duration\030\n \001(\0132\031.google.pro" + + "tobuf.DurationH\000\022\027\n\017enable_two_pass\030\013 \001(" + + "\010\022\025\n\rvbv_size_bits\030\014 \001(\005\022\031\n\021vbv_fullness" + + "_bits\030\r \001(\005\022\021\n\tb_pyramid\030\016 \001(\010\022\025\n\rb_fram" + + "e_count\030\017 \001(\005\022\023\n\013aq_strength\030\020 \001(\001\022\017\n\007pr" + + "ofile\030\021 \001(\t\022\014\n\004tune\030\022 \001(\t\022\016\n\006preset\030\023 \001(" + + "\tB\n\n\010gop_mode\032\241\002\n\020Vp9CodecSettings\022\024\n\014wi" + + "dth_pixels\030\001 \001(\005\022\025\n\rheight_pixels\030\002 \001(\005\022" + + "\027\n\nframe_rate\030\003 \001(\001B\003\340A\002\022\030\n\013bitrate_bps\030" + + "\004 \001(\005B\003\340A\002\022\024\n\014pixel_format\030\005 \001(\t\022\031\n\021rate" + + "_control_mode\030\006 \001(\t\022\021\n\tcrf_level\030\007 \001(\005\022\031" + + "\n\017gop_frame_count\030\010 \001(\005H\000\0221\n\014gop_duratio" + + "n\030\t \001(\0132\031.google.protobuf.DurationH\000\022\017\n\007" + + "profile\030\n \001(\tB\n\n\010gop_modeB\020\n\016codec_setti" + + "ngs\"\361\002\n\013AudioStream\022\r\n\005codec\030\001 \001(\t\022\030\n\013bi" + + "trate_bps\030\002 \001(\005B\003\340A\002\022\025\n\rchannel_count\030\003 " + + "\001(\005\022\026\n\016channel_layout\030\004 \003(\t\022K\n\007mapping\030\005" + + " \003(\0132:.google.cloud.video.transcoder.v1." + + "AudioStream.AudioMapping\022\031\n\021sample_rate_" + + "hertz\030\006 \001(\005\032\241\001\n\014AudioMapping\022\025\n\010atom_key" + + "\030\001 \001(\tB\003\340A\002\022\026\n\tinput_key\030\002 \001(\tB\003\340A\002\022\030\n\013i" + + "nput_track\030\003 \001(\005B\003\340A\002\022\032\n\rinput_channel\030\004" + + " \001(\005B\003\340A\002\022\033\n\016output_channel\030\005 \001(\005B\003\340A\002\022\017" + + "\n\007gain_db\030\006 \001(\001\"\276\001\n\nTextStream\022\r\n\005codec\030" + + "\001 \001(\t\022I\n\007mapping\030\003 \003(\01328.google.cloud.vi" + + "deo.transcoder.v1.TextStream.TextMapping" + + "\032V\n\013TextMapping\022\025\n\010atom_key\030\001 \001(\tB\003\340A\002\022\026" + + "\n\tinput_key\030\002 \001(\tB\003\340A\002\022\030\n\013input_track\030\003 " + + "\001(\005B\003\340A\002\"h\n\017SegmentSettings\0223\n\020segment_d" + + "uration\030\001 \001(\0132\031.google.protobuf.Duration" + + "\022 \n\023individual_segments\030\003 \001(\010B\003\340A\002B\204\001\n$c" + + "om.google.cloud.video.transcoder.v1B\016Res" + + "ourcesProtoP\001ZJgoogle.golang.org/genprot" + + "o/googleapis/cloud/video/transcoder/v1;t" + + "ranscoderb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -600,7 +625,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_descriptor, new java.lang.String[] { - "Color", "Denoise", "Deblock", "Audio", "Crop", "Pad", + "Color", "Denoise", "Deblock", "Audio", "Crop", "Pad", "Deinterlace", }); internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Color_descriptor = internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_descriptor @@ -662,6 +687,36 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new java.lang.String[] { "TopPixels", "BottomPixels", "LeftPixels", "RightPixels", }); + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_descriptor = + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_descriptor + .getNestedTypes() + .get(6); + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_descriptor, + new java.lang.String[] { + "Yadif", "Bwdif", "DeinterlacingFilter", + }); + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_YadifConfig_descriptor = + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_descriptor + .getNestedTypes() + .get(0); + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_YadifConfig_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_YadifConfig_descriptor, + new java.lang.String[] { + "Mode", "DisableSpatialInterlacing", "Parity", "DeinterlaceAllFrames", + }); + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_BwdifConfig_descriptor = + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_descriptor + .getNestedTypes() + .get(1); + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_BwdifConfig_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_video_transcoder_v1_PreprocessingConfig_Deinterlace_BwdifConfig_descriptor, + new java.lang.String[] { + "Mode", "Parity", "DeinterlaceAllFrames", + }); internal_static_google_cloud_video_transcoder_v1_VideoStream_descriptor = getDescriptor().getMessageTypes().get(14); internal_static_google_cloud_video_transcoder_v1_VideoStream_fieldAccessorTable = diff --git a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/SpriteSheet.java b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/SpriteSheet.java index 7b837b4e7c48..92ee4e34f3cb 100644 --- a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/SpriteSheet.java +++ b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/SpriteSheet.java @@ -231,6 +231,10 @@ public com.google.protobuf.ByteString getFilePrefixBytes() { * source aspect ratio, set the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field or * the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field, but not both (the API will * automatically calculate the missing field). + * 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. * * * int32 sprite_width_pixels = 3 [(.google.api.field_behavior) = REQUIRED]; @@ -252,6 +256,10 @@ public int getSpriteWidthPixels() { * source aspect ratio, set the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field or * the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field, but not both (the API will * automatically calculate the missing field). + * 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. * * * int32 sprite_height_pixels = 4 [(.google.api.field_behavior) = REQUIRED]; @@ -1384,6 +1392,10 @@ public Builder setFilePrefixBytes(com.google.protobuf.ByteString value) { * source aspect ratio, set the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field or * the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field, but not both (the API will * automatically calculate the missing field). + * 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. * * * int32 sprite_width_pixels = 3 [(.google.api.field_behavior) = REQUIRED]; @@ -1402,6 +1414,10 @@ public int getSpriteWidthPixels() { * source aspect ratio, set the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field or * the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field, but not both (the API will * automatically calculate the missing field). + * 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. * * * int32 sprite_width_pixels = 3 [(.google.api.field_behavior) = REQUIRED]; @@ -1423,6 +1439,10 @@ public Builder setSpriteWidthPixels(int value) { * source aspect ratio, set the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field or * the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field, but not both (the API will * automatically calculate the missing field). + * 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. * * * int32 sprite_width_pixels = 3 [(.google.api.field_behavior) = REQUIRED]; @@ -1445,6 +1465,10 @@ public Builder clearSpriteWidthPixels() { * source aspect ratio, set the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field or * the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field, but not both (the API will * automatically calculate the missing field). + * 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. * * * int32 sprite_height_pixels = 4 [(.google.api.field_behavior) = REQUIRED]; @@ -1463,6 +1487,10 @@ public int getSpriteHeightPixels() { * source aspect ratio, set the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field or * the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field, but not both (the API will * automatically calculate the missing field). + * 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. * * * int32 sprite_height_pixels = 4 [(.google.api.field_behavior) = REQUIRED]; @@ -1484,6 +1512,10 @@ public Builder setSpriteHeightPixels(int value) { * source aspect ratio, set the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field or * the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field, but not both (the API will * automatically calculate the missing field). + * 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. * * * int32 sprite_height_pixels = 4 [(.google.api.field_behavior) = REQUIRED]; diff --git a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/SpriteSheetOrBuilder.java b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/SpriteSheetOrBuilder.java index ddfb14b0b932..3332860d030b 100644 --- a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/SpriteSheetOrBuilder.java +++ b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/SpriteSheetOrBuilder.java @@ -89,6 +89,10 @@ public interface SpriteSheetOrBuilder * source aspect ratio, set the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field or * the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field, but not both (the API will * automatically calculate the missing field). + * 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. * * * int32 sprite_width_pixels = 3 [(.google.api.field_behavior) = REQUIRED]; @@ -105,6 +109,10 @@ public interface SpriteSheetOrBuilder * source aspect ratio, set the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field or * the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field, but not both (the API will * automatically calculate the missing field). + * 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. * * * int32 sprite_height_pixels = 4 [(.google.api.field_behavior) = REQUIRED]; diff --git a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/VideoStream.java b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/VideoStream.java index b0cde500bdaa..d4ac4ad3b9c2 100644 --- a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/VideoStream.java +++ b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/java/com/google/cloud/video/transcoder/v1/VideoStream.java @@ -77,6 +77,10 @@ public interface H264CodecSettingsOrBuilder * 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. * * * int32 width_pixels = 1; @@ -92,6 +96,10 @@ public interface H264CodecSettingsOrBuilder * 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. * * * int32 height_pixels = 2; @@ -653,6 +661,10 @@ public GopModeCase getGopModeCase() { * 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. * * * int32 width_pixels = 1; @@ -673,6 +685,10 @@ public int getWidthPixels() { * 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. * * * int32 height_pixels = 2; @@ -2161,6 +2177,10 @@ public Builder clearGopMode() { * 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. * * * int32 width_pixels = 1; @@ -2178,6 +2198,10 @@ public int getWidthPixels() { * 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. * * * int32 width_pixels = 1; @@ -2198,6 +2222,10 @@ public Builder setWidthPixels(int value) { * 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. * * * int32 width_pixels = 1; @@ -2219,6 +2247,10 @@ public Builder clearWidthPixels() { * 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. * * * int32 height_pixels = 2; @@ -2236,6 +2268,10 @@ public int getHeightPixels() { * 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. * * * int32 height_pixels = 2; @@ -2256,6 +2292,10 @@ public Builder setHeightPixels(int value) { * 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. * * * int32 height_pixels = 2; @@ -4042,6 +4082,10 @@ public interface H265CodecSettingsOrBuilder * 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. * * * int32 width_pixels = 1; @@ -4057,6 +4101,10 @@ public interface H265CodecSettingsOrBuilder * 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. * * * int32 height_pixels = 2; @@ -4616,6 +4664,10 @@ public GopModeCase getGopModeCase() { * 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. * * * int32 width_pixels = 1; @@ -4636,6 +4688,10 @@ public int getWidthPixels() { * 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. * * * int32 height_pixels = 2; @@ -6077,6 +6133,10 @@ public Builder clearGopMode() { * 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. * * * int32 width_pixels = 1; @@ -6094,6 +6154,10 @@ public int getWidthPixels() { * 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. * * * int32 width_pixels = 1; @@ -6114,6 +6178,10 @@ public Builder setWidthPixels(int value) { * 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. * * * int32 width_pixels = 1; @@ -6135,6 +6203,10 @@ public Builder clearWidthPixels() { * 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. * * * int32 height_pixels = 2; @@ -6152,6 +6224,10 @@ public int getHeightPixels() { * 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. * * * int32 height_pixels = 2; @@ -6172,6 +6248,10 @@ public Builder setHeightPixels(int value) { * 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. * * * int32 height_pixels = 2; @@ -7912,6 +7992,10 @@ public interface Vp9CodecSettingsOrBuilder * 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. * * * int32 width_pixels = 1; @@ -7927,6 +8011,10 @@ public interface Vp9CodecSettingsOrBuilder * 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. * * * int32 height_pixels = 2; @@ -8286,6 +8374,10 @@ public GopModeCase getGopModeCase() { * 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. * * * int32 width_pixels = 1; @@ -8306,6 +8398,10 @@ public int getWidthPixels() { * 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. * * * int32 height_pixels = 2; @@ -9271,6 +9367,10 @@ public Builder clearGopMode() { * 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. * * * int32 width_pixels = 1; @@ -9288,6 +9388,10 @@ public int getWidthPixels() { * 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. * * * int32 width_pixels = 1; @@ -9308,6 +9412,10 @@ public Builder setWidthPixels(int value) { * 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. * * * int32 width_pixels = 1; @@ -9329,6 +9437,10 @@ public Builder clearWidthPixels() { * 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. * * * int32 height_pixels = 2; @@ -9346,6 +9458,10 @@ public int getHeightPixels() { * 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. * * * int32 height_pixels = 2; @@ -9366,6 +9482,10 @@ public Builder setHeightPixels(int value) { * 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. * * * int32 height_pixels = 2; diff --git a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/proto/google/cloud/video/transcoder/v1/resources.proto b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/proto/google/cloud/video/transcoder/v1/resources.proto index ce3824ba4ffa..08508ec87631 100644 --- a/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/proto/google/cloud/video/transcoder/v1/resources.proto +++ b/java-video-transcoder/proto-google-cloud-video-transcoder-v1/src/main/proto/google/cloud/video/transcoder/v1/resources.proto @@ -335,12 +335,22 @@ message SpriteSheet { // source aspect ratio, set the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field or // the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field, but not both (the API will // automatically calculate the missing field). + // + // 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. int32 sprite_width_pixels = 3 [(google.api.field_behavior) = REQUIRED]; // Required. The height of sprite in pixels. Must be an even integer. To preserve the // source aspect ratio, set the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field or // the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field, but not both (the API will // automatically calculate the missing field). + // + // 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. int32 sprite_height_pixels = 4 [(google.api.field_behavior) = REQUIRED]; // The maximum number of sprites per row in a sprite sheet. The default is 0, @@ -594,6 +604,70 @@ message PreprocessingConfig { int32 right_pixels = 4; } + // Deinterlace configuration for input video. + message Deinterlace { + // Yet Another Deinterlacing Filter Configuration. + message YadifConfig { + // Specifies the deinterlacing mode to adopt. + // The default is `send_frame`. + // Supported values: + // + // - `send_frame`: Output one frame for each frame + // - `send_field`: Output one frame for each field + string mode = 1; + + // Disable spacial interlacing. + // The default is `false`. + bool disable_spatial_interlacing = 2; + + // The picture field parity assumed for the input interlaced video. + // The default is `auto`. + // Supported values: + // + // - `tff`: Assume the top field is first + // - `bff`: Assume the bottom field is first + // - `auto`: Enable automatic detection of field parity + string parity = 3; + + // Deinterlace all frames rather than just the frames identified as + // interlaced. The default is `false`. + bool deinterlace_all_frames = 4; + } + + // Bob Weaver Deinterlacing Filter Configuration. + message BwdifConfig { + // Specifies the deinterlacing mode to adopt. + // The default is `send_frame`. + // Supported values: + // + // - `send_frame`: Output one frame for each frame + // - `send_field`: Output one frame for each field + string mode = 1; + + // The picture field parity assumed for the input interlaced video. + // The default is `auto`. + // Supported values: + // + // - `tff`: Assume the top field is first + // - `bff`: Assume the bottom field is first + // - `auto`: Enable automatic detection of field parity + string parity = 2; + + // Deinterlace all frames rather than just the frames identified as + // interlaced. The default is `false`. + bool deinterlace_all_frames = 3; + } + + // Specify the video deinterlacing filter. The default is `yadif`. + oneof deinterlacing_filter { + // Specifies the Yet Another Deinterlacing Filter Configuration. + YadifConfig yadif = 1; + + // Specifies the Bob Weaver Deinterlacing Filter Configuration. + BwdifConfig bwdif = 2; + } + } + // Color preprocessing configuration. Color color = 1; @@ -611,6 +685,9 @@ message PreprocessingConfig { // Specify the video pad filter configuration. Pad pad = 6; + + // Specify the video deinterlace configuration. + Deinterlace deinterlace = 7; } // Video stream resource. @@ -620,11 +697,21 @@ message VideoStream { // 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. int32 width_pixels = 1; // 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. int32 height_pixels = 2; // Required. The target video frame rate in frames per second (FPS). Must be less than @@ -755,11 +842,21 @@ message VideoStream { // 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. int32 width_pixels = 1; // 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. int32 height_pixels = 2; // Required. The target video frame rate in frames per second (FPS). Must be less than @@ -897,11 +994,21 @@ message VideoStream { // 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. int32 width_pixels = 1; // 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. int32 height_pixels = 2; // Required. The target video frame rate in frames per second (FPS). Must be less than