@@ -335,12 +335,22 @@ message SpriteSheet {
335
335
// source aspect ratio, set the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field or
336
336
// the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field, but not both (the API will
337
337
// 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.
338
343
int32 sprite_width_pixels = 3 [(google.api.field_behavior ) = REQUIRED ];
339
344
340
345
// Required. The height of sprite in pixels. Must be an even integer. To preserve the
341
346
// source aspect ratio, set the [SpriteSheet.sprite_height_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_height_pixels] field or
342
347
// the [SpriteSheet.sprite_width_pixels][google.cloud.video.transcoder.v1.SpriteSheet.sprite_width_pixels] field, but not both (the API will
343
348
// 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.
344
354
int32 sprite_height_pixels = 4 [(google.api.field_behavior ) = REQUIRED ];
345
355
346
356
// The maximum number of sprites per row in a sprite sheet. The default is 0,
@@ -594,6 +604,70 @@ message PreprocessingConfig {
594
604
int32 right_pixels = 4 ;
595
605
}
596
606
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
+
597
671
// Color preprocessing configuration.
598
672
Color color = 1 ;
599
673
@@ -611,6 +685,9 @@ message PreprocessingConfig {
611
685
612
686
// Specify the video pad filter configuration.
613
687
Pad pad = 6 ;
688
+
689
+ // Specify the video deinterlace configuration.
690
+ Deinterlace deinterlace = 7 ;
614
691
}
615
692
616
693
// Video stream resource.
@@ -620,11 +697,21 @@ message VideoStream {
620
697
// The width of the video in pixels. Must be an even integer.
621
698
// When not specified, the width is adjusted to match the specified height
622
699
// 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.
623
705
int32 width_pixels = 1 ;
624
706
625
707
// The height of the video in pixels. Must be an even integer.
626
708
// When not specified, the height is adjusted to match the specified width
627
709
// 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.
628
715
int32 height_pixels = 2 ;
629
716
630
717
// Required. The target video frame rate in frames per second (FPS). Must be less than
@@ -755,11 +842,21 @@ message VideoStream {
755
842
// The width of the video in pixels. Must be an even integer.
756
843
// When not specified, the width is adjusted to match the specified height
757
844
// 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.
758
850
int32 width_pixels = 1 ;
759
851
760
852
// The height of the video in pixels. Must be an even integer.
761
853
// When not specified, the height is adjusted to match the specified width
762
854
// 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.
763
860
int32 height_pixels = 2 ;
764
861
765
862
// Required. The target video frame rate in frames per second (FPS). Must be less than
@@ -897,11 +994,21 @@ message VideoStream {
897
994
// The width of the video in pixels. Must be an even integer.
898
995
// When not specified, the width is adjusted to match the specified height
899
996
// 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.
900
1002
int32 width_pixels = 1 ;
901
1003
902
1004
// The height of the video in pixels. Must be an even integer.
903
1005
// When not specified, the height is adjusted to match the specified width
904
1006
// 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.
905
1012
int32 height_pixels = 2 ;
906
1013
907
1014
// Required. The target video frame rate in frames per second (FPS). Must be less than
0 commit comments