]> asedeno.scripts.mit.edu Git - linux.git/blob - Documentation/media/uapi/v4l/pixfmt-packed-rgb.rst
ed0b541afe5942a1c2475a89f948efbef803b368
[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-ARGB555:
143
144       - ``V4L2_PIX_FMT_ARGB555``
145       - 'AR15'
146
147       - g\ :sub:`2`
148       - g\ :sub:`1`
149       - g\ :sub:`0`
150       - b\ :sub:`4`
151       - b\ :sub:`3`
152       - b\ :sub:`2`
153       - b\ :sub:`1`
154       - b\ :sub:`0`
155
156       - a
157       - r\ :sub:`4`
158       - r\ :sub:`3`
159       - r\ :sub:`2`
160       - r\ :sub:`1`
161       - r\ :sub:`0`
162       - g\ :sub:`4`
163       - g\ :sub:`3`
164       -
165     * .. _V4L2-PIX-FMT-XRGB555:
166
167       - ``V4L2_PIX_FMT_XRGB555``
168       - 'XR15'
169
170       - g\ :sub:`2`
171       - g\ :sub:`1`
172       - g\ :sub:`0`
173       - b\ :sub:`4`
174       - b\ :sub:`3`
175       - b\ :sub:`2`
176       - b\ :sub:`1`
177       - b\ :sub:`0`
178
179       -
180       - r\ :sub:`4`
181       - r\ :sub:`3`
182       - r\ :sub:`2`
183       - r\ :sub:`1`
184       - r\ :sub:`0`
185       - g\ :sub:`4`
186       - g\ :sub:`3`
187       -
188     * .. _V4L2-PIX-FMT-RGB565:
189
190       - ``V4L2_PIX_FMT_RGB565``
191       - 'RGBP'
192
193       - g\ :sub:`2`
194       - g\ :sub:`1`
195       - g\ :sub:`0`
196       - b\ :sub:`4`
197       - b\ :sub:`3`
198       - b\ :sub:`2`
199       - b\ :sub:`1`
200       - b\ :sub:`0`
201
202       - r\ :sub:`4`
203       - r\ :sub:`3`
204       - r\ :sub:`2`
205       - r\ :sub:`1`
206       - r\ :sub:`0`
207       - g\ :sub:`5`
208       - g\ :sub:`4`
209       - g\ :sub:`3`
210       -
211     * .. _V4L2-PIX-FMT-ARGB555X:
212
213       - ``V4L2_PIX_FMT_ARGB555X``
214       - 'AR15' | (1 << 31)
215
216       - a
217       - r\ :sub:`4`
218       - r\ :sub:`3`
219       - r\ :sub:`2`
220       - r\ :sub:`1`
221       - r\ :sub:`0`
222       - g\ :sub:`4`
223       - g\ :sub:`3`
224
225       - g\ :sub:`2`
226       - g\ :sub:`1`
227       - g\ :sub:`0`
228       - b\ :sub:`4`
229       - b\ :sub:`3`
230       - b\ :sub:`2`
231       - b\ :sub:`1`
232       - b\ :sub:`0`
233       -
234     * .. _V4L2-PIX-FMT-XRGB555X:
235
236       - ``V4L2_PIX_FMT_XRGB555X``
237       - 'XR15' | (1 << 31)
238
239       -
240       - r\ :sub:`4`
241       - r\ :sub:`3`
242       - r\ :sub:`2`
243       - r\ :sub:`1`
244       - r\ :sub:`0`
245       - g\ :sub:`4`
246       - g\ :sub:`3`
247
248       - g\ :sub:`2`
249       - g\ :sub:`1`
250       - g\ :sub:`0`
251       - b\ :sub:`4`
252       - b\ :sub:`3`
253       - b\ :sub:`2`
254       - b\ :sub:`1`
255       - b\ :sub:`0`
256       -
257     * .. _V4L2-PIX-FMT-RGB565X:
258
259       - ``V4L2_PIX_FMT_RGB565X``
260       - 'RGBR'
261
262       - r\ :sub:`4`
263       - r\ :sub:`3`
264       - r\ :sub:`2`
265       - r\ :sub:`1`
266       - r\ :sub:`0`
267       - g\ :sub:`5`
268       - g\ :sub:`4`
269       - g\ :sub:`3`
270
271       - g\ :sub:`2`
272       - g\ :sub:`1`
273       - g\ :sub:`0`
274       - b\ :sub:`4`
275       - b\ :sub:`3`
276       - b\ :sub:`2`
277       - b\ :sub:`1`
278       - b\ :sub:`0`
279       -
280     * .. _V4L2-PIX-FMT-BGR24:
281
282       - ``V4L2_PIX_FMT_BGR24``
283       - 'BGR3'
284
285       - b\ :sub:`7`
286       - b\ :sub:`6`
287       - b\ :sub:`5`
288       - b\ :sub:`4`
289       - b\ :sub:`3`
290       - b\ :sub:`2`
291       - b\ :sub:`1`
292       - b\ :sub:`0`
293
294       - g\ :sub:`7`
295       - g\ :sub:`6`
296       - g\ :sub:`5`
297       - g\ :sub:`4`
298       - g\ :sub:`3`
299       - g\ :sub:`2`
300       - g\ :sub:`1`
301       - g\ :sub:`0`
302
303       - r\ :sub:`7`
304       - r\ :sub:`6`
305       - r\ :sub:`5`
306       - r\ :sub:`4`
307       - r\ :sub:`3`
308       - r\ :sub:`2`
309       - r\ :sub:`1`
310       - r\ :sub:`0`
311       -
312     * .. _V4L2-PIX-FMT-RGB24:
313
314       - ``V4L2_PIX_FMT_RGB24``
315       - 'RGB3'
316
317       - r\ :sub:`7`
318       - r\ :sub:`6`
319       - r\ :sub:`5`
320       - r\ :sub:`4`
321       - r\ :sub:`3`
322       - r\ :sub:`2`
323       - r\ :sub:`1`
324       - r\ :sub:`0`
325
326       - g\ :sub:`7`
327       - g\ :sub:`6`
328       - g\ :sub:`5`
329       - g\ :sub:`4`
330       - g\ :sub:`3`
331       - g\ :sub:`2`
332       - g\ :sub:`1`
333       - g\ :sub:`0`
334
335       - b\ :sub:`7`
336       - b\ :sub:`6`
337       - b\ :sub:`5`
338       - b\ :sub:`4`
339       - b\ :sub:`3`
340       - b\ :sub:`2`
341       - b\ :sub:`1`
342       - b\ :sub:`0`
343       -
344     * .. _V4L2-PIX-FMT-BGR666:
345
346       - ``V4L2_PIX_FMT_BGR666``
347       - 'BGRH'
348
349       - b\ :sub:`5`
350       - b\ :sub:`4`
351       - b\ :sub:`3`
352       - b\ :sub:`2`
353       - b\ :sub:`1`
354       - b\ :sub:`0`
355       - g\ :sub:`5`
356       - g\ :sub:`4`
357
358       - g\ :sub:`3`
359       - g\ :sub:`2`
360       - g\ :sub:`1`
361       - g\ :sub:`0`
362       - r\ :sub:`5`
363       - r\ :sub:`4`
364       - r\ :sub:`3`
365       - r\ :sub:`2`
366
367       - r\ :sub:`1`
368       - r\ :sub:`0`
369       -
370       -
371       -
372       -
373       -
374       -
375
376       -
377       -
378       -
379       -
380       -
381       -
382       -
383       -
384     * .. _V4L2-PIX-FMT-ABGR32:
385
386       - ``V4L2_PIX_FMT_ABGR32``
387       - 'AR24'
388
389       - b\ :sub:`7`
390       - b\ :sub:`6`
391       - b\ :sub:`5`
392       - b\ :sub:`4`
393       - b\ :sub:`3`
394       - b\ :sub:`2`
395       - b\ :sub:`1`
396       - b\ :sub:`0`
397
398       - g\ :sub:`7`
399       - g\ :sub:`6`
400       - g\ :sub:`5`
401       - g\ :sub:`4`
402       - g\ :sub:`3`
403       - g\ :sub:`2`
404       - g\ :sub:`1`
405       - g\ :sub:`0`
406
407       - r\ :sub:`7`
408       - r\ :sub:`6`
409       - r\ :sub:`5`
410       - r\ :sub:`4`
411       - r\ :sub:`3`
412       - r\ :sub:`2`
413       - r\ :sub:`1`
414       - r\ :sub:`0`
415
416       - a\ :sub:`7`
417       - a\ :sub:`6`
418       - a\ :sub:`5`
419       - a\ :sub:`4`
420       - a\ :sub:`3`
421       - a\ :sub:`2`
422       - a\ :sub:`1`
423       - a\ :sub:`0`
424     * .. _V4L2-PIX-FMT-XBGR32:
425
426       - ``V4L2_PIX_FMT_XBGR32``
427       - 'XR24'
428
429       - b\ :sub:`7`
430       - b\ :sub:`6`
431       - b\ :sub:`5`
432       - b\ :sub:`4`
433       - b\ :sub:`3`
434       - b\ :sub:`2`
435       - b\ :sub:`1`
436       - b\ :sub:`0`
437
438       - g\ :sub:`7`
439       - g\ :sub:`6`
440       - g\ :sub:`5`
441       - g\ :sub:`4`
442       - g\ :sub:`3`
443       - g\ :sub:`2`
444       - g\ :sub:`1`
445       - g\ :sub:`0`
446
447       - r\ :sub:`7`
448       - r\ :sub:`6`
449       - r\ :sub:`5`
450       - r\ :sub:`4`
451       - r\ :sub:`3`
452       - r\ :sub:`2`
453       - r\ :sub:`1`
454       - r\ :sub:`0`
455
456       -
457       -
458       -
459       -
460       -
461       -
462       -
463       -
464     * .. _V4L2-PIX-FMT-BGRA32:
465
466       - ``V4L2_PIX_FMT_BGRA32``
467       - 'RA24'
468
469       - a\ :sub:`7`
470       - a\ :sub:`6`
471       - a\ :sub:`5`
472       - a\ :sub:`4`
473       - a\ :sub:`3`
474       - a\ :sub:`2`
475       - a\ :sub:`1`
476       - a\ :sub:`0`
477
478       - b\ :sub:`7`
479       - b\ :sub:`6`
480       - b\ :sub:`5`
481       - b\ :sub:`4`
482       - b\ :sub:`3`
483       - b\ :sub:`2`
484       - b\ :sub:`1`
485       - b\ :sub:`0`
486
487       - g\ :sub:`7`
488       - g\ :sub:`6`
489       - g\ :sub:`5`
490       - g\ :sub:`4`
491       - g\ :sub:`3`
492       - g\ :sub:`2`
493       - g\ :sub:`1`
494       - g\ :sub:`0`
495
496       - r\ :sub:`7`
497       - r\ :sub:`6`
498       - r\ :sub:`5`
499       - r\ :sub:`4`
500       - r\ :sub:`3`
501       - r\ :sub:`2`
502       - r\ :sub:`1`
503       - r\ :sub:`0`
504     * .. _V4L2-PIX-FMT-BGRX32:
505
506       - ``V4L2_PIX_FMT_BGRX32``
507       - 'RX24'
508
509       -
510       -
511       -
512       -
513       -
514       -
515       -
516       -
517
518       - b\ :sub:`7`
519       - b\ :sub:`6`
520       - b\ :sub:`5`
521       - b\ :sub:`4`
522       - b\ :sub:`3`
523       - b\ :sub:`2`
524       - b\ :sub:`1`
525       - b\ :sub:`0`
526
527       - g\ :sub:`7`
528       - g\ :sub:`6`
529       - g\ :sub:`5`
530       - g\ :sub:`4`
531       - g\ :sub:`3`
532       - g\ :sub:`2`
533       - g\ :sub:`1`
534       - g\ :sub:`0`
535
536       - r\ :sub:`7`
537       - r\ :sub:`6`
538       - r\ :sub:`5`
539       - r\ :sub:`4`
540       - r\ :sub:`3`
541       - r\ :sub:`2`
542       - r\ :sub:`1`
543       - r\ :sub:`0`
544     * .. _V4L2-PIX-FMT-RGBA32:
545
546       - ``V4L2_PIX_FMT_RGBA32``
547       - 'AB24'
548
549       - r\ :sub:`7`
550       - r\ :sub:`6`
551       - r\ :sub:`5`
552       - r\ :sub:`4`
553       - r\ :sub:`3`
554       - r\ :sub:`2`
555       - r\ :sub:`1`
556       - r\ :sub:`0`
557
558       - g\ :sub:`7`
559       - g\ :sub:`6`
560       - g\ :sub:`5`
561       - g\ :sub:`4`
562       - g\ :sub:`3`
563       - g\ :sub:`2`
564       - g\ :sub:`1`
565       - g\ :sub:`0`
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       - a\ :sub:`7`
577       - a\ :sub:`6`
578       - a\ :sub:`5`
579       - a\ :sub:`4`
580       - a\ :sub:`3`
581       - a\ :sub:`2`
582       - a\ :sub:`1`
583       - a\ :sub:`0`
584     * .. _V4L2-PIX-FMT-RGBX32:
585
586       - ``V4L2_PIX_FMT_RGBX32``
587       - 'XB24'
588
589       - r\ :sub:`7`
590       - r\ :sub:`6`
591       - r\ :sub:`5`
592       - r\ :sub:`4`
593       - r\ :sub:`3`
594       - r\ :sub:`2`
595       - r\ :sub:`1`
596       - r\ :sub:`0`
597
598       - g\ :sub:`7`
599       - g\ :sub:`6`
600       - g\ :sub:`5`
601       - g\ :sub:`4`
602       - g\ :sub:`3`
603       - g\ :sub:`2`
604       - g\ :sub:`1`
605       - g\ :sub:`0`
606
607       - b\ :sub:`7`
608       - b\ :sub:`6`
609       - b\ :sub:`5`
610       - b\ :sub:`4`
611       - b\ :sub:`3`
612       - b\ :sub:`2`
613       - b\ :sub:`1`
614       - b\ :sub:`0`
615
616       -
617       -
618       -
619       -
620       -
621       -
622       -
623       -
624     * .. _V4L2-PIX-FMT-ARGB32:
625
626       - ``V4L2_PIX_FMT_ARGB32``
627       - 'BA24'
628
629       - a\ :sub:`7`
630       - a\ :sub:`6`
631       - a\ :sub:`5`
632       - a\ :sub:`4`
633       - a\ :sub:`3`
634       - a\ :sub:`2`
635       - a\ :sub:`1`
636       - a\ :sub:`0`
637
638       - r\ :sub:`7`
639       - r\ :sub:`6`
640       - r\ :sub:`5`
641       - r\ :sub:`4`
642       - r\ :sub:`3`
643       - r\ :sub:`2`
644       - r\ :sub:`1`
645       - r\ :sub:`0`
646
647       - g\ :sub:`7`
648       - g\ :sub:`6`
649       - g\ :sub:`5`
650       - g\ :sub:`4`
651       - g\ :sub:`3`
652       - g\ :sub:`2`
653       - g\ :sub:`1`
654       - g\ :sub:`0`
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     * .. _V4L2-PIX-FMT-XRGB32:
665
666       - ``V4L2_PIX_FMT_XRGB32``
667       - 'BX24'
668
669       -
670       -
671       -
672       -
673       -
674       -
675       -
676       -
677
678       - r\ :sub:`7`
679       - r\ :sub:`6`
680       - r\ :sub:`5`
681       - r\ :sub:`4`
682       - r\ :sub:`3`
683       - r\ :sub:`2`
684       - r\ :sub:`1`
685       - r\ :sub:`0`
686
687       - g\ :sub:`7`
688       - g\ :sub:`6`
689       - g\ :sub:`5`
690       - g\ :sub:`4`
691       - g\ :sub:`3`
692       - g\ :sub:`2`
693       - g\ :sub:`1`
694       - g\ :sub:`0`
695
696       - b\ :sub:`7`
697       - b\ :sub:`6`
698       - b\ :sub:`5`
699       - b\ :sub:`4`
700       - b\ :sub:`3`
701       - b\ :sub:`2`
702       - b\ :sub:`1`
703       - b\ :sub:`0`
704
705 .. raw:: latex
706
707     \endgroup
708
709 .. note:: Bit 7 is the most significant bit.
710
711 The usage and value of the alpha bits (a) in the ARGB and ABGR formats
712 (collectively referred to as alpha formats) depend on the device type
713 and hardware operation. :ref:`Capture <capture>` devices (including
714 capture queues of mem-to-mem devices) fill the alpha component in
715 memory. When the device outputs an alpha channel the alpha component
716 will have a meaningful value. Otherwise, when the device doesn't output
717 an alpha channel but can set the alpha bit to a user-configurable value,
718 the :ref:`V4L2_CID_ALPHA_COMPONENT <v4l2-alpha-component>` control
719 is used to specify that alpha value, and the alpha component of all
720 pixels will be set to the value specified by that control. Otherwise a
721 corresponding format without an alpha component (XRGB or XBGR) must be
722 used instead of an alpha format.
723
724 :ref:`Output <output>` devices (including output queues of mem-to-mem
725 devices and :ref:`video output overlay <osd>` devices) read the alpha
726 component from memory. When the device processes the alpha channel the
727 alpha component must be filled with meaningful values by applications.
728 Otherwise a corresponding format without an alpha component (XRGB or
729 XBGR) must be used instead of an alpha format.
730
731 The XRGB and XBGR formats contain undefined bits (-). Applications,
732 devices and drivers must ignore those bits, for both
733 :ref:`capture` and :ref:`output` devices.
734
735 **Byte Order.**
736 Each cell is one byte.
737
738
739 .. raw:: latex
740
741     \small
742
743 .. 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}|
744
745 .. flat-table:: RGB byte order
746     :header-rows:  0
747     :stub-columns: 0
748     :widths:       11 3 3 3 3 3 3 3 3 3 3 3 3
749
750     * - start + 0:
751       - B\ :sub:`00`
752       - G\ :sub:`00`
753       - R\ :sub:`00`
754       - B\ :sub:`01`
755       - G\ :sub:`01`
756       - R\ :sub:`01`
757       - B\ :sub:`02`
758       - G\ :sub:`02`
759       - R\ :sub:`02`
760       - B\ :sub:`03`
761       - G\ :sub:`03`
762       - R\ :sub:`03`
763     * - start + 12:
764       - B\ :sub:`10`
765       - G\ :sub:`10`
766       - R\ :sub:`10`
767       - B\ :sub:`11`
768       - G\ :sub:`11`
769       - R\ :sub:`11`
770       - B\ :sub:`12`
771       - G\ :sub:`12`
772       - R\ :sub:`12`
773       - B\ :sub:`13`
774       - G\ :sub:`13`
775       - R\ :sub:`13`
776     * - start + 24:
777       - B\ :sub:`20`
778       - G\ :sub:`20`
779       - R\ :sub:`20`
780       - B\ :sub:`21`
781       - G\ :sub:`21`
782       - R\ :sub:`21`
783       - B\ :sub:`22`
784       - G\ :sub:`22`
785       - R\ :sub:`22`
786       - B\ :sub:`23`
787       - G\ :sub:`23`
788       - R\ :sub:`23`
789     * - start + 36:
790       - B\ :sub:`30`
791       - G\ :sub:`30`
792       - R\ :sub:`30`
793       - B\ :sub:`31`
794       - G\ :sub:`31`
795       - R\ :sub:`31`
796       - B\ :sub:`32`
797       - G\ :sub:`32`
798       - R\ :sub:`32`
799       - B\ :sub:`33`
800       - G\ :sub:`33`
801       - R\ :sub:`33`
802
803 .. raw:: latex
804
805     \normalsize
806
807 Formats defined in :ref:`rgb-formats-deprecated` are deprecated and
808 must not be used by new drivers. They are documented here for reference.
809 The meaning of their alpha bits ``(a)`` are ill-defined and interpreted as in
810 either the corresponding ARGB or XRGB format, depending on the driver.
811
812
813 .. raw:: latex
814
815     \begingroup
816     \tiny
817     \setlength{\tabcolsep}{2pt}
818
819 .. 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}|
820
821 .. _rgb-formats-deprecated:
822
823 .. flat-table:: Deprecated Packed RGB Image Formats
824     :header-rows:  2
825     :stub-columns: 0
826
827     * - Identifier
828       - Code
829       - :cspan:`7` Byte 0 in memory
830
831       - :cspan:`7` Byte 1
832
833       - :cspan:`7` Byte 2
834
835       - :cspan:`7` Byte 3
836     * -
837       -
838       - 7
839       - 6
840       - 5
841       - 4
842       - 3
843       - 2
844       - 1
845       - 0
846
847       - 7
848       - 6
849       - 5
850       - 4
851       - 3
852       - 2
853       - 1
854       - 0
855
856       - 7
857       - 6
858       - 5
859       - 4
860       - 3
861       - 2
862       - 1
863       - 0
864
865       - 7
866       - 6
867       - 5
868       - 4
869       - 3
870       - 2
871       - 1
872       - 0
873     * .. _V4L2-PIX-FMT-RGB444:
874
875       - ``V4L2_PIX_FMT_RGB444``
876       - 'R444'
877
878       - g\ :sub:`3`
879       - g\ :sub:`2`
880       - g\ :sub:`1`
881       - g\ :sub:`0`
882       - b\ :sub:`3`
883       - b\ :sub:`2`
884       - b\ :sub:`1`
885       - b\ :sub:`0`
886
887       - a\ :sub:`3`
888       - a\ :sub:`2`
889       - a\ :sub:`1`
890       - a\ :sub:`0`
891       - r\ :sub:`3`
892       - r\ :sub:`2`
893       - r\ :sub:`1`
894       - r\ :sub:`0`
895       -
896     * .. _V4L2-PIX-FMT-RGB555:
897
898       - ``V4L2_PIX_FMT_RGB555``
899       - 'RGBO'
900
901       - g\ :sub:`2`
902       - g\ :sub:`1`
903       - g\ :sub:`0`
904       - b\ :sub:`4`
905       - b\ :sub:`3`
906       - b\ :sub:`2`
907       - b\ :sub:`1`
908       - b\ :sub:`0`
909
910       - a
911       - r\ :sub:`4`
912       - r\ :sub:`3`
913       - r\ :sub:`2`
914       - r\ :sub:`1`
915       - r\ :sub:`0`
916       - g\ :sub:`4`
917       - g\ :sub:`3`
918       -
919     * .. _V4L2-PIX-FMT-RGB555X:
920
921       - ``V4L2_PIX_FMT_RGB555X``
922       - 'RGBQ'
923
924       - a
925       - r\ :sub:`4`
926       - r\ :sub:`3`
927       - r\ :sub:`2`
928       - r\ :sub:`1`
929       - r\ :sub:`0`
930       - g\ :sub:`4`
931       - g\ :sub:`3`
932
933       - g\ :sub:`2`
934       - g\ :sub:`1`
935       - g\ :sub:`0`
936       - b\ :sub:`4`
937       - b\ :sub:`3`
938       - b\ :sub:`2`
939       - b\ :sub:`1`
940       - b\ :sub:`0`
941       -
942     * .. _V4L2-PIX-FMT-BGR32:
943
944       - ``V4L2_PIX_FMT_BGR32``
945       - 'BGR4'
946
947       - b\ :sub:`7`
948       - b\ :sub:`6`
949       - b\ :sub:`5`
950       - b\ :sub:`4`
951       - b\ :sub:`3`
952       - b\ :sub:`2`
953       - b\ :sub:`1`
954       - b\ :sub:`0`
955
956       - g\ :sub:`7`
957       - g\ :sub:`6`
958       - g\ :sub:`5`
959       - g\ :sub:`4`
960       - g\ :sub:`3`
961       - g\ :sub:`2`
962       - g\ :sub:`1`
963       - g\ :sub:`0`
964
965       - r\ :sub:`7`
966       - r\ :sub:`6`
967       - r\ :sub:`5`
968       - r\ :sub:`4`
969       - r\ :sub:`3`
970       - r\ :sub:`2`
971       - r\ :sub:`1`
972       - r\ :sub:`0`
973
974       - a\ :sub:`7`
975       - a\ :sub:`6`
976       - a\ :sub:`5`
977       - a\ :sub:`4`
978       - a\ :sub:`3`
979       - a\ :sub:`2`
980       - a\ :sub:`1`
981       - a\ :sub:`0`
982     * .. _V4L2-PIX-FMT-RGB32:
983
984       - ``V4L2_PIX_FMT_RGB32``
985       - 'RGB4'
986
987       - a\ :sub:`7`
988       - a\ :sub:`6`
989       - a\ :sub:`5`
990       - a\ :sub:`4`
991       - a\ :sub:`3`
992       - a\ :sub:`2`
993       - a\ :sub:`1`
994       - a\ :sub:`0`
995
996       - r\ :sub:`7`
997       - r\ :sub:`6`
998       - r\ :sub:`5`
999       - r\ :sub:`4`
1000       - r\ :sub:`3`
1001       - r\ :sub:`2`
1002       - r\ :sub:`1`
1003       - r\ :sub:`0`
1004
1005       - g\ :sub:`7`
1006       - g\ :sub:`6`
1007       - g\ :sub:`5`
1008       - g\ :sub:`4`
1009       - g\ :sub:`3`
1010       - g\ :sub:`2`
1011       - g\ :sub:`1`
1012       - g\ :sub:`0`
1013
1014       - b\ :sub:`7`
1015       - b\ :sub:`6`
1016       - b\ :sub:`5`
1017       - b\ :sub:`4`
1018       - b\ :sub:`3`
1019       - b\ :sub:`2`
1020       - b\ :sub:`1`
1021       - b\ :sub:`0`
1022
1023 .. raw:: latex
1024
1025     \endgroup
1026
1027 A test utility to determine which RGB formats a driver actually supports
1028 is available from the LinuxTV v4l-dvb repository. See
1029 `https://linuxtv.org/repo/ <https://linuxtv.org/repo/>`__ for access
1030 instructions.