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
757 "IYU2" packed 4:4:4 YUV, U-Y-V order
759 +--+--+--+ +--+--+--+
760 |U0|Y0|V0| |U1|Y1|V1| ...
761 +--+--+--+ +--+--+--+
779 default rstride: RU4 (width * 3)
780 default size: rstride (image) * height
782 "RGB16" rgb 5-6-5 bits per component
784 +--+--+--+ +--+--+--+
785 |R0|G0|B0| |R1|G1|B1| ...
786 +--+--+--+ +--+--+--+
801 default rstride: RU4 (width * 2)
802 default size: rstride (image) * height
804 "BGR16" reverse rgb 5-6-5 bits per component
806 +--+--+--+ +--+--+--+
807 |B0|G0|R0| |B1|G1|R1| ...
808 +--+--+--+ +--+--+--+
823 default rstride: RU4 (width * 2)
824 default size: rstride (image) * height
826 "RGB15" rgb 5-5-5 bits per component
828 +--+--+--+ +--+--+--+
829 |R0|G0|B0| |R1|G1|B1| ...
830 +--+--+--+ +--+--+--+
845 default rstride: RU4 (width * 2)
846 default size: rstride (image) * height
848 "BGR15" reverse rgb 5-5-5 bits per component
850 +--+--+--+ +--+--+--+
851 |B0|G0|R0| |B1|G1|R1| ...
852 +--+--+--+ +--+--+--+
867 default rstride: RU4 (width * 2)
868 default size: rstride (image) * height
870 "UYVP" packed 10-bit 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...)
882 default rstride: RU4 (width * 2 * 5)
883 default size: rstride (image) * height
885 "A420" planar 4:4:2:0 AYUV
891 default rstride: RU4 (width)
892 default size: rstride (component0) * RU2 (height)
897 default offset: size (component0)
898 default rstride: RU4 (RU2 (width) / 2)
899 default size: rstride (component1) * (RU2 (height) / 2)
904 default offset: size (component0) + size (component1)
905 default rstride: RU4 (RU2 (width) / 2)
906 default size: rstride (component2) * (RU2 (height) / 2)
911 default offset: size (component0) + size (component1) +
913 default rstride: RU4 (width)
914 default size: rstride (component3) * RU2 (height)
917 default size: size (component0) +
922 "RGB8P" 8-bit paletted RGB
928 default rstride: RU4 (width)
929 default size: rstride (component0) * height
934 default offset: size (component0)
939 default size: size (component0) + size (component1)
941 "YUV9" planar 4:1:0 YUV
947 default rstride: RU4 (width)
948 default size: rstride (component0) * height
953 default offset: size (component0)
954 default rstride: RU4 (RU4 (width) / 4)
955 default size: rstride (component1) * (RU4 (height) / 4)
960 default offset: offset (component1) + size (component1)
961 default rstride: RU4 (RU4 (width) / 4)
962 default size: rstride (component2) * (RU4 (height) / 4)
965 default size: size (component0) +
969 "YVU9" planar 4:1:0 YUV (like YUV9 but UV planes swapped)
975 default rstride: RU4 (width)
976 default size: rstride (component0) * height
981 default offset: offset (component2) + size (component2)
982 default rstride: RU4 (RU4 (width) / 4)
983 default size: rstride (component1) * (RU4 (height) / 4)
988 default offset: size (component0)
989 default rstride: RU4 (RU4 (width) / 4)
990 default size: rstride (component2) * (RU4 (height) / 4)
993 default size: size (component0) +
997 "IYU1" packed 4:1:1 YUV (Cb-Y0-Y1-Cr-Y2-Y3 ...)
999 +--+--+--+ +--+--+--+
1000 |B0|G0|R0| |B1|G1|R1| ...
1001 +--+--+--+ +--+--+--+
1019 default rstride: RU4 (RU4 (width) + RU4 (width) / 2)
1020 default size: rstride (image) * height
1022 "ARGB64" rgb with alpha channel first, 16 bits per channel
1024 +--+--+--+--+ +--+--+--+--+
1025 |A0|R0|G0|B0| |A1|R1|G1|B1| ...
1026 +--+--+--+--+ +--+--+--+--+
1049 default rstride: width * 8
1050 default size: rstride (image) * height
1052 "AYUV64" packed 4:4:4 YUV with alpha channel, 16 bits per channel (A0-Y0-U0-V0 ...)
1054 +--+--+--+--+ +--+--+--+--+
1055 |A0|Y0|U0|V0| |A1|Y1|U1|V1| ...
1056 +--+--+--+--+ +--+--+--+--+
1079 default rstride: width * 8
1080 default size: rstride (image) * height
1082 "r210" packed 4:4:4 RGB, 10 bits per channel
1084 +--+--+--+ +--+--+--+
1085 |R0|G0|B0| |R1|G1|B1| ...
1086 +--+--+--+ +--+--+--+
1101 default rstride: width * 4
1102 default size: rstride (image) * height
1104 "I420_10LE" planar 4:2:0 YUV, 10 bits per channel LE
1110 default rstride: RU4 (width * 2)
1111 default size: rstride (component0) * RU2 (height)
1116 default offset: size (component0)
1117 default rstride: RU4 (width)
1118 default size: rstride (component1) * RU2 (height) / 2
1123 default offset: offset (component1) + size (component1)
1124 default rstride: RU4 (width)
1125 default size: rstride (component2) * RU2 (height) / 2
1128 default size: size (component0) +
1132 "I420_10BE" planar 4:2:0 YUV, 10 bits per channel BE
1138 default rstride: RU4 (width * 2)
1139 default size: rstride (component0) * RU2 (height)
1144 default offset: size (component0)
1145 default rstride: RU4 (width)
1146 default size: rstride (component1) * RU2 (height) / 2
1151 default offset: offset (component1) + size (component1)
1152 default rstride: RU4 (width)
1153 default size: rstride (component2) * RU2 (height) / 2
1156 default size: size (component0) +
1160 "I422_10LE" planar 4:2:2 YUV, 10 bits per channel LE
1166 default rstride: RU4 (width * 2)
1167 default size: rstride (component0) * RU2 (height)
1172 default offset: size (component0)
1173 default rstride: RU4 (width)
1174 default size: rstride (component1) * RU2 (height)
1179 default offset: offset (component1) + size (component1)
1180 default rstride: RU4 (width)
1181 default size: rstride (component2) * RU2 (height)
1184 default size: size (component0) +
1188 "I422_10BE" planar 4:2:2 YUV, 10 bits per channel BE
1194 default rstride: RU4 (width * 2)
1195 default size: rstride (component0) * RU2 (height)
1200 default offset: size (component0)
1201 default rstride: RU4 (width)
1202 default size: rstride (component1) * RU2 (height)
1207 default offset: offset (component1) + size (component1)
1208 default rstride: RU4 (width)
1209 default size: rstride (component2) * RU2 (height)
1212 default size: size (component0) +
1216 "Y444_10BE" planar 4:4:4 YUV, 10 bits per channel
1217 "Y444_10LE" planar 4:4:4 YUV, 10 bits per channel
1219 "GBR" planar 4:4:4 RGB, 8 bits per channel
1220 "GBR_10BE" planar 4:4:4 RGB, 10 bits per channel
1221 "GBR_10LE" planar 4:4:4 RGB, 10 bits per channel
1223 "NV16" planar 4:2:2 YUV with interleaved UV plane
1224 "NV61" planar 4:2:2 YUV with interleaved VU plane
1225 "NV24" planar 4:4:4 YUV with interleaved UV plane
1228 "NV12_64Z32" planar 4:2:0 YUV with interleaved UV plane in 64x32 tiles zigzag
1234 default rstride: RU128 (width)
1235 default size: rstride (component0) * RU32 (height)
1240 default offset: size (component0)
1241 default rstride: (y_tiles << 16) | x_tiles
1242 default x_tiles: RU128 (width) >> tile_width
1243 default y_tiles: RU32 (height) >> tile_height
1248 default offset: offset (component1) + 1
1249 default rstride: (y_tiles << 16) | x_tiles
1250 default x_tiles: RU128 (width) >> tile_width
1251 default y_tiles: RU64 (height) >> (tile_height + 1)
1254 default size: RU128 (width) * (RU32 (height) + RU64 (height) / 2)
1255 tile mode: ZFLIPZ_2X2