controller: port to new interpolation-mode api
[platform/upstream/gstreamer.git] / docs / design / draft-media-types.txt
1 Media Types
2 -----------
3
4  video/x-raw
5
6   width, G_TYPE_INT, mandatory
7     The width of the image in pixels.
8
9   height, G_TYPE_INT, mandatory
10     The height of the image in pixels
11
12   framerate, GST_TYPE_FRACTION, default 0/1
13     The framerate of the video 0/1 for variable framerate
14
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
18
19   views, G_TYPE_INT, default 1
20     The number of views for multiview video. Each buffer contains
21     multiple GstMetaVideo buffers that describe each view. use the frame id to
22     get access to the different views.
23
24   interlace-mode, G_TYPE_STRING, default progressive
25     The interlace mode. The following values are possible:
26
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
31                      the frame and fields.
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 second field of view N is at N * 2.
35                      Each view has only half the amount of lines as noted in the
36                      height property, pads specifying the "fields" property
37                      must be prepared for this.
38
39   chroma-site, G_TYPE_STRING, default UNKNOWN
40     The chroma siting of the video frames.
41
42     "jpeg" : GST_VIDEO_CHROMA_SITE_JPEG
43     "mpeg2": GST_VIDEO_CHROMA_SITE_MPEG2
44     "dv"   : GST_VIDEO_CHROMA_SITE_DV
45
46   colorimetry, G_TYPE_STRING, default UNKNOWN
47     The colorimetry of the video frames predefined colorimetry is given with
48     the following values:
49
50     "bt601"
51     "bt709"
52     "smpte240m"
53
54   pixel-aspect-ratio, GST_TYPE_FRACTION, default 1/1
55     The pixel aspect ration of the video
56
57   format, G_TYPE_STRING, mandatory
58     The format of the video
59
60   *  "I420" planar 4:2:0 YUV
61
62         Component 0: Y
63           depth:           8
64           pstride:         1
65           default offset:  0
66           default rstride: RU4 (width)
67           default size:    rstride (component0) * RU2 (height)
68
69         Component 1: U
70           depth:           8
71           pstride:         1
72           default offset:  size (component0)
73           default rstride: RU4 (RU2 (width) / 2)
74           default size:    rstride (component1) * RU2 (height) / 2
75
76         Component 2: V
77           depth            8
78           pstride:         1
79           default offset:  offset (component1) + size (component1)
80           default rstride: RU4 (RU2 (width) / 2)
81           default size:    rstride (component2) * RU2 (height) / 2
82
83         Image
84           default size: size (component0) + 
85                         size (component1) +
86                         size (component2)
87  
88   *  "YV12" planar 4:2:0 YUV
89
90         Same as I420 but with U and V planes swapped
91
92         Component 0: Y
93           depth:           8
94           pstride:         1
95           default offset:  0
96           default rstride: RU4 (width)
97           default size:    rstride (component0) * RU2 (height)
98
99         Component 1: U
100           depth            8
101           pstride:         1
102           default offset:  offset (component2) + size (component2)
103           default rstride: RU4 (RU2 (width) / 2)
104           default size:    rstride (component1) * RU2 (height) / 2
105
106         Component 2: V
107           depth:           8
108           pstride:         1
109           default offset:  size (component0)
110           default rstride: RU4 (RU2 (width) / 2)
111           default size:    rstride (component2) * RU2 (height) / 2
112
113         Image
114           default size: size (component0) + 
115                         size (component1) +
116                         size (component2)
117
118   *  "YUY2" packed 4:2:2 YUV
119
120        +--+--+--+--+ +--+--+--+--+
121        |Y0|U0|Y1|V0| |Y2|U2|Y3|V2| ...
122        +--+--+--+--+ +--+--+--+--+
123
124         Component 0: Y
125           depth:           8
126           pstride:         2
127           offset:          0
128
129         Component 1: U
130           depth:           8
131           offset:          1
132           pstride:         4
133
134         Component 2: V
135           depth            8
136           offset:          3
137           pstride:         4
138
139         Image
140           default rstride: RU4 (width * 2)
141           default size:    rstride (image) * height
142
143
144   *  "YVYU" packed 4:2:2 YUV
145   
146       Same as "YUY2" but with U and V planes swapped
147
148        +--+--+--+--+ +--+--+--+--+
149        |Y0|V0|Y1|U0| |Y2|V2|Y3|U2| ...
150        +--+--+--+--+ +--+--+--+--+
151
152         Component 0: Y
153           depth:           8
154           pstride:         2
155           offset:          0
156
157         Component 1: U
158           depth:           8
159           pstride:         4
160           offset:          3
161
162         Component 2: V
163           depth            8
164           pstride:         4
165           offset:          1
166
167         Image
168           default rstride: RU4 (width * 2)
169           default size:    rstride (image) * height
170
171
172   *  "UYVY" packed 4:2:2 YUV
173
174        +--+--+--+--+ +--+--+--+--+
175        |U0|Y0|V0|Y1| |U2|Y2|V2|Y3| ...
176        +--+--+--+--+ +--+--+--+--+
177
178         Component 0: Y
179           depth:           8
180           pstride:         2
181           offset:          1
182
183         Component 1: U
184           depth:           8
185           pstride:         4
186           offset:          0
187
188         Component 2: V
189           depth            8
190           pstride:         4
191           offset:          2
192
193         Image
194           default rstride: RU4 (width * 2)
195           default size:    rstride (image) * height
196
197
198   *  "AYUV" packed 4:4:4 YUV with alpha channel
199   
200        +--+--+--+--+ +--+--+--+--+
201        |A0|Y0|U0|V0| |A1|Y1|U1|V1| ...
202        +--+--+--+--+ +--+--+--+--+
203
204         Component 0: Y
205           depth:           8
206           pstride:         4
207           offset:          1
208
209         Component 1: U
210           depth:           8
211           pstride:         4
212           offset:          2
213
214         Component 2: V
215           depth            8
216           pstride:         4
217           offset:          3
218
219         Component 3: A
220           depth            8
221           pstride:         4
222           offset:          0
223
224         Image
225           default rstride: width * 4
226           default size:    rstride (image) * height
227
228
229   *  "RGBx" sparse rgb packed into 32 bit, space last
230
231        +--+--+--+--+ +--+--+--+--+
232        |R0|G0|B0|X | |R1|G1|B1|X | ...
233        +--+--+--+--+ +--+--+--+--+
234
235         Component 0: R
236           depth:           8
237           pstride:         4
238           offset:          0
239
240         Component 1: G
241           depth:           8
242           pstride:         4
243           offset:          1
244
245         Component 2: B
246           depth            8
247           pstride:         4
248           offset:          2
249
250         Image
251           default rstride: width * 4
252           default size:    rstride (image) * height
253
254   *  "BGRx" sparse reverse rgb packed into 32 bit, space last
255
256        +--+--+--+--+ +--+--+--+--+
257        |B0|G0|R0|X | |B1|G1|R1|X | ...
258        +--+--+--+--+ +--+--+--+--+
259
260         Component 0: R
261           depth:           8
262           pstride:         4
263           offset:          2
264
265         Component 1: G
266           depth:           8
267           pstride:         4
268           offset:          1
269
270         Component 2: B
271           depth            8
272           pstride:         4
273           offset:          0
274
275         Image
276           default rstride: width * 4
277           default size:    rstride (image) * height
278
279   *  "xRGB" sparse rgb packed into 32 bit, space first
280
281        +--+--+--+--+ +--+--+--+--+
282        |X |R0|G0|B0| |X |R1|G1|B1| ...
283        +--+--+--+--+ +--+--+--+--+
284
285         Component 0: R
286           depth:           8
287           pstride:         4
288           offset:          1
289
290         Component 1: G
291           depth:           8
292           pstride:         4
293           offset:          2
294
295         Component 2: B
296           depth            8
297           pstride:         4
298           offset:          3
299
300         Image
301           default rstride: width * 4
302           default size:    rstride (image) * height
303
304   *  "xBGR" sparse reverse rgb packed into 32 bit, space first
305
306        +--+--+--+--+ +--+--+--+--+
307        |X |B0|G0|R0| |X |B1|G1|R1| ...
308        +--+--+--+--+ +--+--+--+--+
309
310         Component 0: R
311           depth:           8
312           pstride:         4
313           offset:          3
314
315         Component 1: G
316           depth:           8
317           pstride:         4
318           offset:          2
319
320         Component 2: B
321           depth            8
322           pstride:         4
323           offset:          1
324
325         Image
326           default rstride: width * 4
327           default size:    rstride (image) * height
328
329   *  "RGBA" rgb with alpha channel last
330
331        +--+--+--+--+ +--+--+--+--+
332        |R0|G0|B0|A0| |R1|G1|B1|A1| ...
333        +--+--+--+--+ +--+--+--+--+
334
335         Component 0: R
336           depth:           8
337           pstride:         4
338           offset:          0
339
340         Component 1: G
341           depth:           8
342           pstride:         4
343           offset:          1
344
345         Component 2: B
346           depth            8
347           pstride:         4
348           offset:          2
349
350         Component 3: A
351           depth            8
352           pstride:         4
353           offset:          3
354
355         Image
356           default rstride: width * 4
357           default size:    rstride (image) * height
358
359   *  "BGRA" reverse rgb with alpha channel last
360
361        +--+--+--+--+ +--+--+--+--+
362        |B0|G0|R0|A0| |B1|G1|R1|A1| ...
363        +--+--+--+--+ +--+--+--+--+
364
365         Component 0: R
366           depth:           8
367           pstride:         4
368           offset:          2
369
370         Component 1: G
371           depth:           8
372           pstride:         4
373           offset:          1
374
375         Component 2: B
376           depth            8
377           pstride:         4
378           offset:          0
379
380         Component 3: A
381           depth            8
382           pstride:         4
383           offset:          3
384
385         Image
386           default rstride: width * 4
387           default size:    rstride (image) * height
388
389   *  "ARGB" rgb with alpha channel first
390
391        +--+--+--+--+ +--+--+--+--+
392        |A0|R0|G0|B0| |A1|R1|G1|B1| ...
393        +--+--+--+--+ +--+--+--+--+
394
395         Component 0: R
396           depth:           8
397           pstride:         4
398           offset:          1
399
400         Component 1: G
401           depth:           8
402           pstride:         4
403           offset:          2
404
405         Component 2: B
406           depth            8
407           pstride:         4
408           offset:          3
409
410         Component 3: A
411           depth            8
412           pstride:         4
413           offset:          0
414
415         Image
416           default rstride: width * 4
417           default size:    rstride (image) * height
418
419   *  "ABGR" reverse rgb with alpha channel first
420
421        +--+--+--+--+ +--+--+--+--+
422        |A0|R0|G0|B0| |A1|R1|G1|B1| ...
423        +--+--+--+--+ +--+--+--+--+
424
425         Component 0: R
426           depth:           8
427           pstride:         4
428           offset:          1
429
430         Component 1: G
431           depth:           8
432           pstride:         4
433           offset:          2
434
435         Component 2: B
436           depth            8
437           pstride:         4
438           offset:          3
439
440         Component 3: A
441           depth            8
442           pstride:         4
443           offset:          0
444
445         Image
446           default rstride: width * 4
447           default size:    rstride (image) * height
448
449   *  "RGB" rgb
450
451        +--+--+--+ +--+--+--+
452        |R0|G0|B0| |R1|G1|B1| ...
453        +--+--+--+ +--+--+--+
454
455         Component 0: R
456           depth:           8
457           pstride:         3
458           offset:          0
459
460         Component 1: G
461           depth:           8
462           pstride:         3
463           offset:          1
464
465         Component 2: B
466           depth            8
467           pstride:         3
468           offset:          2
469
470         Image
471           default rstride: RU4 (width * 3)
472           default size:    rstride (image) * height
473
474   *  "BGR" reverse rgb
475
476        +--+--+--+ +--+--+--+
477        |B0|G0|R0| |B1|G1|R1| ...
478        +--+--+--+ +--+--+--+
479
480         Component 0: R
481           depth:           8
482           pstride:         3
483           offset:          2
484
485         Component 1: G
486           depth:           8
487           pstride:         3
488           offset:          1
489
490         Component 2: B
491           depth            8
492           pstride:         3
493           offset:          0
494
495         Image
496           default rstride: RU4 (width * 3)
497           default size:    rstride (image) * height
498
499   *  "Y41B" planar 4:1:1 YUV
500
501         Component 0: Y
502           depth:           8
503           pstride:         1
504           default offset:  0
505           default rstride: RU4 (width)
506           default size:    rstride (component0) * height
507
508         Component 1: U
509           depth            8
510           pstride:         1
511           default offset:  size (component0)
512           default rstride: RU16 (width) / 4
513           default size:    rstride (component1) * height
514
515         Component 2: V
516           depth:           8
517           pstride:         1
518           default offset:  offset (component1) + size (component1)
519           default rstride: RU16 (width) / 4
520           default size:    rstride (component2) * height
521
522         Image
523           default size: size (component0) + 
524                         size (component1) +
525                         size (component2)
526
527   *  "Y42B" planar 4:2:2 YUV
528
529         Component 0: Y
530           depth:           8
531           pstride:         1
532           default offset:  0
533           default rstride: RU4 (width)
534           default size:    rstride (component0) * height
535
536         Component 1: U
537           depth            8
538           pstride:         1
539           default offset:  size (component0)
540           default rstride: RU8 (width) / 2
541           default size:    rstride (component1) * height
542
543         Component 2: V
544           depth:           8
545           pstride:         1
546           default offset:  offset (component1) + size (component1)
547           default rstride: RU8 (width) / 2
548           default size:    rstride (component2) * height
549
550         Image
551           default size: size (component0) + 
552                         size (component1) +
553                         size (component2)
554
555   *  "Y444" planar 4:4:4 YUV
556
557         Component 0: Y
558           depth:           8
559           pstride:         1
560           default offset:  0
561           default rstride: RU4 (width)
562           default size:    rstride (component0) * height
563
564         Component 1: U
565           depth            8
566           pstride:         1
567           default offset:  size (component0)
568           default rstride: RU4 (width)
569           default size:    rstride (component1) * height
570
571         Component 2: V
572           depth:           8
573           pstride:         1
574           default offset:  offset (component1) + size (component1)
575           default rstride: RU4 (width)
576           default size:    rstride (component2) * height
577
578         Image
579           default size: size (component0) + 
580                         size (component1) +
581                         size (component2)
582
583   *  "v210" packed 4:2:2 10-bit YUV, complex format
584
585         Component 0: Y
586           depth:           10
587
588         Component 1: U
589           depth            10
590
591         Component 2: V
592           depth:           10
593
594         Image
595           default rstride: RU48 (width) * 128
596           default size:    rstride (image) * height
597
598
599   *  "v216" packed 4:2:2 16-bit YUV, Y0-U0-Y1-V1 order
600
601         Component 0: Y
602           depth:           16
603           pstride:         4
604           offset:          0
605
606         Component 1: U
607           depth            16
608           pstride:         8
609           offset:          2
610
611         Component 2: V
612           depth:           16
613           pstride:         8
614           offset:          6
615
616         Image
617           default rstride: RU8 (width * 2)
618           default size:    rstride (image) * height
619
620   *  "NV12" planar 4:2:0 YUV with interleaved UV plane
621
622         Component 0: Y
623           depth:           8
624           pstride:         1
625           default offset:  0
626           default rstride: RU4 (width)
627           default size:    rstride (component0) * RU2 (height)
628
629         Component 1: U
630           depth            8
631           pstride:         2
632           default offset:  size (component0)
633           default rstride: RU4 (width)
634
635         Component 2: V
636           depth:           8
637           pstride:         2
638           default offset:  offset (component1) + 1
639           default rstride: RU4 (width)
640
641         Image
642           default size: RU4 (width) * RU2 (height) * 3 / 2
643
644
645   *  "NV21" planar 4:2:0 YUV with interleaved VU plane
646
647         Component 0: Y
648           depth:           8
649           pstride:         1
650           default offset:  0
651           default rstride: RU4 (width)
652           default size:    rstride (component0) * RU2 (height)
653
654         Component 1: U
655           depth            8
656           pstride:         2
657           default offset:  offset (component1) + 1
658           default rstride: RU4 (width)
659
660         Component 2: V
661           depth:           8
662           pstride:         2
663           default offset:  size (component0)
664           default rstride: RU4 (width)
665
666         Image
667           default size: RU4 (width) * RU2 (height) * 3 / 2
668
669   *  "GRAY8"  8-bit grayscale
670   *  "Y800" same as "GRAY8"
671
672         Component 0: Y
673           depth:           8
674           offset:          0
675           pstride:         1
676           default rstride: RU4 (width)
677           default size:    rstride (component0) * height
678
679         Image
680           default size:    size (component0)
681
682   *  "GRAY16_BE" 16-bit grayscale, most significant byte first
683
684         Component 0: Y
685           depth:           16
686           offset:          0
687           pstride:         2
688           default rstride: RU4 (width * 2)
689           default size:    rstride (component0) * height
690
691         Image
692           default size:    size (component0)
693
694   *  "GRAY16_LE" 16-bit grayscale, least significant byte first
695   *  "Y16" same as "GRAY16_LE"
696
697         Component 0: Y
698           depth:           16
699           offset:          0
700           pstride:         2
701           default rstride: RU4 (width * 2)
702           default size:    rstride (component0) * height
703
704         Image
705           default size:    size (component0)
706
707   *  "v308" packed 4:4:4 YUV
708
709        +--+--+--+ +--+--+--+
710        |Y0|U0|V0| |Y1|U1|V1| ...
711        +--+--+--+ +--+--+--+
712
713         Component 0: Y
714           depth:           8
715           pstride:         3
716           offset:          0
717
718         Component 1: U
719           depth            8
720           pstride:         3
721           offset:          1
722
723         Component 2: V
724           depth:           8
725           pstride:         3
726           offset:          2
727
728         Image
729           default rstride: RU4 (width * 3)
730           default size:    rstride (image) * height
731
732
733   *  "RGB16" rgb 5-6-5 bits per component
734
735        +--+--+--+ +--+--+--+
736        |R0|G0|B0| |R1|G1|B1| ...
737        +--+--+--+ +--+--+--+
738
739         Component 0: R
740           depth:           5
741           pstride:         2
742
743         Component 1: G
744           depth            6
745           pstride:         2
746
747         Component 2: B
748           depth:           5
749           pstride:         2
750
751         Image
752           default rstride: RU4 (width * 2)
753           default size:    rstride (image) * height
754
755   *  "BGR16" reverse rgb 5-6-5 bits per component
756
757        +--+--+--+ +--+--+--+
758        |B0|G0|R0| |B1|G1|R1| ...
759        +--+--+--+ +--+--+--+
760
761         Component 0: R
762           depth:           5
763           pstride:         2
764
765         Component 1: G
766           depth            6
767           pstride:         2
768
769         Component 2: B
770           depth:           5
771           pstride:         2
772
773         Image
774           default rstride: RU4 (width * 2)
775           default size:    rstride (image) * height
776
777   *  "RGB15" rgb 5-5-5 bits per component
778
779        +--+--+--+ +--+--+--+
780        |R0|G0|B0| |R1|G1|B1| ...
781        +--+--+--+ +--+--+--+
782
783         Component 0: R
784           depth:           5
785           pstride:         2
786
787         Component 1: G
788           depth            5
789           pstride:         2
790
791         Component 2: B
792           depth:           5
793           pstride:         2
794
795         Image
796           default rstride: RU4 (width * 2)
797           default size:    rstride (image) * height
798
799   *  "BGR15" reverse rgb 5-5-5 bits per component
800
801        +--+--+--+ +--+--+--+
802        |B0|G0|R0| |B1|G1|R1| ...
803        +--+--+--+ +--+--+--+
804
805         Component 0: R
806           depth:           5
807           pstride:         2
808
809         Component 1: G
810           depth            5
811           pstride:         2
812
813         Component 2: B
814           depth:           5
815           pstride:         2
816
817         Image
818           default rstride: RU4 (width * 2)
819           default size:    rstride (image) * height
820
821   *  "UYVP" packed 10-bit 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...)
822
823         Component 0: Y
824           depth:           10
825
826         Component 1: U
827           depth            10
828
829         Component 2: V
830           depth:           10
831
832         Image
833           default rstride: RU4 (width * 2 * 5)
834           default size:    rstride (image) * height
835
836   *  "A420" planar 4:4:2:0 AYUV
837
838         Component 0: Y
839           depth:           8
840           pstride:         1
841           default offset:  0
842           default rstride: RU4 (width)
843           default size:    rstride (component0) * RU2 (height)
844
845         Component 1: U
846           depth            8
847           pstride:         1
848           default offset:  size (component0)
849           default rstride: RU4 (RU2 (width) / 2)
850           default size:    rstride (component1) * (RU2 (height) / 2)
851
852         Component 2: V
853           depth:           8
854           pstride:         1
855           default offset:  size (component0) + size (component1)
856           default rstride: RU4 (RU2 (width) / 2)
857           default size:    rstride (component2) * (RU2 (height) / 2)
858
859         Component 3: A
860           depth:           8
861           pstride:         1
862           default offset:  size (component0) + size (component1) +
863                            size (component2)
864           default rstride: RU4 (width)
865           default size:    rstride (component3) * RU2 (height)
866
867         Image
868           default size:    size (component0) +
869                            size (component1) + 
870                            size (component2) +
871                            size (component3)
872
873   *  "RGB8_PALETTED" 8-bit paletted RGB
874
875         Component 0: R
876           depth:           8
877
878         Component 1: G
879           depth            8
880
881         Component 2: B
882           depth:           8
883
884         Image
885           default pstride: 1
886           default rstride: RU4 (width)
887           default size:    rstride (image) * height
888
889   *  "YUV9" planar 4:1:0 YUV
890
891         Component 0: Y
892           depth:           8
893           pstride:         1
894           default offset:  0
895           default rstride: RU4 (width)
896           default size:    rstride (component0) * height
897
898         Component 1: U
899           depth            8
900           pstride:         1
901           default offset:  size (component0)
902           default rstride: RU4 (RU4 (width) / 4)
903           default size:    rstride (component1) * (RU4 (height) / 4)
904
905         Component 2: V
906           depth:           8
907           pstride:         1
908           default offset:  offset (component1) + size (component1)
909           default rstride: RU4 (RU4 (width) / 4)
910           default size:    rstride (component2) * (RU4 (height) / 4)
911
912         Image
913           default size: size (component0) + 
914                         size (component1) +
915                         size (component2)
916
917   *  "YVU9" planar 4:1:0 YUV (like YUV9 but UV planes swapped)
918
919         Component 0: Y
920           depth:           8
921           pstride:         1
922           default offset:  0
923           default rstride: RU4 (width)
924           default size:    rstride (component0) * height
925
926         Component 1: U
927           depth            8
928           pstride:         1
929           default offset:  offset (component2) + size (component2)
930           default rstride: RU4 (RU4 (width) / 4)
931           default size:    rstride (component1) * (RU4 (height) / 4)
932
933         Component 2: V
934           depth:           8
935           pstride:         1
936           default offset:  size (component0)
937           default rstride: RU4 (RU4 (width) / 4)
938           default size:    rstride (component2) * (RU4 (height) / 4)
939
940         Image
941           default size: size (component0) + 
942                         size (component1) +
943                         size (component2)
944
945   *  "IYU1"  packed 4:1:1 YUV (Cb-Y0-Y1-Cr-Y2-Y3 ...)
946
947        +--+--+--+ +--+--+--+
948        |B0|G0|R0| |B1|G1|R1| ...
949        +--+--+--+ +--+--+--+
950
951         Component 0: Y
952           depth:           8
953           offset:          1
954           pstride:         2
955
956         Component 1: U
957           depth            5
958           offset:          0
959           pstride:         2
960
961         Component 2: V
962           depth:           5
963           offset:          4
964           pstride:         2
965
966         Image
967           default rstride: RU4 (RU4 (width) + RU4 (width) / 2)
968           default size:    rstride (image) * height
969
970   *  "ARGB64" rgb with alpha channel first, 16 bits per channel
971
972        +--+--+--+--+ +--+--+--+--+
973        |A0|R0|G0|B0| |A1|R1|G1|B1| ...
974        +--+--+--+--+ +--+--+--+--+
975
976         Component 0: R
977           depth:           16
978           pstride:         8
979           offset:          2
980
981         Component 1: G
982           depth            16
983           pstride:         8
984           offset:          4
985
986         Component 2: B
987           depth:           16
988           pstride:         8
989           offset:          6
990
991         Component 3: A
992           depth:           16
993           pstride:         8
994           offset:          0
995
996         Image
997           default rstride: width * 8
998           default size:    rstride (image) * height
999
1000   *  "AYUV64" packed 4:4:4 YUV with alpha channel, 16 bits per channel (A0-Y0-U0-V0 ...)
1001
1002        +--+--+--+--+ +--+--+--+--+
1003        |A0|Y0|U0|V0| |A1|Y1|U1|V1| ...
1004        +--+--+--+--+ +--+--+--+--+
1005
1006         Component 0: Y
1007           depth:           16
1008           pstride:         8
1009           offset:          2
1010
1011         Component 1: U
1012           depth            16
1013           pstride:         8
1014           offset:          4
1015
1016         Component 2: V
1017           depth:           16
1018           pstride:         8
1019           offset:          6
1020
1021         Component 3: A
1022           depth:           16
1023           pstride:         8
1024           offset:          0
1025
1026         Image
1027           default rstride: width * 8
1028           default size:    rstride (image) * height
1029
1030   *  "r210" packed 4:4:4 RGB, 10 bits per channel
1031
1032        +--+--+--+ +--+--+--+
1033        |R0|G0|B0| |R1|G1|B1| ...
1034        +--+--+--+ +--+--+--+
1035
1036         Component 0: R
1037           depth:           10
1038           pstride:         4
1039
1040         Component 1: G
1041           depth            10
1042           pstride:         4
1043
1044         Component 2: B
1045           depth:           10
1046           pstride:         4
1047
1048         Image
1049           default rstride: width * 4
1050           default size:    rstride (image) * height
1051