6 width, G_TYPE_INT, mandatory
7 The width of the image in pixels.
9 height, G_TYPE_INT, mandatory
10 The height of the image in pixels
12 framerate, GST_TYPE_FRACTION, default 0/1
13 The framerate of the video 0/1 for variable framerate
15 max-framerate, GST_TYPE_FRACTION, default as framerate
16 For variable framerates this would be the maximum framerate that
17 is expected. This value is only valid when the framerate is 0/1
19 views, G_TYPE_INT, default 1
20 The number of views for multiview video. Each buffer contains
21 multiple GstVideoMeta buffers that describe each view. use the frame id to
22 get access to the different views.
24 interlace-mode, G_TYPE_STRING, default progressive
25 The interlace mode. The following values are possible:
27 "progressive" : all frames are progressive
28 "interleaved" : 2 fields are interleaved in one video frame. Extra buffer
29 flags describe the field order.
30 "mixed" : progressive and interleaved frames, extra buffer flags describe
32 "fields" : 2 fields are stored in one buffer, use the frame ID
33 to get access to the required field. For multiview (the
34 'views' property > 1) the fields of view N can be found at
35 frame ID (N * 2) and (N * 2) + 1.
36 Each view has only half the amount of lines as noted in the
37 height property, pads specifying the "fields" property
38 must be prepared for this. This mode requires multiple
39 GstVideoMeta metadata to describe the fields.
41 chroma-site, G_TYPE_STRING, default UNKNOWN
42 The chroma siting of the video frames.
44 "jpeg" : GST_VIDEO_CHROMA_SITE_JPEG
45 "mpeg2": GST_VIDEO_CHROMA_SITE_MPEG2
46 "dv" : GST_VIDEO_CHROMA_SITE_DV
48 colorimetry, G_TYPE_STRING, default UNKNOWN
49 The colorimetry of the video frames predefined colorimetry is given with
56 pixel-aspect-ratio, GST_TYPE_FRACTION, default 1/1
57 The pixel aspect ration of the video
59 format, G_TYPE_STRING, mandatory
60 The format of the video, see the Formats section for a list of valid format
67 contains the description of one video field or frame. It has
68 stride support and support for having multiple memory regions per frame.
70 Multiple GstVideoMeta can be added to a buffer and can be identified with a
71 unique id. This id can be used to select fields in interlaced formats or
72 views in multiview formats.
75 Contains the cropping region of the video.
81 "I420" planar 4:2:0 YUV
87 default rstride: RU4 (width)
88 default size: rstride (component0) * RU2 (height)
93 default offset: size (component0)
94 default rstride: RU4 (RU2 (width) / 2)
95 default size: rstride (component1) * RU2 (height) / 2
100 default offset: offset (component1) + size (component1)
101 default rstride: RU4 (RU2 (width) / 2)
102 default size: rstride (component2) * RU2 (height) / 2
105 default size: size (component0) +
109 "YV12" planar 4:2:0 YUV
111 Same as I420 but with U and V planes swapped
117 default rstride: RU4 (width)
118 default size: rstride (component0) * RU2 (height)
123 default offset: offset (component2) + size (component2)
124 default rstride: RU4 (RU2 (width) / 2)
125 default size: rstride (component1) * RU2 (height) / 2
130 default offset: size (component0)
131 default rstride: RU4 (RU2 (width) / 2)
132 default size: rstride (component2) * RU2 (height) / 2
135 default size: size (component0) +
139 "YUY2" packed 4:2:2 YUV
141 +--+--+--+--+ +--+--+--+--+
142 |Y0|U0|Y1|V0| |Y2|U2|Y3|V2| ...
143 +--+--+--+--+ +--+--+--+--+
161 default rstride: RU4 (width * 2)
162 default size: rstride (image) * height
165 "YVYU" packed 4:2:2 YUV
167 Same as "YUY2" but with U and V planes swapped
169 +--+--+--+--+ +--+--+--+--+
170 |Y0|V0|Y1|U0| |Y2|V2|Y3|U2| ...
171 +--+--+--+--+ +--+--+--+--+
189 default rstride: RU4 (width * 2)
190 default size: rstride (image) * height
193 "UYVY" packed 4:2:2 YUV
195 +--+--+--+--+ +--+--+--+--+
196 |U0|Y0|V0|Y1| |U2|Y2|V2|Y3| ...
197 +--+--+--+--+ +--+--+--+--+
215 default rstride: RU4 (width * 2)
216 default size: rstride (image) * height
219 "AYUV" packed 4:4:4 YUV with alpha channel
221 +--+--+--+--+ +--+--+--+--+
222 |A0|Y0|U0|V0| |A1|Y1|U1|V1| ...
223 +--+--+--+--+ +--+--+--+--+
246 default rstride: width * 4
247 default size: rstride (image) * height
250 "RGBx" sparse rgb packed into 32 bit, space last
252 +--+--+--+--+ +--+--+--+--+
253 |R0|G0|B0|X | |R1|G1|B1|X | ...
254 +--+--+--+--+ +--+--+--+--+
272 default rstride: width * 4
273 default size: rstride (image) * height
275 "BGRx" sparse reverse rgb packed into 32 bit, space last
277 +--+--+--+--+ +--+--+--+--+
278 |B0|G0|R0|X | |B1|G1|R1|X | ...
279 +--+--+--+--+ +--+--+--+--+
297 default rstride: width * 4
298 default size: rstride (image) * height
300 "xRGB" sparse rgb packed into 32 bit, space first
302 +--+--+--+--+ +--+--+--+--+
303 |X |R0|G0|B0| |X |R1|G1|B1| ...
304 +--+--+--+--+ +--+--+--+--+
322 default rstride: width * 4
323 default size: rstride (image) * height
325 "xBGR" sparse reverse rgb packed into 32 bit, space first
327 +--+--+--+--+ +--+--+--+--+
328 |X |B0|G0|R0| |X |B1|G1|R1| ...
329 +--+--+--+--+ +--+--+--+--+
347 default rstride: width * 4
348 default size: rstride (image) * height
350 "RGBA" rgb with alpha channel last
352 +--+--+--+--+ +--+--+--+--+
353 |R0|G0|B0|A0| |R1|G1|B1|A1| ...
354 +--+--+--+--+ +--+--+--+--+
377 default rstride: width * 4
378 default size: rstride (image) * height
380 "BGRA" reverse rgb with alpha channel last
382 +--+--+--+--+ +--+--+--+--+
383 |B0|G0|R0|A0| |B1|G1|R1|A1| ...
384 +--+--+--+--+ +--+--+--+--+
407 default rstride: width * 4
408 default size: rstride (image) * height
410 "ARGB" rgb with alpha channel first
412 +--+--+--+--+ +--+--+--+--+
413 |A0|R0|G0|B0| |A1|R1|G1|B1| ...
414 +--+--+--+--+ +--+--+--+--+
437 default rstride: width * 4
438 default size: rstride (image) * height
440 "ABGR" reverse rgb with alpha channel first
442 +--+--+--+--+ +--+--+--+--+
443 |A0|R0|G0|B0| |A1|R1|G1|B1| ...
444 +--+--+--+--+ +--+--+--+--+
467 default rstride: width * 4
468 default size: rstride (image) * height
472 +--+--+--+ +--+--+--+
473 |R0|G0|B0| |R1|G1|B1| ...
474 +--+--+--+ +--+--+--+
492 default rstride: RU4 (width * 3)
493 default size: rstride (image) * height
497 +--+--+--+ +--+--+--+
498 |B0|G0|R0| |B1|G1|R1| ...
499 +--+--+--+ +--+--+--+
517 default rstride: RU4 (width * 3)
518 default size: rstride (image) * height
520 "Y41B" planar 4:1:1 YUV
526 default rstride: RU4 (width)
527 default size: rstride (component0) * height
532 default offset: size (component0)
533 default rstride: RU16 (width) / 4
534 default size: rstride (component1) * height
539 default offset: offset (component1) + size (component1)
540 default rstride: RU16 (width) / 4
541 default size: rstride (component2) * height
544 default size: size (component0) +
548 "Y42B" planar 4:2:2 YUV
554 default rstride: RU4 (width)
555 default size: rstride (component0) * height
560 default offset: size (component0)
561 default rstride: RU8 (width) / 2
562 default size: rstride (component1) * height
567 default offset: offset (component1) + size (component1)
568 default rstride: RU8 (width) / 2
569 default size: rstride (component2) * height
572 default size: size (component0) +
576 "Y444" planar 4:4:4 YUV
582 default rstride: RU4 (width)
583 default size: rstride (component0) * height
588 default offset: size (component0)
589 default rstride: RU4 (width)
590 default size: rstride (component1) * height
595 default offset: offset (component1) + size (component1)
596 default rstride: RU4 (width)
597 default size: rstride (component2) * height
600 default size: size (component0) +
604 "v210" packed 4:2:2 10-bit YUV, complex format
616 default rstride: RU48 (width) * 128
617 default size: rstride (image) * height
620 "v216" packed 4:2:2 16-bit YUV, Y0-U0-Y1-V1 order
622 +--+--+--+--+ +--+--+--+--+
623 |U0|Y0|V0|Y1| |U1|Y2|V1|Y3| ...
624 +--+--+--+--+ +--+--+--+--+
642 default rstride: RU8 (width * 2)
643 default size: rstride (image) * height
645 "NV12" planar 4:2:0 YUV with interleaved UV plane
651 default rstride: RU4 (width)
652 default size: rstride (component0) * RU2 (height)
657 default offset: size (component0)
658 default rstride: RU4 (width)
663 default offset: offset (component1) + 1
664 default rstride: RU4 (width)
667 default size: RU4 (width) * RU2 (height) * 3 / 2
670 "NV21" planar 4:2:0 YUV with interleaved VU plane
676 default rstride: RU4 (width)
677 default size: rstride (component0) * RU2 (height)
682 default offset: offset (component1) + 1
683 default rstride: RU4 (width)
688 default offset: size (component0)
689 default rstride: RU4 (width)
692 default size: RU4 (width) * RU2 (height) * 3 / 2
694 "GRAY8" 8-bit grayscale
695 "Y800" same as "GRAY8"
701 default rstride: RU4 (width)
702 default size: rstride (component0) * height
705 default size: size (component0)
707 "GRAY16_BE" 16-bit grayscale, most significant byte first
713 default rstride: RU4 (width * 2)
714 default size: rstride (component0) * height
717 default size: size (component0)
719 "GRAY16_LE" 16-bit grayscale, least significant byte first
720 "Y16" same as "GRAY16_LE"
726 default rstride: RU4 (width * 2)
727 default size: rstride (component0) * height
730 default size: size (component0)
732 "v308" packed 4:4:4 YUV
734 +--+--+--+ +--+--+--+
735 |Y0|U0|V0| |Y1|U1|V1| ...
736 +--+--+--+ +--+--+--+
754 default rstride: RU4 (width * 3)
755 default size: rstride (image) * height
758 "RGB16" rgb 5-6-5 bits per component
760 +--+--+--+ +--+--+--+
761 |R0|G0|B0| |R1|G1|B1| ...
762 +--+--+--+ +--+--+--+
777 default rstride: RU4 (width * 2)
778 default size: rstride (image) * height
780 "BGR16" reverse rgb 5-6-5 bits per component
782 +--+--+--+ +--+--+--+
783 |B0|G0|R0| |B1|G1|R1| ...
784 +--+--+--+ +--+--+--+
799 default rstride: RU4 (width * 2)
800 default size: rstride (image) * height
802 "RGB15" rgb 5-5-5 bits per component
804 +--+--+--+ +--+--+--+
805 |R0|G0|B0| |R1|G1|B1| ...
806 +--+--+--+ +--+--+--+
821 default rstride: RU4 (width * 2)
822 default size: rstride (image) * height
824 "BGR15" reverse rgb 5-5-5 bits per component
826 +--+--+--+ +--+--+--+
827 |B0|G0|R0| |B1|G1|R1| ...
828 +--+--+--+ +--+--+--+
843 default rstride: RU4 (width * 2)
844 default size: rstride (image) * height
846 "UYVP" packed 10-bit 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...)
858 default rstride: RU4 (width * 2 * 5)
859 default size: rstride (image) * height
861 "A420" planar 4:4:2:0 AYUV
867 default rstride: RU4 (width)
868 default size: rstride (component0) * RU2 (height)
873 default offset: size (component0)
874 default rstride: RU4 (RU2 (width) / 2)
875 default size: rstride (component1) * (RU2 (height) / 2)
880 default offset: size (component0) + size (component1)
881 default rstride: RU4 (RU2 (width) / 2)
882 default size: rstride (component2) * (RU2 (height) / 2)
887 default offset: size (component0) + size (component1) +
889 default rstride: RU4 (width)
890 default size: rstride (component3) * RU2 (height)
893 default size: size (component0) +
898 "RGB8_PALETTED" 8-bit paletted RGB
911 default rstride: RU4 (width)
912 default size: rstride (image) * height
914 "YUV9" planar 4:1:0 YUV
920 default rstride: RU4 (width)
921 default size: rstride (component0) * height
926 default offset: size (component0)
927 default rstride: RU4 (RU4 (width) / 4)
928 default size: rstride (component1) * (RU4 (height) / 4)
933 default offset: offset (component1) + size (component1)
934 default rstride: RU4 (RU4 (width) / 4)
935 default size: rstride (component2) * (RU4 (height) / 4)
938 default size: size (component0) +
942 "YVU9" planar 4:1:0 YUV (like YUV9 but UV planes swapped)
948 default rstride: RU4 (width)
949 default size: rstride (component0) * height
954 default offset: offset (component2) + size (component2)
955 default rstride: RU4 (RU4 (width) / 4)
956 default size: rstride (component1) * (RU4 (height) / 4)
961 default offset: size (component0)
962 default rstride: RU4 (RU4 (width) / 4)
963 default size: rstride (component2) * (RU4 (height) / 4)
966 default size: size (component0) +
970 "IYU1" packed 4:1:1 YUV (Cb-Y0-Y1-Cr-Y2-Y3 ...)
972 +--+--+--+ +--+--+--+
973 |B0|G0|R0| |B1|G1|R1| ...
974 +--+--+--+ +--+--+--+
992 default rstride: RU4 (RU4 (width) + RU4 (width) / 2)
993 default size: rstride (image) * height
995 "ARGB64" rgb with alpha channel first, 16 bits per channel
997 +--+--+--+--+ +--+--+--+--+
998 |A0|R0|G0|B0| |A1|R1|G1|B1| ...
999 +--+--+--+--+ +--+--+--+--+
1022 default rstride: width * 8
1023 default size: rstride (image) * height
1025 "AYUV64" packed 4:4:4 YUV with alpha channel, 16 bits per channel (A0-Y0-U0-V0 ...)
1027 +--+--+--+--+ +--+--+--+--+
1028 |A0|Y0|U0|V0| |A1|Y1|U1|V1| ...
1029 +--+--+--+--+ +--+--+--+--+
1052 default rstride: width * 8
1053 default size: rstride (image) * height
1055 "r210" packed 4:4:4 RGB, 10 bits per channel
1057 +--+--+--+ +--+--+--+
1058 |R0|G0|B0| |R1|G1|B1| ...
1059 +--+--+--+ +--+--+--+
1074 default rstride: width * 4
1075 default size: rstride (image) * height
1077 "I420_10LE" planar 4:2:0 YUV, 10 bits per channel LE
1083 default rstride: RU4 (width * 2)
1084 default size: rstride (component0) * RU2 (height)
1089 default offset: size (component0)
1090 default rstride: RU4 (width)
1091 default size: rstride (component1) * RU2 (height) / 2
1096 default offset: offset (component1) + size (component1)
1097 default rstride: RU4 (width)
1098 default size: rstride (component2) * RU2 (height) / 2
1101 default size: size (component0) +
1105 "I420_10BE" planar 4:2:0 YUV, 10 bits per channel BE
1111 default rstride: RU4 (width * 2)
1112 default size: rstride (component0) * RU2 (height)
1117 default offset: size (component0)
1118 default rstride: RU4 (width)
1119 default size: rstride (component1) * RU2 (height) / 2
1124 default offset: offset (component1) + size (component1)
1125 default rstride: RU4 (width)
1126 default size: rstride (component2) * RU2 (height) / 2
1129 default size: size (component0) +