1 <refentry id="packed-rgb">
3 <refentrytitle>Packed RGB formats</refentrytitle>
7 <refname>Packed RGB formats</refname>
8 <refpurpose>Packed RGB formats</refpurpose>
11 <title>Description</title>
13 <para>These formats are designed to match the pixel formats of
14 typical PC graphics frame buffers. They occupy 8, 16, 24 or 32 bits
15 per pixel. These are all packed-pixel formats, meaning all the data
16 for a pixel lie next to each other in memory.</para>
18 <para>When one of these formats is used, drivers shall report the
19 colorspace <constant>V4L2_COLORSPACE_SRGB</constant>.</para>
21 <table pgwide="1" frame="none" id="rgb-formats">
22 <title>Packed RGB Image Formats</title>
23 <tgroup cols="37" align="center">
24 <colspec colname="id" align="left" />
25 <colspec colname="fourcc" />
26 <colspec colname="bit" />
28 <colspec colnum="4" colname="b07" align="center" />
29 <colspec colnum="5" colname="b06" align="center" />
30 <colspec colnum="6" colname="b05" align="center" />
31 <colspec colnum="7" colname="b04" align="center" />
32 <colspec colnum="8" colname="b03" align="center" />
33 <colspec colnum="9" colname="b02" align="center" />
34 <colspec colnum="10" colname="b01" align="center" />
35 <colspec colnum="11" colname="b00" align="center" />
37 <colspec colnum="13" colname="b17" align="center" />
38 <colspec colnum="14" colname="b16" align="center" />
39 <colspec colnum="15" colname="b15" align="center" />
40 <colspec colnum="16" colname="b14" align="center" />
41 <colspec colnum="17" colname="b13" align="center" />
42 <colspec colnum="18" colname="b12" align="center" />
43 <colspec colnum="19" colname="b11" align="center" />
44 <colspec colnum="20" colname="b10" align="center" />
46 <colspec colnum="22" colname="b27" align="center" />
47 <colspec colnum="23" colname="b26" align="center" />
48 <colspec colnum="24" colname="b25" align="center" />
49 <colspec colnum="25" colname="b24" align="center" />
50 <colspec colnum="26" colname="b23" align="center" />
51 <colspec colnum="27" colname="b22" align="center" />
52 <colspec colnum="28" colname="b21" align="center" />
53 <colspec colnum="29" colname="b20" align="center" />
55 <colspec colnum="31" colname="b37" align="center" />
56 <colspec colnum="32" colname="b36" align="center" />
57 <colspec colnum="33" colname="b35" align="center" />
58 <colspec colnum="34" colname="b34" align="center" />
59 <colspec colnum="35" colname="b33" align="center" />
60 <colspec colnum="36" colname="b32" align="center" />
61 <colspec colnum="37" colname="b31" align="center" />
62 <colspec colnum="38" colname="b30" align="center" />
64 <spanspec namest="b07" nameend="b00" spanname="b0" />
65 <spanspec namest="b17" nameend="b10" spanname="b1" />
66 <spanspec namest="b27" nameend="b20" spanname="b2" />
67 <spanspec namest="b37" nameend="b30" spanname="b3" />
70 <entry>Identifier</entry>
73 <entry spanname="b0">Byte 0 in memory</entry>
74 <entry spanname="b1">Byte 1</entry>
75 <entry spanname="b2">Byte 2</entry>
76 <entry spanname="b3">Byte 3</entry>
108 <entry> </entry>
120 <row id="V4L2-PIX-FMT-RGB332">
121 <entry><constant>V4L2_PIX_FMT_RGB332</constant></entry>
122 <entry>'RGB1'</entry>
124 <entry>r<subscript>2</subscript></entry>
125 <entry>r<subscript>1</subscript></entry>
126 <entry>r<subscript>0</subscript></entry>
127 <entry>g<subscript>2</subscript></entry>
128 <entry>g<subscript>1</subscript></entry>
129 <entry>g<subscript>0</subscript></entry>
130 <entry>b<subscript>1</subscript></entry>
131 <entry>b<subscript>0</subscript></entry>
133 <row id="V4L2-PIX-FMT-RGB444">
134 <entry><constant>V4L2_PIX_FMT_RGB444</constant></entry>
135 <entry>'R444'</entry>
137 <entry>g<subscript>3</subscript></entry>
138 <entry>g<subscript>2</subscript></entry>
139 <entry>g<subscript>1</subscript></entry>
140 <entry>g<subscript>0</subscript></entry>
141 <entry>b<subscript>3</subscript></entry>
142 <entry>b<subscript>2</subscript></entry>
143 <entry>b<subscript>1</subscript></entry>
144 <entry>b<subscript>0</subscript></entry>
146 <entry>a<subscript>3</subscript></entry>
147 <entry>a<subscript>2</subscript></entry>
148 <entry>a<subscript>1</subscript></entry>
149 <entry>a<subscript>0</subscript></entry>
150 <entry>r<subscript>3</subscript></entry>
151 <entry>r<subscript>2</subscript></entry>
152 <entry>r<subscript>1</subscript></entry>
153 <entry>r<subscript>0</subscript></entry>
155 <row id="V4L2-PIX-FMT-RGB555">
156 <entry><constant>V4L2_PIX_FMT_RGB555</constant></entry>
157 <entry>'RGBO'</entry>
159 <entry>g<subscript>2</subscript></entry>
160 <entry>g<subscript>1</subscript></entry>
161 <entry>g<subscript>0</subscript></entry>
162 <entry>b<subscript>4</subscript></entry>
163 <entry>b<subscript>3</subscript></entry>
164 <entry>b<subscript>2</subscript></entry>
165 <entry>b<subscript>1</subscript></entry>
166 <entry>b<subscript>0</subscript></entry>
169 <entry>r<subscript>4</subscript></entry>
170 <entry>r<subscript>3</subscript></entry>
171 <entry>r<subscript>2</subscript></entry>
172 <entry>r<subscript>1</subscript></entry>
173 <entry>r<subscript>0</subscript></entry>
174 <entry>g<subscript>4</subscript></entry>
175 <entry>g<subscript>3</subscript></entry>
177 <row id="V4L2-PIX-FMT-RGB565">
178 <entry><constant>V4L2_PIX_FMT_RGB565</constant></entry>
179 <entry>'RGBP'</entry>
181 <entry>g<subscript>2</subscript></entry>
182 <entry>g<subscript>1</subscript></entry>
183 <entry>g<subscript>0</subscript></entry>
184 <entry>b<subscript>4</subscript></entry>
185 <entry>b<subscript>3</subscript></entry>
186 <entry>b<subscript>2</subscript></entry>
187 <entry>b<subscript>1</subscript></entry>
188 <entry>b<subscript>0</subscript></entry>
190 <entry>r<subscript>4</subscript></entry>
191 <entry>r<subscript>3</subscript></entry>
192 <entry>r<subscript>2</subscript></entry>
193 <entry>r<subscript>1</subscript></entry>
194 <entry>r<subscript>0</subscript></entry>
195 <entry>g<subscript>5</subscript></entry>
196 <entry>g<subscript>4</subscript></entry>
197 <entry>g<subscript>3</subscript></entry>
199 <row id="V4L2-PIX-FMT-RGB555X">
200 <entry><constant>V4L2_PIX_FMT_RGB555X</constant></entry>
201 <entry>'RGBQ'</entry>
204 <entry>r<subscript>4</subscript></entry>
205 <entry>r<subscript>3</subscript></entry>
206 <entry>r<subscript>2</subscript></entry>
207 <entry>r<subscript>1</subscript></entry>
208 <entry>r<subscript>0</subscript></entry>
209 <entry>g<subscript>4</subscript></entry>
210 <entry>g<subscript>3</subscript></entry>
212 <entry>g<subscript>2</subscript></entry>
213 <entry>g<subscript>1</subscript></entry>
214 <entry>g<subscript>0</subscript></entry>
215 <entry>b<subscript>4</subscript></entry>
216 <entry>b<subscript>3</subscript></entry>
217 <entry>b<subscript>2</subscript></entry>
218 <entry>b<subscript>1</subscript></entry>
219 <entry>b<subscript>0</subscript></entry>
221 <row id="V4L2-PIX-FMT-RGB565X">
222 <entry><constant>V4L2_PIX_FMT_RGB565X</constant></entry>
223 <entry>'RGBR'</entry>
225 <entry>r<subscript>4</subscript></entry>
226 <entry>r<subscript>3</subscript></entry>
227 <entry>r<subscript>2</subscript></entry>
228 <entry>r<subscript>1</subscript></entry>
229 <entry>r<subscript>0</subscript></entry>
230 <entry>g<subscript>5</subscript></entry>
231 <entry>g<subscript>4</subscript></entry>
232 <entry>g<subscript>3</subscript></entry>
234 <entry>g<subscript>2</subscript></entry>
235 <entry>g<subscript>1</subscript></entry>
236 <entry>g<subscript>0</subscript></entry>
237 <entry>b<subscript>4</subscript></entry>
238 <entry>b<subscript>3</subscript></entry>
239 <entry>b<subscript>2</subscript></entry>
240 <entry>b<subscript>1</subscript></entry>
241 <entry>b<subscript>0</subscript></entry>
243 <row id="V4L2-PIX-FMT-BGR666">
244 <entry><constant>V4L2_PIX_FMT_BGR666</constant></entry>
245 <entry>'BGRH'</entry>
247 <entry>b<subscript>5</subscript></entry>
248 <entry>b<subscript>4</subscript></entry>
249 <entry>b<subscript>3</subscript></entry>
250 <entry>b<subscript>2</subscript></entry>
251 <entry>b<subscript>1</subscript></entry>
252 <entry>b<subscript>0</subscript></entry>
253 <entry>g<subscript>5</subscript></entry>
254 <entry>g<subscript>4</subscript></entry>
256 <entry>g<subscript>3</subscript></entry>
257 <entry>g<subscript>2</subscript></entry>
258 <entry>g<subscript>1</subscript></entry>
259 <entry>g<subscript>0</subscript></entry>
260 <entry>r<subscript>5</subscript></entry>
261 <entry>r<subscript>4</subscript></entry>
262 <entry>r<subscript>3</subscript></entry>
263 <entry>r<subscript>2</subscript></entry>
265 <entry>r<subscript>1</subscript></entry>
266 <entry>r<subscript>0</subscript></entry>
282 <row id="V4L2-PIX-FMT-BGR24">
283 <entry><constant>V4L2_PIX_FMT_BGR24</constant></entry>
284 <entry>'BGR3'</entry>
286 <entry>b<subscript>7</subscript></entry>
287 <entry>b<subscript>6</subscript></entry>
288 <entry>b<subscript>5</subscript></entry>
289 <entry>b<subscript>4</subscript></entry>
290 <entry>b<subscript>3</subscript></entry>
291 <entry>b<subscript>2</subscript></entry>
292 <entry>b<subscript>1</subscript></entry>
293 <entry>b<subscript>0</subscript></entry>
295 <entry>g<subscript>7</subscript></entry>
296 <entry>g<subscript>6</subscript></entry>
297 <entry>g<subscript>5</subscript></entry>
298 <entry>g<subscript>4</subscript></entry>
299 <entry>g<subscript>3</subscript></entry>
300 <entry>g<subscript>2</subscript></entry>
301 <entry>g<subscript>1</subscript></entry>
302 <entry>g<subscript>0</subscript></entry>
304 <entry>r<subscript>7</subscript></entry>
305 <entry>r<subscript>6</subscript></entry>
306 <entry>r<subscript>5</subscript></entry>
307 <entry>r<subscript>4</subscript></entry>
308 <entry>r<subscript>3</subscript></entry>
309 <entry>r<subscript>2</subscript></entry>
310 <entry>r<subscript>1</subscript></entry>
311 <entry>r<subscript>0</subscript></entry>
313 <row id="V4L2-PIX-FMT-RGB24">
314 <entry><constant>V4L2_PIX_FMT_RGB24</constant></entry>
315 <entry>'RGB3'</entry>
317 <entry>r<subscript>7</subscript></entry>
318 <entry>r<subscript>6</subscript></entry>
319 <entry>r<subscript>5</subscript></entry>
320 <entry>r<subscript>4</subscript></entry>
321 <entry>r<subscript>3</subscript></entry>
322 <entry>r<subscript>2</subscript></entry>
323 <entry>r<subscript>1</subscript></entry>
324 <entry>r<subscript>0</subscript></entry>
326 <entry>g<subscript>7</subscript></entry>
327 <entry>g<subscript>6</subscript></entry>
328 <entry>g<subscript>5</subscript></entry>
329 <entry>g<subscript>4</subscript></entry>
330 <entry>g<subscript>3</subscript></entry>
331 <entry>g<subscript>2</subscript></entry>
332 <entry>g<subscript>1</subscript></entry>
333 <entry>g<subscript>0</subscript></entry>
335 <entry>b<subscript>7</subscript></entry>
336 <entry>b<subscript>6</subscript></entry>
337 <entry>b<subscript>5</subscript></entry>
338 <entry>b<subscript>4</subscript></entry>
339 <entry>b<subscript>3</subscript></entry>
340 <entry>b<subscript>2</subscript></entry>
341 <entry>b<subscript>1</subscript></entry>
342 <entry>b<subscript>0</subscript></entry>
344 <row id="V4L2-PIX-FMT-BGR32">
345 <entry><constant>V4L2_PIX_FMT_BGR32</constant></entry>
346 <entry>'BGR4'</entry>
348 <entry>b<subscript>7</subscript></entry>
349 <entry>b<subscript>6</subscript></entry>
350 <entry>b<subscript>5</subscript></entry>
351 <entry>b<subscript>4</subscript></entry>
352 <entry>b<subscript>3</subscript></entry>
353 <entry>b<subscript>2</subscript></entry>
354 <entry>b<subscript>1</subscript></entry>
355 <entry>b<subscript>0</subscript></entry>
357 <entry>g<subscript>7</subscript></entry>
358 <entry>g<subscript>6</subscript></entry>
359 <entry>g<subscript>5</subscript></entry>
360 <entry>g<subscript>4</subscript></entry>
361 <entry>g<subscript>3</subscript></entry>
362 <entry>g<subscript>2</subscript></entry>
363 <entry>g<subscript>1</subscript></entry>
364 <entry>g<subscript>0</subscript></entry>
366 <entry>r<subscript>7</subscript></entry>
367 <entry>r<subscript>6</subscript></entry>
368 <entry>r<subscript>5</subscript></entry>
369 <entry>r<subscript>4</subscript></entry>
370 <entry>r<subscript>3</subscript></entry>
371 <entry>r<subscript>2</subscript></entry>
372 <entry>r<subscript>1</subscript></entry>
373 <entry>r<subscript>0</subscript></entry>
375 <entry>a<subscript>7</subscript></entry>
376 <entry>a<subscript>6</subscript></entry>
377 <entry>a<subscript>5</subscript></entry>
378 <entry>a<subscript>4</subscript></entry>
379 <entry>a<subscript>3</subscript></entry>
380 <entry>a<subscript>2</subscript></entry>
381 <entry>a<subscript>1</subscript></entry>
382 <entry>a<subscript>0</subscript></entry>
384 <row id="V4L2-PIX-FMT-RGB32">
385 <entry><constant>V4L2_PIX_FMT_RGB32</constant></entry>
386 <entry>'RGB4'</entry>
388 <entry>a<subscript>7</subscript></entry>
389 <entry>a<subscript>6</subscript></entry>
390 <entry>a<subscript>5</subscript></entry>
391 <entry>a<subscript>4</subscript></entry>
392 <entry>a<subscript>3</subscript></entry>
393 <entry>a<subscript>2</subscript></entry>
394 <entry>a<subscript>1</subscript></entry>
395 <entry>a<subscript>0</subscript></entry>
397 <entry>r<subscript>7</subscript></entry>
398 <entry>r<subscript>6</subscript></entry>
399 <entry>r<subscript>5</subscript></entry>
400 <entry>r<subscript>4</subscript></entry>
401 <entry>r<subscript>3</subscript></entry>
402 <entry>r<subscript>2</subscript></entry>
403 <entry>r<subscript>1</subscript></entry>
404 <entry>r<subscript>0</subscript></entry>
406 <entry>g<subscript>7</subscript></entry>
407 <entry>g<subscript>6</subscript></entry>
408 <entry>g<subscript>5</subscript></entry>
409 <entry>g<subscript>4</subscript></entry>
410 <entry>g<subscript>3</subscript></entry>
411 <entry>g<subscript>2</subscript></entry>
412 <entry>g<subscript>1</subscript></entry>
413 <entry>g<subscript>0</subscript></entry>
415 <entry>b<subscript>7</subscript></entry>
416 <entry>b<subscript>6</subscript></entry>
417 <entry>b<subscript>5</subscript></entry>
418 <entry>b<subscript>4</subscript></entry>
419 <entry>b<subscript>3</subscript></entry>
420 <entry>b<subscript>2</subscript></entry>
421 <entry>b<subscript>1</subscript></entry>
422 <entry>b<subscript>0</subscript></entry>
428 <para>Bit 7 is the most significant bit. The value of the a = alpha
429 bits is undefined when reading from the driver, ignored when writing
430 to the driver, except when alpha blending has been negotiated for a
431 <link linkend="overlay">Video Overlay</link> or <link linkend="osd">
432 Video Output Overlay</link> or when the alpha component has been configured
433 for a <link linkend="capture">Video Capture</link> by means of <link
434 linkend="v4l2-alpha-component"> <constant>V4L2_CID_ALPHA_COMPONENT
435 </constant> </link> control.</para>
438 <title><constant>V4L2_PIX_FMT_BGR24</constant> 4 × 4 pixel
442 <title>Byte Order.</title>
443 <para>Each cell is one byte.
444 <informaltable frame="none">
445 <tgroup cols="13" align="center">
446 <colspec align="left" colwidth="2*" />
449 <entry>start + 0:</entry>
450 <entry>B<subscript>00</subscript></entry>
451 <entry>G<subscript>00</subscript></entry>
452 <entry>R<subscript>00</subscript></entry>
453 <entry>B<subscript>01</subscript></entry>
454 <entry>G<subscript>01</subscript></entry>
455 <entry>R<subscript>01</subscript></entry>
456 <entry>B<subscript>02</subscript></entry>
457 <entry>G<subscript>02</subscript></entry>
458 <entry>R<subscript>02</subscript></entry>
459 <entry>B<subscript>03</subscript></entry>
460 <entry>G<subscript>03</subscript></entry>
461 <entry>R<subscript>03</subscript></entry>
464 <entry>start + 12:</entry>
465 <entry>B<subscript>10</subscript></entry>
466 <entry>G<subscript>10</subscript></entry>
467 <entry>R<subscript>10</subscript></entry>
468 <entry>B<subscript>11</subscript></entry>
469 <entry>G<subscript>11</subscript></entry>
470 <entry>R<subscript>11</subscript></entry>
471 <entry>B<subscript>12</subscript></entry>
472 <entry>G<subscript>12</subscript></entry>
473 <entry>R<subscript>12</subscript></entry>
474 <entry>B<subscript>13</subscript></entry>
475 <entry>G<subscript>13</subscript></entry>
476 <entry>R<subscript>13</subscript></entry>
479 <entry>start + 24:</entry>
480 <entry>B<subscript>20</subscript></entry>
481 <entry>G<subscript>20</subscript></entry>
482 <entry>R<subscript>20</subscript></entry>
483 <entry>B<subscript>21</subscript></entry>
484 <entry>G<subscript>21</subscript></entry>
485 <entry>R<subscript>21</subscript></entry>
486 <entry>B<subscript>22</subscript></entry>
487 <entry>G<subscript>22</subscript></entry>
488 <entry>R<subscript>22</subscript></entry>
489 <entry>B<subscript>23</subscript></entry>
490 <entry>G<subscript>23</subscript></entry>
491 <entry>R<subscript>23</subscript></entry>
494 <entry>start + 36:</entry>
495 <entry>B<subscript>30</subscript></entry>
496 <entry>G<subscript>30</subscript></entry>
497 <entry>R<subscript>30</subscript></entry>
498 <entry>B<subscript>31</subscript></entry>
499 <entry>G<subscript>31</subscript></entry>
500 <entry>R<subscript>31</subscript></entry>
501 <entry>B<subscript>32</subscript></entry>
502 <entry>G<subscript>32</subscript></entry>
503 <entry>R<subscript>32</subscript></entry>
504 <entry>B<subscript>33</subscript></entry>
505 <entry>G<subscript>33</subscript></entry>
506 <entry>R<subscript>33</subscript></entry>
515 <para>A test utility to determine which RGB formats a driver
516 actually supports is available from the LinuxTV v4l-dvb repository.
517 See &v4l-dvb; for access instructions.</para>