]> asedeno.scripts.mit.edu Git - linux.git/blob - Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst
media: v4l: Add definitions for missing 16-bit RGB4444 formats
[linux.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-RGB565:
327
328       - ``V4L2_PIX_FMT_RGB565``
329       - 'RGBP'
330
331       - g\ :sub:`2`
332       - g\ :sub:`1`
333       - g\ :sub:`0`
334       - b\ :sub:`4`
335       - b\ :sub:`3`
336       - b\ :sub:`2`
337       - b\ :sub:`1`
338       - b\ :sub:`0`
339
340       - r\ :sub:`4`
341       - r\ :sub:`3`
342       - r\ :sub:`2`
343       - r\ :sub:`1`
344       - r\ :sub:`0`
345       - g\ :sub:`5`
346       - g\ :sub:`4`
347       - g\ :sub:`3`
348       -
349     * .. _V4L2-PIX-FMT-ARGB555X:
350
351       - ``V4L2_PIX_FMT_ARGB555X``
352       - 'AR15' | (1 << 31)
353
354       - a
355       - r\ :sub:`4`
356       - r\ :sub:`3`
357       - r\ :sub:`2`
358       - r\ :sub:`1`
359       - r\ :sub:`0`
360       - g\ :sub:`4`
361       - g\ :sub:`3`
362
363       - g\ :sub:`2`
364       - g\ :sub:`1`
365       - g\ :sub:`0`
366       - b\ :sub:`4`
367       - b\ :sub:`3`
368       - b\ :sub:`2`
369       - b\ :sub:`1`
370       - b\ :sub:`0`
371       -
372     * .. _V4L2-PIX-FMT-XRGB555X:
373
374       - ``V4L2_PIX_FMT_XRGB555X``
375       - 'XR15' | (1 << 31)
376
377       -
378       - r\ :sub:`4`
379       - r\ :sub:`3`
380       - r\ :sub:`2`
381       - r\ :sub:`1`
382       - r\ :sub:`0`
383       - g\ :sub:`4`
384       - g\ :sub:`3`
385
386       - g\ :sub:`2`
387       - g\ :sub:`1`
388       - g\ :sub:`0`
389       - b\ :sub:`4`
390       - b\ :sub:`3`
391       - b\ :sub:`2`
392       - b\ :sub:`1`
393       - b\ :sub:`0`
394       -
395     * .. _V4L2-PIX-FMT-RGB565X:
396
397       - ``V4L2_PIX_FMT_RGB565X``
398       - 'RGBR'
399
400       - r\ :sub:`4`
401       - r\ :sub:`3`
402       - r\ :sub:`2`
403       - r\ :sub:`1`
404       - r\ :sub:`0`
405       - g\ :sub:`5`
406       - g\ :sub:`4`
407       - g\ :sub:`3`
408
409       - g\ :sub:`2`
410       - g\ :sub:`1`
411       - g\ :sub:`0`
412       - b\ :sub:`4`
413       - b\ :sub:`3`
414       - b\ :sub:`2`
415       - b\ :sub:`1`
416       - b\ :sub:`0`
417       -
418     * .. _V4L2-PIX-FMT-BGR24:
419
420       - ``V4L2_PIX_FMT_BGR24``
421       - 'BGR3'
422
423       - b\ :sub:`7`
424       - b\ :sub:`6`
425       - b\ :sub:`5`
426       - b\ :sub:`4`
427       - b\ :sub:`3`
428       - b\ :sub:`2`
429       - b\ :sub:`1`
430       - b\ :sub:`0`
431
432       - g\ :sub:`7`
433       - g\ :sub:`6`
434       - g\ :sub:`5`
435       - g\ :sub:`4`
436       - g\ :sub:`3`
437       - g\ :sub:`2`
438       - g\ :sub:`1`
439       - g\ :sub:`0`
440
441       - r\ :sub:`7`
442       - r\ :sub:`6`
443       - r\ :sub:`5`
444       - r\ :sub:`4`
445       - r\ :sub:`3`
446       - r\ :sub:`2`
447       - r\ :sub:`1`
448       - r\ :sub:`0`
449       -
450     * .. _V4L2-PIX-FMT-RGB24:
451
452       - ``V4L2_PIX_FMT_RGB24``
453       - 'RGB3'
454
455       - r\ :sub:`7`
456       - r\ :sub:`6`
457       - r\ :sub:`5`
458       - r\ :sub:`4`
459       - r\ :sub:`3`
460       - r\ :sub:`2`
461       - r\ :sub:`1`
462       - r\ :sub:`0`
463
464       - g\ :sub:`7`
465       - g\ :sub:`6`
466       - g\ :sub:`5`
467       - g\ :sub:`4`
468       - g\ :sub:`3`
469       - g\ :sub:`2`
470       - g\ :sub:`1`
471       - g\ :sub:`0`
472
473       - b\ :sub:`7`
474       - b\ :sub:`6`
475       - b\ :sub:`5`
476       - b\ :sub:`4`
477       - b\ :sub:`3`
478       - b\ :sub:`2`
479       - b\ :sub:`1`
480       - b\ :sub:`0`
481       -
482     * .. _V4L2-PIX-FMT-BGR666:
483
484       - ``V4L2_PIX_FMT_BGR666``
485       - 'BGRH'
486
487       - b\ :sub:`5`
488       - b\ :sub:`4`
489       - b\ :sub:`3`
490       - b\ :sub:`2`
491       - b\ :sub:`1`
492       - b\ :sub:`0`
493       - g\ :sub:`5`
494       - g\ :sub:`4`
495
496       - g\ :sub:`3`
497       - g\ :sub:`2`
498       - g\ :sub:`1`
499       - g\ :sub:`0`
500       - r\ :sub:`5`
501       - r\ :sub:`4`
502       - r\ :sub:`3`
503       - r\ :sub:`2`
504
505       - r\ :sub:`1`
506       - r\ :sub:`0`
507       -
508       -
509       -
510       -
511       -
512       -
513
514       -
515       -
516       -
517       -
518       -
519       -
520       -
521       -
522     * .. _V4L2-PIX-FMT-ABGR32:
523
524       - ``V4L2_PIX_FMT_ABGR32``
525       - 'AR24'
526
527       - b\ :sub:`7`
528       - b\ :sub:`6`
529       - b\ :sub:`5`
530       - b\ :sub:`4`
531       - b\ :sub:`3`
532       - b\ :sub:`2`
533       - b\ :sub:`1`
534       - b\ :sub:`0`
535
536       - g\ :sub:`7`
537       - g\ :sub:`6`
538       - g\ :sub:`5`
539       - g\ :sub:`4`
540       - g\ :sub:`3`
541       - g\ :sub:`2`
542       - g\ :sub:`1`
543       - g\ :sub:`0`
544
545       - r\ :sub:`7`
546       - r\ :sub:`6`
547       - r\ :sub:`5`
548       - r\ :sub:`4`
549       - r\ :sub:`3`
550       - r\ :sub:`2`
551       - r\ :sub:`1`
552       - r\ :sub:`0`
553
554       - a\ :sub:`7`
555       - a\ :sub:`6`
556       - a\ :sub:`5`
557       - a\ :sub:`4`
558       - a\ :sub:`3`
559       - a\ :sub:`2`
560       - a\ :sub:`1`
561       - a\ :sub:`0`
562     * .. _V4L2-PIX-FMT-XBGR32:
563
564       - ``V4L2_PIX_FMT_XBGR32``
565       - 'XR24'
566
567       - b\ :sub:`7`
568       - b\ :sub:`6`
569       - b\ :sub:`5`
570       - b\ :sub:`4`
571       - b\ :sub:`3`
572       - b\ :sub:`2`
573       - b\ :sub:`1`
574       - b\ :sub:`0`
575
576       - g\ :sub:`7`
577       - g\ :sub:`6`
578       - g\ :sub:`5`
579       - g\ :sub:`4`
580       - g\ :sub:`3`
581       - g\ :sub:`2`
582       - g\ :sub:`1`
583       - g\ :sub:`0`
584
585       - r\ :sub:`7`
586       - r\ :sub:`6`
587       - r\ :sub:`5`
588       - r\ :sub:`4`
589       - r\ :sub:`3`
590       - r\ :sub:`2`
591       - r\ :sub:`1`
592       - r\ :sub:`0`
593
594       -
595       -
596       -
597       -
598       -
599       -
600       -
601       -
602     * .. _V4L2-PIX-FMT-BGRA32:
603
604       - ``V4L2_PIX_FMT_BGRA32``
605       - 'RA24'
606
607       - a\ :sub:`7`
608       - a\ :sub:`6`
609       - a\ :sub:`5`
610       - a\ :sub:`4`
611       - a\ :sub:`3`
612       - a\ :sub:`2`
613       - a\ :sub:`1`
614       - a\ :sub:`0`
615
616       - b\ :sub:`7`
617       - b\ :sub:`6`
618       - b\ :sub:`5`
619       - b\ :sub:`4`
620       - b\ :sub:`3`
621       - b\ :sub:`2`
622       - b\ :sub:`1`
623       - b\ :sub:`0`
624
625       - g\ :sub:`7`
626       - g\ :sub:`6`
627       - g\ :sub:`5`
628       - g\ :sub:`4`
629       - g\ :sub:`3`
630       - g\ :sub:`2`
631       - g\ :sub:`1`
632       - g\ :sub:`0`
633
634       - r\ :sub:`7`
635       - r\ :sub:`6`
636       - r\ :sub:`5`
637       - r\ :sub:`4`
638       - r\ :sub:`3`
639       - r\ :sub:`2`
640       - r\ :sub:`1`
641       - r\ :sub:`0`
642     * .. _V4L2-PIX-FMT-BGRX32:
643
644       - ``V4L2_PIX_FMT_BGRX32``
645       - 'RX24'
646
647       -
648       -
649       -
650       -
651       -
652       -
653       -
654       -
655
656       - b\ :sub:`7`
657       - b\ :sub:`6`
658       - b\ :sub:`5`
659       - b\ :sub:`4`
660       - b\ :sub:`3`
661       - b\ :sub:`2`
662       - b\ :sub:`1`
663       - b\ :sub:`0`
664
665       - g\ :sub:`7`
666       - g\ :sub:`6`
667       - g\ :sub:`5`
668       - g\ :sub:`4`
669       - g\ :sub:`3`
670       - g\ :sub:`2`
671       - g\ :sub:`1`
672       - g\ :sub:`0`
673
674       - r\ :sub:`7`
675       - r\ :sub:`6`
676       - r\ :sub:`5`
677       - r\ :sub:`4`
678       - r\ :sub:`3`
679       - r\ :sub:`2`
680       - r\ :sub:`1`
681       - r\ :sub:`0`
682     * .. _V4L2-PIX-FMT-RGBA32:
683
684       - ``V4L2_PIX_FMT_RGBA32``
685       - 'AB24'
686
687       - r\ :sub:`7`
688       - r\ :sub:`6`
689       - r\ :sub:`5`
690       - r\ :sub:`4`
691       - r\ :sub:`3`
692       - r\ :sub:`2`
693       - r\ :sub:`1`
694       - r\ :sub:`0`
695
696       - g\ :sub:`7`
697       - g\ :sub:`6`
698       - g\ :sub:`5`
699       - g\ :sub:`4`
700       - g\ :sub:`3`
701       - g\ :sub:`2`
702       - g\ :sub:`1`
703       - g\ :sub:`0`
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       - a\ :sub:`7`
715       - a\ :sub:`6`
716       - a\ :sub:`5`
717       - a\ :sub:`4`
718       - a\ :sub:`3`
719       - a\ :sub:`2`
720       - a\ :sub:`1`
721       - a\ :sub:`0`
722     * .. _V4L2-PIX-FMT-RGBX32:
723
724       - ``V4L2_PIX_FMT_RGBX32``
725       - 'XB24'
726
727       - r\ :sub:`7`
728       - r\ :sub:`6`
729       - r\ :sub:`5`
730       - r\ :sub:`4`
731       - r\ :sub:`3`
732       - r\ :sub:`2`
733       - r\ :sub:`1`
734       - r\ :sub:`0`
735
736       - g\ :sub:`7`
737       - g\ :sub:`6`
738       - g\ :sub:`5`
739       - g\ :sub:`4`
740       - g\ :sub:`3`
741       - g\ :sub:`2`
742       - g\ :sub:`1`
743       - g\ :sub:`0`
744
745       - b\ :sub:`7`
746       - b\ :sub:`6`
747       - b\ :sub:`5`
748       - b\ :sub:`4`
749       - b\ :sub:`3`
750       - b\ :sub:`2`
751       - b\ :sub:`1`
752       - b\ :sub:`0`
753
754       -
755       -
756       -
757       -
758       -
759       -
760       -
761       -
762     * .. _V4L2-PIX-FMT-ARGB32:
763
764       - ``V4L2_PIX_FMT_ARGB32``
765       - 'BA24'
766
767       - a\ :sub:`7`
768       - a\ :sub:`6`
769       - a\ :sub:`5`
770       - a\ :sub:`4`
771       - a\ :sub:`3`
772       - a\ :sub:`2`
773       - a\ :sub:`1`
774       - a\ :sub:`0`
775
776       - r\ :sub:`7`
777       - r\ :sub:`6`
778       - r\ :sub:`5`
779       - r\ :sub:`4`
780       - r\ :sub:`3`
781       - r\ :sub:`2`
782       - r\ :sub:`1`
783       - r\ :sub:`0`
784
785       - g\ :sub:`7`
786       - g\ :sub:`6`
787       - g\ :sub:`5`
788       - g\ :sub:`4`
789       - g\ :sub:`3`
790       - g\ :sub:`2`
791       - g\ :sub:`1`
792       - g\ :sub:`0`
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     * .. _V4L2-PIX-FMT-XRGB32:
803
804       - ``V4L2_PIX_FMT_XRGB32``
805       - 'BX24'
806
807       -
808       -
809       -
810       -
811       -
812       -
813       -
814       -
815
816       - r\ :sub:`7`
817       - r\ :sub:`6`
818       - r\ :sub:`5`
819       - r\ :sub:`4`
820       - r\ :sub:`3`
821       - r\ :sub:`2`
822       - r\ :sub:`1`
823       - r\ :sub:`0`
824
825       - g\ :sub:`7`
826       - g\ :sub:`6`
827       - g\ :sub:`5`
828       - g\ :sub:`4`
829       - g\ :sub:`3`
830       - g\ :sub:`2`
831       - g\ :sub:`1`
832       - g\ :sub:`0`
833
834       - b\ :sub:`7`
835       - b\ :sub:`6`
836       - b\ :sub:`5`
837       - b\ :sub:`4`
838       - b\ :sub:`3`
839       - b\ :sub:`2`
840       - b\ :sub:`1`
841       - b\ :sub:`0`
842
843 .. raw:: latex
844
845     \endgroup
846
847 .. note:: Bit 7 is the most significant bit.
848
849 The usage and value of the alpha bits (a) in the ARGB and ABGR formats
850 (collectively referred to as alpha formats) depend on the device type
851 and hardware operation. :ref:`Capture <capture>` devices (including
852 capture queues of mem-to-mem devices) fill the alpha component in
853 memory. When the device outputs an alpha channel the alpha component
854 will have a meaningful value. Otherwise, when the device doesn't output
855 an alpha channel but can set the alpha bit to a user-configurable value,
856 the :ref:`V4L2_CID_ALPHA_COMPONENT <v4l2-alpha-component>` control
857 is used to specify that alpha value, and the alpha component of all
858 pixels will be set to the value specified by that control. Otherwise a
859 corresponding format without an alpha component (XRGB or XBGR) must be
860 used instead of an alpha format.
861
862 :ref:`Output <output>` devices (including output queues of mem-to-mem
863 devices and :ref:`video output overlay <osd>` devices) read the alpha
864 component from memory. When the device processes the alpha channel the
865 alpha component must be filled with meaningful values by applications.
866 Otherwise a corresponding format without an alpha component (XRGB or
867 XBGR) must be used instead of an alpha format.
868
869 The XRGB and XBGR formats contain undefined bits (-). Applications,
870 devices and drivers must ignore those bits, for both
871 :ref:`capture` and :ref:`output` devices.
872
873 **Byte Order.**
874 Each cell is one byte.
875
876
877 .. raw:: latex
878
879     \small
880
881 .. 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}|
882
883 .. flat-table:: RGB byte order
884     :header-rows:  0
885     :stub-columns: 0
886     :widths:       11 3 3 3 3 3 3 3 3 3 3 3 3
887
888     * - start + 0:
889       - B\ :sub:`00`
890       - G\ :sub:`00`
891       - R\ :sub:`00`
892       - B\ :sub:`01`
893       - G\ :sub:`01`
894       - R\ :sub:`01`
895       - B\ :sub:`02`
896       - G\ :sub:`02`
897       - R\ :sub:`02`
898       - B\ :sub:`03`
899       - G\ :sub:`03`
900       - R\ :sub:`03`
901     * - start + 12:
902       - B\ :sub:`10`
903       - G\ :sub:`10`
904       - R\ :sub:`10`
905       - B\ :sub:`11`
906       - G\ :sub:`11`
907       - R\ :sub:`11`
908       - B\ :sub:`12`
909       - G\ :sub:`12`
910       - R\ :sub:`12`
911       - B\ :sub:`13`
912       - G\ :sub:`13`
913       - R\ :sub:`13`
914     * - start + 24:
915       - B\ :sub:`20`
916       - G\ :sub:`20`
917       - R\ :sub:`20`
918       - B\ :sub:`21`
919       - G\ :sub:`21`
920       - R\ :sub:`21`
921       - B\ :sub:`22`
922       - G\ :sub:`22`
923       - R\ :sub:`22`
924       - B\ :sub:`23`
925       - G\ :sub:`23`
926       - R\ :sub:`23`
927     * - start + 36:
928       - B\ :sub:`30`
929       - G\ :sub:`30`
930       - R\ :sub:`30`
931       - B\ :sub:`31`
932       - G\ :sub:`31`
933       - R\ :sub:`31`
934       - B\ :sub:`32`
935       - G\ :sub:`32`
936       - R\ :sub:`32`
937       - B\ :sub:`33`
938       - G\ :sub:`33`
939       - R\ :sub:`33`
940
941 .. raw:: latex
942
943     \normalsize
944
945 Formats defined in :ref:`rgb-formats-deprecated` are deprecated and
946 must not be used by new drivers. They are documented here for reference.
947 The meaning of their alpha bits ``(a)`` are ill-defined and interpreted as in
948 either the corresponding ARGB or XRGB format, depending on the driver.
949
950
951 .. raw:: latex
952
953     \begingroup
954     \tiny
955     \setlength{\tabcolsep}{2pt}
956
957 .. 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}|
958
959 .. _rgb-formats-deprecated:
960
961 .. flat-table:: Deprecated Packed RGB Image Formats
962     :header-rows:  2
963     :stub-columns: 0
964
965     * - Identifier
966       - Code
967       - :cspan:`7` Byte 0 in memory
968
969       - :cspan:`7` Byte 1
970
971       - :cspan:`7` Byte 2
972
973       - :cspan:`7` Byte 3
974     * -
975       -
976       - 7
977       - 6
978       - 5
979       - 4
980       - 3
981       - 2
982       - 1
983       - 0
984
985       - 7
986       - 6
987       - 5
988       - 4
989       - 3
990       - 2
991       - 1
992       - 0
993
994       - 7
995       - 6
996       - 5
997       - 4
998       - 3
999       - 2
1000       - 1
1001       - 0
1002
1003       - 7
1004       - 6
1005       - 5
1006       - 4
1007       - 3
1008       - 2
1009       - 1
1010       - 0
1011     * .. _V4L2-PIX-FMT-RGB444:
1012
1013       - ``V4L2_PIX_FMT_RGB444``
1014       - 'R444'
1015
1016       - g\ :sub:`3`
1017       - g\ :sub:`2`
1018       - g\ :sub:`1`
1019       - g\ :sub:`0`
1020       - b\ :sub:`3`
1021       - b\ :sub:`2`
1022       - b\ :sub:`1`
1023       - b\ :sub:`0`
1024
1025       - a\ :sub:`3`
1026       - a\ :sub:`2`
1027       - a\ :sub:`1`
1028       - a\ :sub:`0`
1029       - r\ :sub:`3`
1030       - r\ :sub:`2`
1031       - r\ :sub:`1`
1032       - r\ :sub:`0`
1033       -
1034     * .. _V4L2-PIX-FMT-RGB555:
1035
1036       - ``V4L2_PIX_FMT_RGB555``
1037       - 'RGBO'
1038
1039       - g\ :sub:`2`
1040       - g\ :sub:`1`
1041       - g\ :sub:`0`
1042       - b\ :sub:`4`
1043       - b\ :sub:`3`
1044       - b\ :sub:`2`
1045       - b\ :sub:`1`
1046       - b\ :sub:`0`
1047
1048       - a
1049       - r\ :sub:`4`
1050       - r\ :sub:`3`
1051       - r\ :sub:`2`
1052       - r\ :sub:`1`
1053       - r\ :sub:`0`
1054       - g\ :sub:`4`
1055       - g\ :sub:`3`
1056       -
1057     * .. _V4L2-PIX-FMT-RGB555X:
1058
1059       - ``V4L2_PIX_FMT_RGB555X``
1060       - 'RGBQ'
1061
1062       - a
1063       - r\ :sub:`4`
1064       - r\ :sub:`3`
1065       - r\ :sub:`2`
1066       - r\ :sub:`1`
1067       - r\ :sub:`0`
1068       - g\ :sub:`4`
1069       - g\ :sub:`3`
1070
1071       - g\ :sub:`2`
1072       - g\ :sub:`1`
1073       - g\ :sub:`0`
1074       - b\ :sub:`4`
1075       - b\ :sub:`3`
1076       - b\ :sub:`2`
1077       - b\ :sub:`1`
1078       - b\ :sub:`0`
1079       -
1080     * .. _V4L2-PIX-FMT-BGR32:
1081
1082       - ``V4L2_PIX_FMT_BGR32``
1083       - 'BGR4'
1084
1085       - b\ :sub:`7`
1086       - b\ :sub:`6`
1087       - b\ :sub:`5`
1088       - b\ :sub:`4`
1089       - b\ :sub:`3`
1090       - b\ :sub:`2`
1091       - b\ :sub:`1`
1092       - b\ :sub:`0`
1093
1094       - g\ :sub:`7`
1095       - g\ :sub:`6`
1096       - g\ :sub:`5`
1097       - g\ :sub:`4`
1098       - g\ :sub:`3`
1099       - g\ :sub:`2`
1100       - g\ :sub:`1`
1101       - g\ :sub:`0`
1102
1103       - r\ :sub:`7`
1104       - r\ :sub:`6`
1105       - r\ :sub:`5`
1106       - r\ :sub:`4`
1107       - r\ :sub:`3`
1108       - r\ :sub:`2`
1109       - r\ :sub:`1`
1110       - r\ :sub:`0`
1111
1112       - a\ :sub:`7`
1113       - a\ :sub:`6`
1114       - a\ :sub:`5`
1115       - a\ :sub:`4`
1116       - a\ :sub:`3`
1117       - a\ :sub:`2`
1118       - a\ :sub:`1`
1119       - a\ :sub:`0`
1120     * .. _V4L2-PIX-FMT-RGB32:
1121
1122       - ``V4L2_PIX_FMT_RGB32``
1123       - 'RGB4'
1124
1125       - a\ :sub:`7`
1126       - a\ :sub:`6`
1127       - a\ :sub:`5`
1128       - a\ :sub:`4`
1129       - a\ :sub:`3`
1130       - a\ :sub:`2`
1131       - a\ :sub:`1`
1132       - a\ :sub:`0`
1133
1134       - r\ :sub:`7`
1135       - r\ :sub:`6`
1136       - r\ :sub:`5`
1137       - r\ :sub:`4`
1138       - r\ :sub:`3`
1139       - r\ :sub:`2`
1140       - r\ :sub:`1`
1141       - r\ :sub:`0`
1142
1143       - g\ :sub:`7`
1144       - g\ :sub:`6`
1145       - g\ :sub:`5`
1146       - g\ :sub:`4`
1147       - g\ :sub:`3`
1148       - g\ :sub:`2`
1149       - g\ :sub:`1`
1150       - g\ :sub:`0`
1151
1152       - b\ :sub:`7`
1153       - b\ :sub:`6`
1154       - b\ :sub:`5`
1155       - b\ :sub:`4`
1156       - b\ :sub:`3`
1157       - b\ :sub:`2`
1158       - b\ :sub:`1`
1159       - b\ :sub:`0`
1160
1161 .. raw:: latex
1162
1163     \endgroup
1164
1165 A test utility to determine which RGB formats a driver actually supports
1166 is available from the LinuxTV v4l-dvb repository. See
1167 `https://linuxtv.org/repo/ <https://linuxtv.org/repo/>`__ for access
1168 instructions.