Skip to content

Commit a186468

Browse files
Google APIscopybara-github
authored andcommitted
feat: add PreprocessingConfig.deinterlace
docs: minor documentation changes PiperOrigin-RevId: 489233360
1 parent 0184330 commit a186468

File tree

2 files changed

+110
-1
lines changed

2 files changed

+110
-1
lines changed

google/cloud/video/transcoder/v1/resources.proto

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,12 +335,22 @@ message SpriteSheet {
335335
// source aspect ratio, set the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field or
336336
// the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field, but not both (the API will
337337
// automatically calculate the missing field).
338+
//
339+
// For portrait videos that contain horizontal ASR and rotation metadata,
340+
// provide the width, in pixels, per the horizontal ASR. The API calculates
341+
// the height per the horizontal ASR. The API detects any rotation metadata
342+
// and swaps the requested height and width for the output.
338343
int32 sprite_width_pixels = 3 [(google.api.field_behavior) = REQUIRED];
339344

340345
// Required. The height of sprite in pixels. Must be an even integer. To preserve the
341346
// source aspect ratio, set the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field or
342347
// the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field, but not both (the API will
343348
// automatically calculate the missing field).
349+
//
350+
// For portrait videos that contain horizontal ASR and rotation metadata,
351+
// provide the height, in pixels, per the horizontal ASR. The API calculates
352+
// the width per the horizontal ASR. The API detects any rotation metadata
353+
// and swaps the requested height and width for the output.
344354
int32 sprite_height_pixels = 4 [(google.api.field_behavior) = REQUIRED];
345355

346356
// The maximum number of sprites per row in a sprite sheet. The default is 0,
@@ -594,6 +604,70 @@ message PreprocessingConfig {
594604
int32 right_pixels = 4;
595605
}
596606

607+
// Deinterlace configuration for input video.
608+
message Deinterlace {
609+
// Yet Another Deinterlacing Filter Configuration.
610+
message YadifConfig {
611+
// Specifies the deinterlacing mode to adopt.
612+
// The default is `send_frame`.
613+
// Supported values:
614+
//
615+
// - `send_frame`: Output one frame for each frame
616+
// - `send_field`: Output one frame for each field
617+
string mode = 1;
618+
619+
// Disable spacial interlacing.
620+
// The default is `false`.
621+
bool disable_spatial_interlacing = 2;
622+
623+
// The picture field parity assumed for the input interlaced video.
624+
// The default is `auto`.
625+
// Supported values:
626+
//
627+
// - `tff`: Assume the top field is first
628+
// - `bff`: Assume the bottom field is first
629+
// - `auto`: Enable automatic detection of field parity
630+
string parity = 3;
631+
632+
// Deinterlace all frames rather than just the frames identified as
633+
// interlaced. The default is `false`.
634+
bool deinterlace_all_frames = 4;
635+
}
636+
637+
// Bob Weaver Deinterlacing Filter Configuration.
638+
message BwdifConfig {
639+
// Specifies the deinterlacing mode to adopt.
640+
// The default is `send_frame`.
641+
// Supported values:
642+
//
643+
// - `send_frame`: Output one frame for each frame
644+
// - `send_field`: Output one frame for each field
645+
string mode = 1;
646+
647+
// The picture field parity assumed for the input interlaced video.
648+
// The default is `auto`.
649+
// Supported values:
650+
//
651+
// - `tff`: Assume the top field is first
652+
// - `bff`: Assume the bottom field is first
653+
// - `auto`: Enable automatic detection of field parity
654+
string parity = 2;
655+
656+
// Deinterlace all frames rather than just the frames identified as
657+
// interlaced. The default is `false`.
658+
bool deinterlace_all_frames = 3;
659+
}
660+
661+
// Specify the video deinterlacing filter. The default is `yadif`.
662+
oneof deinterlacing_filter {
663+
// Specifies the Yet Another Deinterlacing Filter Configuration.
664+
YadifConfig yadif = 1;
665+
666+
// Specifies the Bob Weaver Deinterlacing Filter Configuration.
667+
BwdifConfig bwdif = 2;
668+
}
669+
}
670+
597671
// Color preprocessing configuration.
598672
Color color = 1;
599673

@@ -611,6 +685,9 @@ message PreprocessingConfig {
611685

612686
// Specify the video pad filter configuration.
613687
Pad pad = 6;
688+
689+
// Specify the video deinterlace configuration.
690+
Deinterlace deinterlace = 7;
614691
}
615692

616693
// Video stream resource.
@@ -620,11 +697,21 @@ message VideoStream {
620697
// The width of the video in pixels. Must be an even integer.
621698
// When not specified, the width is adjusted to match the specified height
622699
// and input aspect ratio. If both are omitted, the input width is used.
700+
//
701+
// For portrait videos that contain horizontal ASR and rotation metadata,
702+
// provide the width, in pixels, per the horizontal ASR. The API calculates
703+
// the height per the horizontal ASR. The API detects any rotation metadata
704+
// and swaps the requested height and width for the output.
623705
int32 width_pixels = 1;
624706

625707
// The height of the video in pixels. Must be an even integer.
626708
// When not specified, the height is adjusted to match the specified width
627709
// and input aspect ratio. If both are omitted, the input height is used.
710+
//
711+
// For portrait videos that contain horizontal ASR and rotation metadata,
712+
// provide the height, in pixels, per the horizontal ASR. The API calculates
713+
// the width per the horizontal ASR. The API detects any rotation metadata
714+
// and swaps the requested height and width for the output.
628715
int32 height_pixels = 2;
629716

630717
// Required. The target video frame rate in frames per second (FPS). Must be less than
@@ -755,11 +842,21 @@ message VideoStream {
755842
// The width of the video in pixels. Must be an even integer.
756843
// When not specified, the width is adjusted to match the specified height
757844
// and input aspect ratio. If both are omitted, the input width is used.
845+
//
846+
// For portrait videos that contain horizontal ASR and rotation metadata,
847+
// provide the width, in pixels, per the horizontal ASR. The API calculates
848+
// the height per the horizontal ASR. The API detects any rotation metadata
849+
// and swaps the requested height and width for the output.
758850
int32 width_pixels = 1;
759851

760852
// The height of the video in pixels. Must be an even integer.
761853
// When not specified, the height is adjusted to match the specified width
762854
// and input aspect ratio. If both are omitted, the input height is used.
855+
//
856+
// For portrait videos that contain horizontal ASR and rotation metadata,
857+
// provide the height, in pixels, per the horizontal ASR. The API calculates
858+
// the width per the horizontal ASR. The API detects any rotation metadata
859+
// and swaps the requested height and width for the output.
763860
int32 height_pixels = 2;
764861

765862
// Required. The target video frame rate in frames per second (FPS). Must be less than
@@ -897,11 +994,21 @@ message VideoStream {
897994
// The width of the video in pixels. Must be an even integer.
898995
// When not specified, the width is adjusted to match the specified height
899996
// and input aspect ratio. If both are omitted, the input width is used.
997+
//
998+
// For portrait videos that contain horizontal ASR and rotation metadata,
999+
// provide the width, in pixels, per the horizontal ASR. The API calculates
1000+
// the height per the horizontal ASR. The API detects any rotation metadata
1001+
// and swaps the requested height and width for the output.
9001002
int32 width_pixels = 1;
9011003

9021004
// The height of the video in pixels. Must be an even integer.
9031005
// When not specified, the height is adjusted to match the specified width
9041006
// and input aspect ratio. If both are omitted, the input height is used.
1007+
//
1008+
// For portrait videos that contain horizontal ASR and rotation metadata,
1009+
// provide the height, in pixels, per the horizontal ASR. The API calculates
1010+
// the width per the horizontal ASR. The API detects any rotation metadata
1011+
// and swaps the requested height and width for the output.
9051012
int32 height_pixels = 2;
9061013

9071014
// Required. The target video frame rate in frames per second (FPS). Must be less than

google/cloud/video/transcoder/v1/transcoder_v1.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ apis:
99
documentation:
1010
summary: |-
1111
This API converts video files into formats suitable for consumer
12-
distribution.
12+
distribution. For more information, see the <a
13+
href="https://cloud.google.com/transcoder/docs/concepts/overview">Transcoder
14+
API overview</a>.
1315
1416
backend:
1517
rules:

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy