Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[sfrench/cifs-2.6.git] / Documentation / media / uapi / v4l / pixfmt-packed-rgb.rst
1 .. Permission is granted to copy, distribute and/or modify this
2 .. document under the terms of the GNU Free Documentation License,
3 .. Version 1.1 or any later version published by the Free Software
4 .. Foundation, with no Invariant Sections, no Front-Cover Texts
5 .. and no Back-Cover Texts. A copy of the license is included at
6 .. Documentation/media/uapi/fdl-appendix.rst.
7 ..
8 .. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
9
10 .. _packed-rgb:
11
12 ******************
13 Packed RGB formats
14 ******************
15
16 Description
17 ===========
18
19 These formats are designed to match the pixel formats of typical PC
20 graphics frame buffers. They occupy 8, 16, 24 or 32 bits per pixel.
21 These are all packed-pixel formats, meaning all the data for a pixel lie
22 next to each other in memory.
23
24 .. raw:: latex
25
26     \begingroup
27     \tiny
28     \setlength{\tabcolsep}{2pt}
29
30 .. tabularcolumns:: |p{2.8cm}|p{2.0cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|
31
32
33 .. _rgb-formats:
34
35 .. flat-table:: Packed RGB Image Formats
36     :header-rows:  2
37     :stub-columns: 0
38
39     * - Identifier
40       - Code
41       - :cspan:`7` Byte 0 in memory
42       - :cspan:`7` Byte 1
43       - :cspan:`7` Byte 2
44       - :cspan:`7` Byte 3
45     * -
46       -
47       - 7
48       - 6
49       - 5
50       - 4
51       - 3
52       - 2
53       - 1
54       - 0
55
56       - 7
57       - 6
58       - 5
59       - 4
60       - 3
61       - 2
62       - 1
63       - 0
64
65       - 7
66       - 6
67       - 5
68       - 4
69       - 3
70       - 2
71       - 1
72       - 0
73
74       - 7
75       - 6
76       - 5
77       - 4
78       - 3
79       - 2
80       - 1
81       - 0
82     * .. _V4L2-PIX-FMT-RGB332:
83
84       - ``V4L2_PIX_FMT_RGB332``
85       - 'RGB1'
86
87       - r\ :sub:`2`
88       - r\ :sub:`1`
89       - r\ :sub:`0`
90       - g\ :sub:`2`
91       - g\ :sub:`1`
92       - g\ :sub:`0`
93       - b\ :sub:`1`
94       - b\ :sub:`0`
95       -
96     * .. _V4L2-PIX-FMT-ARGB444:
97
98       - ``V4L2_PIX_FMT_ARGB444``
99       - 'AR12'
100
101       - g\ :sub:`3`
102       - g\ :sub:`2`
103       - g\ :sub:`1`
104       - g\ :sub:`0`
105       - b\ :sub:`3`
106       - b\ :sub:`2`
107       - b\ :sub:`1`
108       - b\ :sub:`0`
109
110       - a\ :sub:`3`
111       - a\ :sub:`2`
112       - a\ :sub:`1`
113       - a\ :sub:`0`
114       - r\ :sub:`3`
115       - r\ :sub:`2`
116       - r\ :sub:`1`
117       - r\ :sub:`0`
118       -
119     * .. _V4L2-PIX-FMT-XRGB444:
120
121       - ``V4L2_PIX_FMT_XRGB444``
122       - 'XR12'
123
124       - g\ :sub:`3`
125       - g\ :sub:`2`
126       - g\ :sub:`1`
127       - g\ :sub:`0`
128       - b\ :sub:`3`
129       - b\ :sub:`2`
130       - b\ :sub:`1`
131       - b\ :sub:`0`
132
133       -
134       -
135       -
136       -
137       - r\ :sub:`3`
138       - r\ :sub:`2`
139       - r\ :sub:`1`
140       - r\ :sub:`0`
141       -
142     * .. _V4L2-PIX-FMT-RGBA444:
143
144       - ``V4L2_PIX_FMT_RGBA444``
145       - 'RA12'
146
147       - b\ :sub:`3`
148       - b\ :sub:`2`
149       - b\ :sub:`1`
150       - b\ :sub:`0`
151       - a\ :sub:`3`
152       - a\ :sub:`2`
153       - a\ :sub:`1`
154       - a\ :sub:`0`
155
156       - r\ :sub:`3`
157       - r\ :sub:`2`
158       - r\ :sub:`1`
159       - r\ :sub:`0`
160       - g\ :sub:`3`
161       - g\ :sub:`2`
162       - g\ :sub:`1`
163       - g\ :sub:`0`
164       -
165     * .. _V4L2-PIX-FMT-RGBX444:
166
167       - ``V4L2_PIX_FMT_RGBX444``
168       - 'RX12'
169
170       - b\ :sub:`3`
171       - b\ :sub:`2`
172       - b\ :sub:`1`
173       - b\ :sub:`0`
174       -
175       -
176       -
177       -
178
179       - r\ :sub:`3`
180       - r\ :sub:`2`
181       - r\ :sub:`1`
182       - r\ :sub:`0`
183       - g\ :sub:`3`
184       - g\ :sub:`2`
185       - g\ :sub:`1`
186       - g\ :sub:`0`
187       -
188     * .. _V4L2-PIX-FMT-ABGR444:
189
190       - ``V4L2_PIX_FMT_ABGR444``
191       - 'AB12'
192
193       - g\ :sub:`3`
194       - g\ :sub:`2`
195       - g\ :sub:`1`
196       - g\ :sub:`0`
197       - r\ :sub:`3`
198       - r\ :sub:`2`
199       - r\ :sub:`1`
200       - r\ :sub:`0`
201
202       - a\ :sub:`3`
203       - a\ :sub:`2`
204       - a\ :sub:`1`
205       - a\ :sub:`0`
206       - b\ :sub:`3`
207       - b\ :sub:`2`
208       - b\ :sub:`1`
209       - b\ :sub:`0`
210       -
211     * .. _V4L2-PIX-FMT-XBGR444:
212
213       - ``V4L2_PIX_FMT_XBGR444``
214       - 'XB12'
215
216       - g\ :sub:`3`
217       - g\ :sub:`2`
218       - g\ :sub:`1`
219       - g\ :sub:`0`
220       - r\ :sub:`3`
221       - r\ :sub:`2`
222       - r\ :sub:`1`
223       - r\ :sub:`0`
224
225       -
226       -
227       -
228       -
229       - b\ :sub:`3`
230       - b\ :sub:`2`
231       - b\ :sub:`1`
232       - b\ :sub:`0`
233       -
234     * .. _V4L2-PIX-FMT-BGRA444:
235
236       - ``V4L2_PIX_FMT_BGRA444``
237       - 'BA12'
238
239       - r\ :sub:`3`
240       - r\ :sub:`2`
241       - r\ :sub:`1`
242       - r\ :sub:`0`
243       - a\ :sub:`3`
244       - a\ :sub:`2`
245       - a\ :sub:`1`
246       - a\ :sub:`0`
247
248       - b\ :sub:`3`
249       - b\ :sub:`2`
250       - b\ :sub:`1`
251       - b\ :sub:`0`
252       - g\ :sub:`3`
253       - g\ :sub:`2`
254       - g\ :sub:`1`
255       - g\ :sub:`0`
256       -
257     * .. _V4L2-PIX-FMT-BGRX444:
258
259       - ``V4L2_PIX_FMT_BGRX444``
260       - 'BX12'
261
262       - r\ :sub:`3`
263       - r\ :sub:`2`
264       - r\ :sub:`1`
265       - r\ :sub:`0`
266       -
267       -
268       -
269       -
270
271       - b\ :sub:`3`
272       - b\ :sub:`2`
273       - b\ :sub:`1`
274       - b\ :sub:`0`
275       - g\ :sub:`3`
276       - g\ :sub:`2`
277       - g\ :sub:`1`
278       - g\ :sub:`0`
279       -
280     * .. _V4L2-PIX-FMT-ARGB555:
281
282       - ``V4L2_PIX_FMT_ARGB555``
283       - 'AR15'
284
285       - g\ :sub:`2`
286       - g\ :sub:`1`
287       - g\ :sub:`0`
288       - b\ :sub:`4`
289       - b\ :sub:`3`
290       - b\ :sub:`2`
291       - b\ :sub:`1`
292       - b\ :sub:`0`
293
294       - a
295       - r\ :sub:`4`
296       - r\ :sub:`3`
297       - r\ :sub:`2`
298       - r\ :sub:`1`
299       - r\ :sub:`0`
300       - g\ :sub:`4`
301       - g\ :sub:`3`
302       -
303     * .. _V4L2-PIX-FMT-XRGB555:
304
305       - ``V4L2_PIX_FMT_XRGB555``
306       - 'XR15'
307
308       - g\ :sub:`2`
309       - g\ :sub:`1`
310       - g\ :sub:`0`
311       - b\ :sub:`4`
312       - b\ :sub:`3`
313       - b\ :sub:`2`
314       - b\ :sub:`1`
315       - b\ :sub:`0`
316
317       -
318       - r\ :sub:`4`
319       - r\ :sub:`3`
320       - r\ :sub:`2`
321       - r\ :sub:`1`
322       - r\ :sub:`0`
323       - g\ :sub:`4`
324       - g\ :sub:`3`
325       -
326     * .. _V4L2-PIX-FMT-RGBA555:
327
328       - ``V4L2_PIX_FMT_RGBA555``
329       - 'RA15'
330
331       - g\ :sub:`1`
332       - g\ :sub:`0`
333       - b\ :sub:`4`
334       - b\ :sub:`3`
335       - b\ :sub:`2`
336       - b\ :sub:`1`
337       - b\ :sub:`0`
338       - a
339
340       - r\ :sub:`4`
341       - r\ :sub:`3`
342       - r\ :sub:`2`
343       - r\ :sub:`1`
344       - r\ :sub:`0`
345       - g\ :sub:`4`
346       - g\ :sub:`3`
347       - g\ :sub:`2`
348       -
349     * .. _V4L2-PIX-FMT-RGBX555:
350
351       - ``V4L2_PIX_FMT_RGBX555``
352       - 'RX15'
353
354       - g\ :sub:`1`
355       - g\ :sub:`0`
356       - b\ :sub:`4`
357       - b\ :sub:`3`
358       - b\ :sub:`2`
359       - b\ :sub:`1`
360       - b\ :sub:`0`
361       -
362
363       - r\ :sub:`4`
364       - r\ :sub:`3`
365       - r\ :sub:`2`
366       - r\ :sub:`1`
367       - r\ :sub:`0`
368       - g\ :sub:`4`
369       - g\ :sub:`3`
370       - g\ :sub:`2`
371       -
372     * .. _V4L2-PIX-FMT-ABGR555:
373
374       - ``V4L2_PIX_FMT_ABGR555``
375       - 'AB15'
376
377       - g\ :sub:`2`
378       - g\ :sub:`1`
379       - g\ :sub:`0`
380       - r\ :sub:`4`
381       - r\ :sub:`3`
382       - r\ :sub:`2`
383       - r\ :sub:`1`
384       - r\ :sub:`0`
385
386       - a
387       - b\ :sub:`4`
388       - b\ :sub:`3`
389       - b\ :sub:`2`
390       - b\ :sub:`1`
391       - b\ :sub:`0`
392       - g\ :sub:`4`
393       - g\ :sub:`3`
394       -
395     * .. _V4L2-PIX-FMT-XBGR555:
396
397       - ``V4L2_PIX_FMT_XBGR555``
398       - 'XB15'
399
400       - g\ :sub:`2`
401       - g\ :sub:`1`
402       - g\ :sub:`0`
403       - r\ :sub:`4`
404       - r\ :sub:`3`
405       - r\ :sub:`2`
406       - r\ :sub:`1`
407       - r\ :sub:`0`
408
409       -
410       - b\ :sub:`4`
411       - b\ :sub:`3`
412       - b\ :sub:`2`
413       - b\ :sub:`1`
414       - b\ :sub:`0`
415       - g\ :sub:`4`
416       - g\ :sub:`3`
417       -
418     * .. _V4L2-PIX-FMT-BGRA555:
419
420       - ``V4L2_PIX_FMT_BGRA555``
421       - 'BA15'
422
423       - g\ :sub:`1`
424       - g\ :sub:`0`
425       - r\ :sub:`4`
426       - r\ :sub:`3`
427       - r\ :sub:`2`
428       - r\ :sub:`1`
429       - r\ :sub:`0`
430       - a
431
432       - b\ :sub:`4`
433       - b\ :sub:`3`
434       - b\ :sub:`2`
435       - b\ :sub:`1`
436       - b\ :sub:`0`
437       - g\ :sub:`4`
438       - g\ :sub:`3`
439       - g\ :sub:`2`
440       -
441     * .. _V4L2-PIX-FMT-BGRX555:
442
443       - ``V4L2_PIX_FMT_BGRX555``
444       - 'BX15'
445
446       - g\ :sub:`1`
447       - g\ :sub:`0`
448       - r\ :sub:`4`
449       - r\ :sub:`3`
450       - r\ :sub:`2`
451       - r\ :sub:`1`
452       - r\ :sub:`0`
453       -
454
455       - b\ :sub:`4`
456       - b\ :sub:`3`
457       - b\ :sub:`2`
458       - b\ :sub:`1`
459       - b\ :sub:`0`
460       - g\ :sub:`4`
461       - g\ :sub:`3`
462       - g\ :sub:`2`
463       -
464     * .. _V4L2-PIX-FMT-RGB565:
465
466       - ``V4L2_PIX_FMT_RGB565``
467       - 'RGBP'
468
469       - g\ :sub:`2`
470       - g\ :sub:`1`
471       - g\ :sub:`0`
472       - b\ :sub:`4`
473       - b\ :sub:`3`
474       - b\ :sub:`2`
475       - b\ :sub:`1`
476       - b\ :sub:`0`
477
478       - r\ :sub:`4`
479       - r\ :sub:`3`
480       - r\ :sub:`2`
481       - r\ :sub:`1`
482       - r\ :sub:`0`
483       - g\ :sub:`5`
484       - g\ :sub:`4`
485       - g\ :sub:`3`
486       -
487     * .. _V4L2-PIX-FMT-ARGB555X:
488
489       - ``V4L2_PIX_FMT_ARGB555X``
490       - 'AR15' | (1 << 31)
491
492       - a
493       - r\ :sub:`4`
494       - r\ :sub:`3`
495       - r\ :sub:`2`
496       - r\ :sub:`1`
497       - r\ :sub:`0`
498       - g\ :sub:`4`
499       - g\ :sub:`3`
500
501       - g\ :sub:`2`
502       - g\ :sub:`1`
503       - g\ :sub:`0`
504       - b\ :sub:`4`
505       - b\ :sub:`3`
506       - b\ :sub:`2`
507       - b\ :sub:`1`
508       - b\ :sub:`0`
509       -
510     * .. _V4L2-PIX-FMT-XRGB555X:
511
512       - ``V4L2_PIX_FMT_XRGB555X``
513       - 'XR15' | (1 << 31)
514
515       -
516       - r\ :sub:`4`
517       - r\ :sub:`3`
518       - r\ :sub:`2`
519       - r\ :sub:`1`
520       - r\ :sub:`0`
521       - g\ :sub:`4`
522       - g\ :sub:`3`
523
524       - g\ :sub:`2`
525       - g\ :sub:`1`
526       - g\ :sub:`0`
527       - b\ :sub:`4`
528       - b\ :sub:`3`
529       - b\ :sub:`2`
530       - b\ :sub:`1`
531       - b\ :sub:`0`
532       -
533     * .. _V4L2-PIX-FMT-RGB565X:
534
535       - ``V4L2_PIX_FMT_RGB565X``
536       - 'RGBR'
537
538       - r\ :sub:`4`
539       - r\ :sub:`3`
540       - r\ :sub:`2`
541       - r\ :sub:`1`
542       - r\ :sub:`0`
543       - g\ :sub:`5`
544       - g\ :sub:`4`
545       - g\ :sub:`3`
546
547       - g\ :sub:`2`
548       - g\ :sub:`1`
549       - g\ :sub:`0`
550       - b\ :sub:`4`
551       - b\ :sub:`3`
552       - b\ :sub:`2`
553       - b\ :sub:`1`
554       - b\ :sub:`0`
555       -
556     * .. _V4L2-PIX-FMT-BGR24:
557
558       - ``V4L2_PIX_FMT_BGR24``
559       - 'BGR3'
560
561       - b\ :sub:`7`
562       - b\ :sub:`6`
563       - b\ :sub:`5`
564       - b\ :sub:`4`
565       - b\ :sub:`3`
566       - b\ :sub:`2`
567       - b\ :sub:`1`
568       - b\ :sub:`0`
569
570       - g\ :sub:`7`
571       - g\ :sub:`6`
572       - g\ :sub:`5`
573       - g\ :sub:`4`
574       - g\ :sub:`3`
575       - g\ :sub:`2`
576       - g\ :sub:`1`
577       - g\ :sub:`0`
578
579       - r\ :sub:`7`
580       - r\ :sub:`6`
581       - r\ :sub:`5`
582       - r\ :sub:`4`
583       - r\ :sub:`3`
584       - r\ :sub:`2`
585       - r\ :sub:`1`
586       - r\ :sub:`0`
587       -
588     * .. _V4L2-PIX-FMT-RGB24:
589
590       - ``V4L2_PIX_FMT_RGB24``
591       - 'RGB3'
592
593       - r\ :sub:`7`
594       - r\ :sub:`6`
595       - r\ :sub:`5`
596       - r\ :sub:`4`
597       - r\ :sub:`3`
598       - r\ :sub:`2`
599       - r\ :sub:`1`
600       - r\ :sub:`0`
601
602       - g\ :sub:`7`
603       - g\ :sub:`6`
604       - g\ :sub:`5`
605       - g\ :sub:`4`
606       - g\ :sub:`3`
607       - g\ :sub:`2`
608       - g\ :sub:`1`
609       - g\ :sub:`0`
610
611       - b\ :sub:`7`
612       - b\ :sub:`6`
613       - b\ :sub:`5`
614       - b\ :sub:`4`
615       - b\ :sub:`3`
616       - b\ :sub:`2`
617       - b\ :sub:`1`
618       - b\ :sub:`0`
619       -
620     * .. _V4L2-PIX-FMT-BGR666:
621
622       - ``V4L2_PIX_FMT_BGR666``
623       - 'BGRH'
624
625       - b\ :sub:`5`
626       - b\ :sub:`4`
627       - b\ :sub:`3`
628       - b\ :sub:`2`
629       - b\ :sub:`1`
630       - b\ :sub:`0`
631       - g\ :sub:`5`
632       - g\ :sub:`4`
633
634       - g\ :sub:`3`
635       - g\ :sub:`2`
636       - g\ :sub:`1`
637       - g\ :sub:`0`
638       - r\ :sub:`5`
639       - r\ :sub:`4`
640       - r\ :sub:`3`
641       - r\ :sub:`2`
642
643       - r\ :sub:`1`
644       - r\ :sub:`0`
645       -
646       -
647       -
648       -
649       -
650       -
651
652       -
653       -
654       -
655       -
656       -
657       -
658       -
659       -
660     * .. _V4L2-PIX-FMT-ABGR32:
661
662       - ``V4L2_PIX_FMT_ABGR32``
663       - 'AR24'
664
665       - b\ :sub:`7`
666       - b\ :sub:`6`
667       - b\ :sub:`5`
668       - b\ :sub:`4`
669       - b\ :sub:`3`
670       - b\ :sub:`2`
671       - b\ :sub:`1`
672       - b\ :sub:`0`
673
674       - g\ :sub:`7`
675       - g\ :sub:`6`
676       - g\ :sub:`5`
677       - g\ :sub:`4`
678       - g\ :sub:`3`
679       - g\ :sub:`2`
680       - g\ :sub:`1`
681       - g\ :sub:`0`
682
683       - r\ :sub:`7`
684       - r\ :sub:`6`
685       - r\ :sub:`5`
686       - r\ :sub:`4`
687       - r\ :sub:`3`
688       - r\ :sub:`2`
689       - r\ :sub:`1`
690       - r\ :sub:`0`
691
692       - a\ :sub:`7`
693       - a\ :sub:`6`
694       - a\ :sub:`5`
695       - a\ :sub:`4`
696       - a\ :sub:`3`
697       - a\ :sub:`2`
698       - a\ :sub:`1`
699       - a\ :sub:`0`
700     * .. _V4L2-PIX-FMT-XBGR32:
701
702       - ``V4L2_PIX_FMT_XBGR32``
703       - 'XR24'
704
705       - b\ :sub:`7`
706       - b\ :sub:`6`
707       - b\ :sub:`5`
708       - b\ :sub:`4`
709       - b\ :sub:`3`
710       - b\ :sub:`2`
711       - b\ :sub:`1`
712       - b\ :sub:`0`
713
714       - g\ :sub:`7`
715       - g\ :sub:`6`
716       - g\ :sub:`5`
717       - g\ :sub:`4`
718       - g\ :sub:`3`
719       - g\ :sub:`2`
720       - g\ :sub:`1`
721       - g\ :sub:`0`
722
723       - r\ :sub:`7`
724       - r\ :sub:`6`
725       - r\ :sub:`5`
726       - r\ :sub:`4`
727       - r\ :sub:`3`
728       - r\ :sub:`2`
729       - r\ :sub:`1`
730       - r\ :sub:`0`
731
732       -
733       -
734       -
735       -
736       -
737       -
738       -
739       -
740     * .. _V4L2-PIX-FMT-BGRA32:
741
742       - ``V4L2_PIX_FMT_BGRA32``
743       - 'RA24'
744
745       - a\ :sub:`7`
746       - a\ :sub:`6`
747       - a\ :sub:`5`
748       - a\ :sub:`4`
749       - a\ :sub:`3`
750       - a\ :sub:`2`
751       - a\ :sub:`1`
752       - a\ :sub:`0`
753
754       - b\ :sub:`7`
755       - b\ :sub:`6`
756       - b\ :sub:`5`
757       - b\ :sub:`4`
758       - b\ :sub:`3`
759       - b\ :sub:`2`
760       - b\ :sub:`1`
761       - b\ :sub:`0`
762
763       - g\ :sub:`7`
764       - g\ :sub:`6`
765       - g\ :sub:`5`
766       - g\ :sub:`4`
767       - g\ :sub:`3`
768       - g\ :sub:`2`
769       - g\ :sub:`1`
770       - g\ :sub:`0`
771
772       - r\ :sub:`7`
773       - r\ :sub:`6`
774       - r\ :sub:`5`
775       - r\ :sub:`4`
776       - r\ :sub:`3`
777       - r\ :sub:`2`
778       - r\ :sub:`1`
779       - r\ :sub:`0`
780     * .. _V4L2-PIX-FMT-BGRX32:
781
782       - ``V4L2_PIX_FMT_BGRX32``
783       - 'RX24'
784
785       -
786       -
787       -
788       -
789       -
790       -
791       -
792       -
793
794       - b\ :sub:`7`
795       - b\ :sub:`6`
796       - b\ :sub:`5`
797       - b\ :sub:`4`
798       - b\ :sub:`3`
799       - b\ :sub:`2`
800       - b\ :sub:`1`
801       - b\ :sub:`0`
802
803       - g\ :sub:`7`
804       - g\ :sub:`6`
805       - g\ :sub:`5`
806       - g\ :sub:`4`
807       - g\ :sub:`3`
808       - g\ :sub:`2`
809       - g\ :sub:`1`
810       - g\ :sub:`0`
811
812       - r\ :sub:`7`
813       - r\ :sub:`6`
814       - r\ :sub:`5`
815       - r\ :sub:`4`
816       - r\ :sub:`3`
817       - r\ :sub:`2`
818       - r\ :sub:`1`
819       - r\ :sub:`0`
820     * .. _V4L2-PIX-FMT-RGBA32:
821
822       - ``V4L2_PIX_FMT_RGBA32``
823       - 'AB24'
824
825       - r\ :sub:`7`
826       - r\ :sub:`6`
827       - r\ :sub:`5`
828       - r\ :sub:`4`
829       - r\ :sub:`3`
830       - r\ :sub:`2`
831       - r\ :sub:`1`
832       - r\ :sub:`0`
833
834       - g\ :sub:`7`
835       - g\ :sub:`6`
836       - g\ :sub:`5`
837       - g\ :sub:`4`
838       - g\ :sub:`3`
839       - g\ :sub:`2`
840       - g\ :sub:`1`
841       - g\ :sub:`0`
842
843       - b\ :sub:`7`
844       - b\ :sub:`6`
845       - b\ :sub:`5`
846       - b\ :sub:`4`
847       - b\ :sub:`3`
848       - b\ :sub:`2`
849       - b\ :sub:`1`
850       - b\ :sub:`0`
851
852       - a\ :sub:`7`
853       - a\ :sub:`6`
854       - a\ :sub:`5`
855       - a\ :sub:`4`
856       - a\ :sub:`3`
857       - a\ :sub:`2`
858       - a\ :sub:`1`
859       - a\ :sub:`0`
860     * .. _V4L2-PIX-FMT-RGBX32:
861
862       - ``V4L2_PIX_FMT_RGBX32``
863       - 'XB24'
864
865       - r\ :sub:`7`
866       - r\ :sub:`6`
867       - r\ :sub:`5`
868       - r\ :sub:`4`
869       - r\ :sub:`3`
870       - r\ :sub:`2`
871       - r\ :sub:`1`
872       - r\ :sub:`0`
873
874       - g\ :sub:`7`
875       - g\ :sub:`6`
876       - g\ :sub:`5`
877       - g\ :sub:`4`
878       - g\ :sub:`3`
879       - g\ :sub:`2`
880       - g\ :sub:`1`
881       - g\ :sub:`0`
882
883       - b\ :sub:`7`
884       - b\ :sub:`6`
885       - b\ :sub:`5`
886       - b\ :sub:`4`
887       - b\ :sub:`3`
888       - b\ :sub:`2`
889       - b\ :sub:`1`
890       - b\ :sub:`0`
891
892       -
893       -
894       -
895       -
896       -
897       -
898       -
899       -
900     * .. _V4L2-PIX-FMT-ARGB32:
901
902       - ``V4L2_PIX_FMT_ARGB32``
903       - 'BA24'
904
905       - a\ :sub:`7`
906       - a\ :sub:`6`
907       - a\ :sub:`5`
908       - a\ :sub:`4`
909       - a\ :sub:`3`
910       - a\ :sub:`2`
911       - a\ :sub:`1`
912       - a\ :sub:`0`
913
914       - r\ :sub:`7`
915       - r\ :sub:`6`
916       - r\ :sub:`5`
917       - r\ :sub:`4`
918       - r\ :sub:`3`
919       - r\ :sub:`2`
920       - r\ :sub:`1`
921       - r\ :sub:`0`
922
923       - g\ :sub:`7`
924       - g\ :sub:`6`
925       - g\ :sub:`5`
926       - g\ :sub:`4`
927       - g\ :sub:`3`
928       - g\ :sub:`2`
929       - g\ :sub:`1`
930       - g\ :sub:`0`
931
932       - b\ :sub:`7`
933       - b\ :sub:`6`
934       - b\ :sub:`5`
935       - b\ :sub:`4`
936       - b\ :sub:`3`
937       - b\ :sub:`2`
938       - b\ :sub:`1`
939       - b\ :sub:`0`
940     * .. _V4L2-PIX-FMT-XRGB32:
941
942       - ``V4L2_PIX_FMT_XRGB32``
943       - 'BX24'
944
945       -
946       -
947       -
948       -
949       -
950       -
951       -
952       -
953
954       - r\ :sub:`7`
955       - r\ :sub:`6`
956       - r\ :sub:`5`
957       - r\ :sub:`4`
958       - r\ :sub:`3`
959       - r\ :sub:`2`
960       - r\ :sub:`1`
961       - r\ :sub:`0`
962
963       - g\ :sub:`7`
964       - g\ :sub:`6`
965       - g\ :sub:`5`
966       - g\ :sub:`4`
967       - g\ :sub:`3`
968       - g\ :sub:`2`
969       - g\ :sub:`1`
970       - g\ :sub:`0`
971
972       - b\ :sub:`7`
973       - b\ :sub:`6`
974       - b\ :sub:`5`
975       - b\ :sub:`4`
976       - b\ :sub:`3`
977       - b\ :sub:`2`
978       - b\ :sub:`1`
979       - b\ :sub:`0`
980
981 .. raw:: latex
982
983     \endgroup
984
985 .. note:: Bit 7 is the most significant bit.
986
987 The usage and value of the alpha bits (a) in the ARGB and ABGR formats
988 (collectively referred to as alpha formats) depend on the device type
989 and hardware operation. :ref:`Capture <capture>` devices (including
990 capture queues of mem-to-mem devices) fill the alpha component in
991 memory. When the device outputs an alpha channel the alpha component
992 will have a meaningful value. Otherwise, when the device doesn't output
993 an alpha channel but can set the alpha bit to a user-configurable value,
994 the :ref:`V4L2_CID_ALPHA_COMPONENT <v4l2-alpha-component>` control
995 is used to specify that alpha value, and the alpha component of all
996 pixels will be set to the value specified by that control. Otherwise a
997 corresponding format without an alpha component (XRGB or XBGR) must be
998 used instead of an alpha format.
999
1000 :ref:`Output <output>` devices (including output queues of mem-to-mem
1001 devices and :ref:`video output overlay <osd>` devices) read the alpha
1002 component from memory. When the device processes the alpha channel the
1003 alpha component must be filled with meaningful values by applications.
1004 Otherwise a corresponding format without an alpha component (XRGB or
1005 XBGR) must be used instead of an alpha format.
1006
1007 The XRGB and XBGR formats contain undefined bits (-). Applications,
1008 devices and drivers must ignore those bits, for both
1009 :ref:`capture` and :ref:`output` devices.
1010
1011 **Byte Order.**
1012 Each cell is one byte.
1013
1014
1015 .. raw:: latex
1016
1017     \small
1018
1019 .. tabularcolumns:: |p{3.1cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|
1020
1021 .. flat-table:: RGB byte order
1022     :header-rows:  0
1023     :stub-columns: 0
1024     :widths:       11 3 3 3 3 3 3 3 3 3 3 3 3
1025
1026     * - start + 0:
1027       - B\ :sub:`00`
1028       - G\ :sub:`00`
1029       - R\ :sub:`00`
1030       - B\ :sub:`01`
1031       - G\ :sub:`01`
1032       - R\ :sub:`01`
1033       - B\ :sub:`02`
1034       - G\ :sub:`02`
1035       - R\ :sub:`02`
1036       - B\ :sub:`03`
1037       - G\ :sub:`03`
1038       - R\ :sub:`03`
1039     * - start + 12:
1040       - B\ :sub:`10`
1041       - G\ :sub:`10`
1042       - R\ :sub:`10`
1043       - B\ :sub:`11`
1044       - G\ :sub:`11`
1045       - R\ :sub:`11`
1046       - B\ :sub:`12`
1047       - G\ :sub:`12`
1048       - R\ :sub:`12`
1049       - B\ :sub:`13`
1050       - G\ :sub:`13`
1051       - R\ :sub:`13`
1052     * - start + 24:
1053       - B\ :sub:`20`
1054       - G\ :sub:`20`
1055       - R\ :sub:`20`
1056       - B\ :sub:`21`
1057       - G\ :sub:`21`
1058       - R\ :sub:`21`
1059       - B\ :sub:`22`
1060       - G\ :sub:`22`
1061       - R\ :sub:`22`
1062       - B\ :sub:`23`
1063       - G\ :sub:`23`
1064       - R\ :sub:`23`
1065     * - start + 36:
1066       - B\ :sub:`30`
1067       - G\ :sub:`30`
1068       - R\ :sub:`30`
1069       - B\ :sub:`31`
1070       - G\ :sub:`31`
1071       - R\ :sub:`31`
1072       - B\ :sub:`32`
1073       - G\ :sub:`32`
1074       - R\ :sub:`32`
1075       - B\ :sub:`33`
1076       - G\ :sub:`33`
1077       - R\ :sub:`33`
1078
1079 .. raw:: latex
1080
1081     \normalsize
1082
1083 Formats defined in :ref:`rgb-formats-deprecated` are deprecated and
1084 must not be used by new drivers. They are documented here for reference.
1085 The meaning of their alpha bits ``(a)`` are ill-defined and interpreted as in
1086 either the corresponding ARGB or XRGB format, depending on the driver.
1087
1088
1089 .. raw:: latex
1090
1091     \begingroup
1092     \tiny
1093     \setlength{\tabcolsep}{2pt}
1094
1095 .. tabularcolumns:: |p{2.6cm}|p{0.70cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|p{0.22cm}|
1096
1097 .. _rgb-formats-deprecated:
1098
1099 .. flat-table:: Deprecated Packed RGB Image Formats
1100     :header-rows:  2
1101     :stub-columns: 0
1102
1103     * - Identifier
1104       - Code
1105       - :cspan:`7` Byte 0 in memory
1106
1107       - :cspan:`7` Byte 1
1108
1109       - :cspan:`7` Byte 2
1110
1111       - :cspan:`7` Byte 3
1112     * -
1113       -
1114       - 7
1115       - 6
1116       - 5
1117       - 4
1118       - 3
1119       - 2
1120       - 1
1121       - 0
1122
1123       - 7
1124       - 6
1125       - 5
1126       - 4
1127       - 3
1128       - 2
1129       - 1
1130       - 0
1131
1132       - 7
1133       - 6
1134       - 5
1135       - 4
1136       - 3
1137       - 2
1138       - 1
1139       - 0
1140
1141       - 7
1142       - 6
1143       - 5
1144       - 4
1145       - 3
1146       - 2
1147       - 1
1148       - 0
1149     * .. _V4L2-PIX-FMT-RGB444:
1150
1151       - ``V4L2_PIX_FMT_RGB444``
1152       - 'R444'
1153
1154       - g\ :sub:`3`
1155       - g\ :sub:`2`
1156       - g\ :sub:`1`
1157       - g\ :sub:`0`
1158       - b\ :sub:`3`
1159       - b\ :sub:`2`
1160       - b\ :sub:`1`
1161       - b\ :sub:`0`
1162
1163       - a\ :sub:`3`
1164       - a\ :sub:`2`
1165       - a\ :sub:`1`
1166       - a\ :sub:`0`
1167       - r\ :sub:`3`
1168       - r\ :sub:`2`
1169       - r\ :sub:`1`
1170       - r\ :sub:`0`
1171       -
1172     * .. _V4L2-PIX-FMT-RGB555:
1173
1174       - ``V4L2_PIX_FMT_RGB555``
1175       - 'RGBO'
1176
1177       - g\ :sub:`2`
1178       - g\ :sub:`1`
1179       - g\ :sub:`0`
1180       - b\ :sub:`4`
1181       - b\ :sub:`3`
1182       - b\ :sub:`2`
1183       - b\ :sub:`1`
1184       - b\ :sub:`0`
1185
1186       - a
1187       - r\ :sub:`4`
1188       - r\ :sub:`3`
1189       - r\ :sub:`2`
1190       - r\ :sub:`1`
1191       - r\ :sub:`0`
1192       - g\ :sub:`4`
1193       - g\ :sub:`3`
1194       -
1195     * .. _V4L2-PIX-FMT-RGB555X:
1196
1197       - ``V4L2_PIX_FMT_RGB555X``
1198       - 'RGBQ'
1199
1200       - a
1201       - r\ :sub:`4`
1202       - r\ :sub:`3`
1203       - r\ :sub:`2`
1204       - r\ :sub:`1`
1205       - r\ :sub:`0`
1206       - g\ :sub:`4`
1207       - g\ :sub:`3`
1208
1209       - g\ :sub:`2`
1210       - g\ :sub:`1`
1211       - g\ :sub:`0`
1212       - b\ :sub:`4`
1213       - b\ :sub:`3`
1214       - b\ :sub:`2`
1215       - b\ :sub:`1`
1216       - b\ :sub:`0`
1217       -
1218     * .. _V4L2-PIX-FMT-BGR32:
1219
1220       - ``V4L2_PIX_FMT_BGR32``
1221       - 'BGR4'
1222
1223       - b\ :sub:`7`
1224       - b\ :sub:`6`
1225       - b\ :sub:`5`
1226       - b\ :sub:`4`
1227       - b\ :sub:`3`
1228       - b\ :sub:`2`
1229       - b\ :sub:`1`
1230       - b\ :sub:`0`
1231
1232       - g\ :sub:`7`
1233       - g\ :sub:`6`
1234       - g\ :sub:`5`
1235       - g\ :sub:`4`
1236       - g\ :sub:`3`
1237       - g\ :sub:`2`
1238       - g\ :sub:`1`
1239       - g\ :sub:`0`
1240
1241       - r\ :sub:`7`
1242       - r\ :sub:`6`
1243       - r\ :sub:`5`
1244       - r\ :sub:`4`
1245       - r\ :sub:`3`
1246       - r\ :sub:`2`
1247       - r\ :sub:`1`
1248       - r\ :sub:`0`
1249
1250       - a\ :sub:`7`
1251       - a\ :sub:`6`
1252       - a\ :sub:`5`
1253       - a\ :sub:`4`
1254       - a\ :sub:`3`
1255       - a\ :sub:`2`
1256       - a\ :sub:`1`
1257       - a\ :sub:`0`
1258     * .. _V4L2-PIX-FMT-RGB32:
1259
1260       - ``V4L2_PIX_FMT_RGB32``
1261       - 'RGB4'
1262
1263       - a\ :sub:`7`
1264       - a\ :sub:`6`
1265       - a\ :sub:`5`
1266       - a\ :sub:`4`
1267       - a\ :sub:`3`
1268       - a\ :sub:`2`
1269       - a\ :sub:`1`
1270       - a\ :sub:`0`
1271
1272       - r\ :sub:`7`
1273       - r\ :sub:`6`
1274       - r\ :sub:`5`
1275       - r\ :sub:`4`
1276       - r\ :sub:`3`
1277       - r\ :sub:`2`
1278       - r\ :sub:`1`
1279       - r\ :sub:`0`
1280
1281       - g\ :sub:`7`
1282       - g\ :sub:`6`
1283       - g\ :sub:`5`
1284       - g\ :sub:`4`
1285       - g\ :sub:`3`
1286       - g\ :sub:`2`
1287       - g\ :sub:`1`
1288       - g\ :sub:`0`
1289
1290       - b\ :sub:`7`
1291       - b\ :sub:`6`
1292       - b\ :sub:`5`
1293       - b\ :sub:`4`
1294       - b\ :sub:`3`
1295       - b\ :sub:`2`
1296       - b\ :sub:`1`
1297       - b\ :sub:`0`
1298
1299 .. raw:: latex
1300
1301     \endgroup
1302
1303 A test utility to determine which RGB formats a driver actually supports
1304 is available from the LinuxTV v4l-dvb repository. See
1305 `https://linuxtv.org/repo/ <https://linuxtv.org/repo/>`__ for access
1306 instructions.