1<refentry id="packed-rgb"> 2 <refmeta> 3 <refentrytitle>Packed RGB formats</refentrytitle> 4 &manvol; 5 </refmeta> 6 <refnamediv> 7 <refname>Packed RGB formats</refname> 8 <refpurpose>Packed RGB formats</refpurpose> 9 </refnamediv> 10 <refsect1> 11 <title>Description</title> 12 13 <para>These formats are designed to match the pixel formats of 14typical PC graphics frame buffers. They occupy 8, 16, 24 or 32 bits 15per pixel. These are all packed-pixel formats, meaning all the data 16for a pixel lie next to each other in memory.</para> 17 18 <table pgwide="1" frame="none" id="rgb-formats"> 19 <title>Packed RGB Image Formats</title> 20 <tgroup cols="37" align="center"> 21 <colspec colname="id" align="left" /> 22 <colspec colname="fourcc" /> 23 <colspec colname="bit" /> 24 25 <colspec colnum="4" colname="b07" align="center" /> 26 <colspec colnum="5" colname="b06" align="center" /> 27 <colspec colnum="6" colname="b05" align="center" /> 28 <colspec colnum="7" colname="b04" align="center" /> 29 <colspec colnum="8" colname="b03" align="center" /> 30 <colspec colnum="9" colname="b02" align="center" /> 31 <colspec colnum="10" colname="b01" align="center" /> 32 <colspec colnum="11" colname="b00" align="center" /> 33 34 <colspec colnum="13" colname="b17" align="center" /> 35 <colspec colnum="14" colname="b16" align="center" /> 36 <colspec colnum="15" colname="b15" align="center" /> 37 <colspec colnum="16" colname="b14" align="center" /> 38 <colspec colnum="17" colname="b13" align="center" /> 39 <colspec colnum="18" colname="b12" align="center" /> 40 <colspec colnum="19" colname="b11" align="center" /> 41 <colspec colnum="20" colname="b10" align="center" /> 42 43 <colspec colnum="22" colname="b27" align="center" /> 44 <colspec colnum="23" colname="b26" align="center" /> 45 <colspec colnum="24" colname="b25" align="center" /> 46 <colspec colnum="25" colname="b24" align="center" /> 47 <colspec colnum="26" colname="b23" align="center" /> 48 <colspec colnum="27" colname="b22" align="center" /> 49 <colspec colnum="28" colname="b21" align="center" /> 50 <colspec colnum="29" colname="b20" align="center" /> 51 52 <colspec colnum="31" colname="b37" align="center" /> 53 <colspec colnum="32" colname="b36" align="center" /> 54 <colspec colnum="33" colname="b35" align="center" /> 55 <colspec colnum="34" colname="b34" align="center" /> 56 <colspec colnum="35" colname="b33" align="center" /> 57 <colspec colnum="36" colname="b32" align="center" /> 58 <colspec colnum="37" colname="b31" align="center" /> 59 <colspec colnum="38" colname="b30" align="center" /> 60 61 <spanspec namest="b07" nameend="b00" spanname="b0" /> 62 <spanspec namest="b17" nameend="b10" spanname="b1" /> 63 <spanspec namest="b27" nameend="b20" spanname="b2" /> 64 <spanspec namest="b37" nameend="b30" spanname="b3" /> 65 <thead> 66 <row> 67 <entry>Identifier</entry> 68 <entry>Code</entry> 69 <entry> </entry> 70 <entry spanname="b0">Byte 0 in memory</entry> 71 <entry spanname="b1">Byte 1</entry> 72 <entry spanname="b2">Byte 2</entry> 73 <entry spanname="b3">Byte 3</entry> 74 </row> 75 <row> 76 <entry> </entry> 77 <entry> </entry> 78 <entry>Bit</entry> 79 <entry>7</entry> 80 <entry>6</entry> 81 <entry>5</entry> 82 <entry>4</entry> 83 <entry>3</entry> 84 <entry>2</entry> 85 <entry>1</entry> 86 <entry>0</entry> 87 <entry> </entry> 88 <entry>7</entry> 89 <entry>6</entry> 90 <entry>5</entry> 91 <entry>4</entry> 92 <entry>3</entry> 93 <entry>2</entry> 94 <entry>1</entry> 95 <entry>0</entry> 96 <entry> </entry> 97 <entry>7</entry> 98 <entry>6</entry> 99 <entry>5</entry> 100 <entry>4</entry> 101 <entry>3</entry> 102 <entry>2</entry> 103 <entry>1</entry> 104 <entry>0</entry> 105 <entry> </entry> 106 <entry>7</entry> 107 <entry>6</entry> 108 <entry>5</entry> 109 <entry>4</entry> 110 <entry>3</entry> 111 <entry>2</entry> 112 <entry>1</entry> 113 <entry>0</entry> 114 </row> 115 </thead> 116 <tbody valign="top"> 117 <row id="V4L2-PIX-FMT-RGB332"> 118 <entry><constant>V4L2_PIX_FMT_RGB332</constant></entry> 119 <entry>'RGB1'</entry> 120 <entry></entry> 121 <entry>r<subscript>2</subscript></entry> 122 <entry>r<subscript>1</subscript></entry> 123 <entry>r<subscript>0</subscript></entry> 124 <entry>g<subscript>2</subscript></entry> 125 <entry>g<subscript>1</subscript></entry> 126 <entry>g<subscript>0</subscript></entry> 127 <entry>b<subscript>1</subscript></entry> 128 <entry>b<subscript>0</subscript></entry> 129 </row> 130 <row id="V4L2-PIX-FMT-ARGB444"> 131 <entry><constant>V4L2_PIX_FMT_ARGB444</constant></entry> 132 <entry>'AR12'</entry> 133 <entry></entry> 134 <entry>g<subscript>3</subscript></entry> 135 <entry>g<subscript>2</subscript></entry> 136 <entry>g<subscript>1</subscript></entry> 137 <entry>g<subscript>0</subscript></entry> 138 <entry>b<subscript>3</subscript></entry> 139 <entry>b<subscript>2</subscript></entry> 140 <entry>b<subscript>1</subscript></entry> 141 <entry>b<subscript>0</subscript></entry> 142 <entry></entry> 143 <entry>a<subscript>3</subscript></entry> 144 <entry>a<subscript>2</subscript></entry> 145 <entry>a<subscript>1</subscript></entry> 146 <entry>a<subscript>0</subscript></entry> 147 <entry>r<subscript>3</subscript></entry> 148 <entry>r<subscript>2</subscript></entry> 149 <entry>r<subscript>1</subscript></entry> 150 <entry>r<subscript>0</subscript></entry> 151 </row> 152 <row id="V4L2-PIX-FMT-XRGB444"> 153 <entry><constant>V4L2_PIX_FMT_XRGB444</constant></entry> 154 <entry>'XR12'</entry> 155 <entry></entry> 156 <entry>g<subscript>3</subscript></entry> 157 <entry>g<subscript>2</subscript></entry> 158 <entry>g<subscript>1</subscript></entry> 159 <entry>g<subscript>0</subscript></entry> 160 <entry>b<subscript>3</subscript></entry> 161 <entry>b<subscript>2</subscript></entry> 162 <entry>b<subscript>1</subscript></entry> 163 <entry>b<subscript>0</subscript></entry> 164 <entry></entry> 165 <entry>-</entry> 166 <entry>-</entry> 167 <entry>-</entry> 168 <entry>-</entry> 169 <entry>r<subscript>3</subscript></entry> 170 <entry>r<subscript>2</subscript></entry> 171 <entry>r<subscript>1</subscript></entry> 172 <entry>r<subscript>0</subscript></entry> 173 </row> 174 <row id="V4L2-PIX-FMT-ARGB555"> 175 <entry><constant>V4L2_PIX_FMT_ARGB555</constant></entry> 176 <entry>'AR15'</entry> 177 <entry></entry> 178 <entry>g<subscript>2</subscript></entry> 179 <entry>g<subscript>1</subscript></entry> 180 <entry>g<subscript>0</subscript></entry> 181 <entry>b<subscript>4</subscript></entry> 182 <entry>b<subscript>3</subscript></entry> 183 <entry>b<subscript>2</subscript></entry> 184 <entry>b<subscript>1</subscript></entry> 185 <entry>b<subscript>0</subscript></entry> 186 <entry></entry> 187 <entry>a</entry> 188 <entry>r<subscript>4</subscript></entry> 189 <entry>r<subscript>3</subscript></entry> 190 <entry>r<subscript>2</subscript></entry> 191 <entry>r<subscript>1</subscript></entry> 192 <entry>r<subscript>0</subscript></entry> 193 <entry>g<subscript>4</subscript></entry> 194 <entry>g<subscript>3</subscript></entry> 195 </row> 196 <row id="V4L2-PIX-FMT-XRGB555"> 197 <entry><constant>V4L2_PIX_FMT_XRGB555</constant></entry> 198 <entry>'XR15'</entry> 199 <entry></entry> 200 <entry>g<subscript>2</subscript></entry> 201 <entry>g<subscript>1</subscript></entry> 202 <entry>g<subscript>0</subscript></entry> 203 <entry>b<subscript>4</subscript></entry> 204 <entry>b<subscript>3</subscript></entry> 205 <entry>b<subscript>2</subscript></entry> 206 <entry>b<subscript>1</subscript></entry> 207 <entry>b<subscript>0</subscript></entry> 208 <entry></entry> 209 <entry>-</entry> 210 <entry>r<subscript>4</subscript></entry> 211 <entry>r<subscript>3</subscript></entry> 212 <entry>r<subscript>2</subscript></entry> 213 <entry>r<subscript>1</subscript></entry> 214 <entry>r<subscript>0</subscript></entry> 215 <entry>g<subscript>4</subscript></entry> 216 <entry>g<subscript>3</subscript></entry> 217 </row> 218 <row id="V4L2-PIX-FMT-RGB565"> 219 <entry><constant>V4L2_PIX_FMT_RGB565</constant></entry> 220 <entry>'RGBP'</entry> 221 <entry></entry> 222 <entry>g<subscript>2</subscript></entry> 223 <entry>g<subscript>1</subscript></entry> 224 <entry>g<subscript>0</subscript></entry> 225 <entry>b<subscript>4</subscript></entry> 226 <entry>b<subscript>3</subscript></entry> 227 <entry>b<subscript>2</subscript></entry> 228 <entry>b<subscript>1</subscript></entry> 229 <entry>b<subscript>0</subscript></entry> 230 <entry></entry> 231 <entry>r<subscript>4</subscript></entry> 232 <entry>r<subscript>3</subscript></entry> 233 <entry>r<subscript>2</subscript></entry> 234 <entry>r<subscript>1</subscript></entry> 235 <entry>r<subscript>0</subscript></entry> 236 <entry>g<subscript>5</subscript></entry> 237 <entry>g<subscript>4</subscript></entry> 238 <entry>g<subscript>3</subscript></entry> 239 </row> 240 <row id="V4L2-PIX-FMT-ARGB555X"> 241 <entry><constant>V4L2_PIX_FMT_ARGB555X</constant></entry> 242 <entry>'AR15' | (1 << 31)</entry> 243 <entry></entry> 244 <entry>a</entry> 245 <entry>r<subscript>4</subscript></entry> 246 <entry>r<subscript>3</subscript></entry> 247 <entry>r<subscript>2</subscript></entry> 248 <entry>r<subscript>1</subscript></entry> 249 <entry>r<subscript>0</subscript></entry> 250 <entry>g<subscript>4</subscript></entry> 251 <entry>g<subscript>3</subscript></entry> 252 <entry></entry> 253 <entry>g<subscript>2</subscript></entry> 254 <entry>g<subscript>1</subscript></entry> 255 <entry>g<subscript>0</subscript></entry> 256 <entry>b<subscript>4</subscript></entry> 257 <entry>b<subscript>3</subscript></entry> 258 <entry>b<subscript>2</subscript></entry> 259 <entry>b<subscript>1</subscript></entry> 260 <entry>b<subscript>0</subscript></entry> 261 </row> 262 <row id="V4L2-PIX-FMT-XRGB555X"> 263 <entry><constant>V4L2_PIX_FMT_XRGB555X</constant></entry> 264 <entry>'XR15' | (1 << 31)</entry> 265 <entry></entry> 266 <entry>-</entry> 267 <entry>r<subscript>4</subscript></entry> 268 <entry>r<subscript>3</subscript></entry> 269 <entry>r<subscript>2</subscript></entry> 270 <entry>r<subscript>1</subscript></entry> 271 <entry>r<subscript>0</subscript></entry> 272 <entry>g<subscript>4</subscript></entry> 273 <entry>g<subscript>3</subscript></entry> 274 <entry></entry> 275 <entry>g<subscript>2</subscript></entry> 276 <entry>g<subscript>1</subscript></entry> 277 <entry>g<subscript>0</subscript></entry> 278 <entry>b<subscript>4</subscript></entry> 279 <entry>b<subscript>3</subscript></entry> 280 <entry>b<subscript>2</subscript></entry> 281 <entry>b<subscript>1</subscript></entry> 282 <entry>b<subscript>0</subscript></entry> 283 </row> 284 <row id="V4L2-PIX-FMT-RGB565X"> 285 <entry><constant>V4L2_PIX_FMT_RGB565X</constant></entry> 286 <entry>'RGBR'</entry> 287 <entry></entry> 288 <entry>r<subscript>4</subscript></entry> 289 <entry>r<subscript>3</subscript></entry> 290 <entry>r<subscript>2</subscript></entry> 291 <entry>r<subscript>1</subscript></entry> 292 <entry>r<subscript>0</subscript></entry> 293 <entry>g<subscript>5</subscript></entry> 294 <entry>g<subscript>4</subscript></entry> 295 <entry>g<subscript>3</subscript></entry> 296 <entry></entry> 297 <entry>g<subscript>2</subscript></entry> 298 <entry>g<subscript>1</subscript></entry> 299 <entry>g<subscript>0</subscript></entry> 300 <entry>b<subscript>4</subscript></entry> 301 <entry>b<subscript>3</subscript></entry> 302 <entry>b<subscript>2</subscript></entry> 303 <entry>b<subscript>1</subscript></entry> 304 <entry>b<subscript>0</subscript></entry> 305 </row> 306 <row id="V4L2-PIX-FMT-BGR666"> 307 <entry><constant>V4L2_PIX_FMT_BGR666</constant></entry> 308 <entry>'BGRH'</entry> 309 <entry></entry> 310 <entry>b<subscript>5</subscript></entry> 311 <entry>b<subscript>4</subscript></entry> 312 <entry>b<subscript>3</subscript></entry> 313 <entry>b<subscript>2</subscript></entry> 314 <entry>b<subscript>1</subscript></entry> 315 <entry>b<subscript>0</subscript></entry> 316 <entry>g<subscript>5</subscript></entry> 317 <entry>g<subscript>4</subscript></entry> 318 <entry></entry> 319 <entry>g<subscript>3</subscript></entry> 320 <entry>g<subscript>2</subscript></entry> 321 <entry>g<subscript>1</subscript></entry> 322 <entry>g<subscript>0</subscript></entry> 323 <entry>r<subscript>5</subscript></entry> 324 <entry>r<subscript>4</subscript></entry> 325 <entry>r<subscript>3</subscript></entry> 326 <entry>r<subscript>2</subscript></entry> 327 <entry></entry> 328 <entry>r<subscript>1</subscript></entry> 329 <entry>r<subscript>0</subscript></entry> 330 <entry></entry> 331 <entry></entry> 332 <entry></entry> 333 <entry></entry> 334 <entry></entry> 335 <entry></entry> 336 <entry></entry> 337 <entry></entry> 338 <entry></entry> 339 <entry></entry> 340 <entry></entry> 341 <entry></entry> 342 <entry></entry> 343 <entry></entry> 344 </row> 345 <row id="V4L2-PIX-FMT-BGR24"> 346 <entry><constant>V4L2_PIX_FMT_BGR24</constant></entry> 347 <entry>'BGR3'</entry> 348 <entry></entry> 349 <entry>b<subscript>7</subscript></entry> 350 <entry>b<subscript>6</subscript></entry> 351 <entry>b<subscript>5</subscript></entry> 352 <entry>b<subscript>4</subscript></entry> 353 <entry>b<subscript>3</subscript></entry> 354 <entry>b<subscript>2</subscript></entry> 355 <entry>b<subscript>1</subscript></entry> 356 <entry>b<subscript>0</subscript></entry> 357 <entry></entry> 358 <entry>g<subscript>7</subscript></entry> 359 <entry>g<subscript>6</subscript></entry> 360 <entry>g<subscript>5</subscript></entry> 361 <entry>g<subscript>4</subscript></entry> 362 <entry>g<subscript>3</subscript></entry> 363 <entry>g<subscript>2</subscript></entry> 364 <entry>g<subscript>1</subscript></entry> 365 <entry>g<subscript>0</subscript></entry> 366 <entry></entry> 367 <entry>r<subscript>7</subscript></entry> 368 <entry>r<subscript>6</subscript></entry> 369 <entry>r<subscript>5</subscript></entry> 370 <entry>r<subscript>4</subscript></entry> 371 <entry>r<subscript>3</subscript></entry> 372 <entry>r<subscript>2</subscript></entry> 373 <entry>r<subscript>1</subscript></entry> 374 <entry>r<subscript>0</subscript></entry> 375 </row> 376 <row id="V4L2-PIX-FMT-RGB24"> 377 <entry><constant>V4L2_PIX_FMT_RGB24</constant></entry> 378 <entry>'RGB3'</entry> 379 <entry></entry> 380 <entry>r<subscript>7</subscript></entry> 381 <entry>r<subscript>6</subscript></entry> 382 <entry>r<subscript>5</subscript></entry> 383 <entry>r<subscript>4</subscript></entry> 384 <entry>r<subscript>3</subscript></entry> 385 <entry>r<subscript>2</subscript></entry> 386 <entry>r<subscript>1</subscript></entry> 387 <entry>r<subscript>0</subscript></entry> 388 <entry></entry> 389 <entry>g<subscript>7</subscript></entry> 390 <entry>g<subscript>6</subscript></entry> 391 <entry>g<subscript>5</subscript></entry> 392 <entry>g<subscript>4</subscript></entry> 393 <entry>g<subscript>3</subscript></entry> 394 <entry>g<subscript>2</subscript></entry> 395 <entry>g<subscript>1</subscript></entry> 396 <entry>g<subscript>0</subscript></entry> 397 <entry></entry> 398 <entry>b<subscript>7</subscript></entry> 399 <entry>b<subscript>6</subscript></entry> 400 <entry>b<subscript>5</subscript></entry> 401 <entry>b<subscript>4</subscript></entry> 402 <entry>b<subscript>3</subscript></entry> 403 <entry>b<subscript>2</subscript></entry> 404 <entry>b<subscript>1</subscript></entry> 405 <entry>b<subscript>0</subscript></entry> 406 </row> 407 <row id="V4L2-PIX-FMT-ABGR32"> 408 <entry><constant>V4L2_PIX_FMT_ABGR32</constant></entry> 409 <entry>'AR24'</entry> 410 <entry></entry> 411 <entry>b<subscript>7</subscript></entry> 412 <entry>b<subscript>6</subscript></entry> 413 <entry>b<subscript>5</subscript></entry> 414 <entry>b<subscript>4</subscript></entry> 415 <entry>b<subscript>3</subscript></entry> 416 <entry>b<subscript>2</subscript></entry> 417 <entry>b<subscript>1</subscript></entry> 418 <entry>b<subscript>0</subscript></entry> 419 <entry></entry> 420 <entry>g<subscript>7</subscript></entry> 421 <entry>g<subscript>6</subscript></entry> 422 <entry>g<subscript>5</subscript></entry> 423 <entry>g<subscript>4</subscript></entry> 424 <entry>g<subscript>3</subscript></entry> 425 <entry>g<subscript>2</subscript></entry> 426 <entry>g<subscript>1</subscript></entry> 427 <entry>g<subscript>0</subscript></entry> 428 <entry></entry> 429 <entry>r<subscript>7</subscript></entry> 430 <entry>r<subscript>6</subscript></entry> 431 <entry>r<subscript>5</subscript></entry> 432 <entry>r<subscript>4</subscript></entry> 433 <entry>r<subscript>3</subscript></entry> 434 <entry>r<subscript>2</subscript></entry> 435 <entry>r<subscript>1</subscript></entry> 436 <entry>r<subscript>0</subscript></entry> 437 <entry></entry> 438 <entry>a<subscript>7</subscript></entry> 439 <entry>a<subscript>6</subscript></entry> 440 <entry>a<subscript>5</subscript></entry> 441 <entry>a<subscript>4</subscript></entry> 442 <entry>a<subscript>3</subscript></entry> 443 <entry>a<subscript>2</subscript></entry> 444 <entry>a<subscript>1</subscript></entry> 445 <entry>a<subscript>0</subscript></entry> 446 </row> 447 <row id="V4L2-PIX-FMT-XBGR32"> 448 <entry><constant>V4L2_PIX_FMT_XBGR32</constant></entry> 449 <entry>'XR24'</entry> 450 <entry></entry> 451 <entry>b<subscript>7</subscript></entry> 452 <entry>b<subscript>6</subscript></entry> 453 <entry>b<subscript>5</subscript></entry> 454 <entry>b<subscript>4</subscript></entry> 455 <entry>b<subscript>3</subscript></entry> 456 <entry>b<subscript>2</subscript></entry> 457 <entry>b<subscript>1</subscript></entry> 458 <entry>b<subscript>0</subscript></entry> 459 <entry></entry> 460 <entry>g<subscript>7</subscript></entry> 461 <entry>g<subscript>6</subscript></entry> 462 <entry>g<subscript>5</subscript></entry> 463 <entry>g<subscript>4</subscript></entry> 464 <entry>g<subscript>3</subscript></entry> 465 <entry>g<subscript>2</subscript></entry> 466 <entry>g<subscript>1</subscript></entry> 467 <entry>g<subscript>0</subscript></entry> 468 <entry></entry> 469 <entry>r<subscript>7</subscript></entry> 470 <entry>r<subscript>6</subscript></entry> 471 <entry>r<subscript>5</subscript></entry> 472 <entry>r<subscript>4</subscript></entry> 473 <entry>r<subscript>3</subscript></entry> 474 <entry>r<subscript>2</subscript></entry> 475 <entry>r<subscript>1</subscript></entry> 476 <entry>r<subscript>0</subscript></entry> 477 <entry></entry> 478 <entry>-</entry> 479 <entry>-</entry> 480 <entry>-</entry> 481 <entry>-</entry> 482 <entry>-</entry> 483 <entry>-</entry> 484 <entry>-</entry> 485 <entry>-</entry> 486 </row> 487 <row id="V4L2-PIX-FMT-ARGB32"> 488 <entry><constant>V4L2_PIX_FMT_ARGB32</constant></entry> 489 <entry>'BA24'</entry> 490 <entry></entry> 491 <entry>a<subscript>7</subscript></entry> 492 <entry>a<subscript>6</subscript></entry> 493 <entry>a<subscript>5</subscript></entry> 494 <entry>a<subscript>4</subscript></entry> 495 <entry>a<subscript>3</subscript></entry> 496 <entry>a<subscript>2</subscript></entry> 497 <entry>a<subscript>1</subscript></entry> 498 <entry>a<subscript>0</subscript></entry> 499 <entry></entry> 500 <entry>r<subscript>7</subscript></entry> 501 <entry>r<subscript>6</subscript></entry> 502 <entry>r<subscript>5</subscript></entry> 503 <entry>r<subscript>4</subscript></entry> 504 <entry>r<subscript>3</subscript></entry> 505 <entry>r<subscript>2</subscript></entry> 506 <entry>r<subscript>1</subscript></entry> 507 <entry>r<subscript>0</subscript></entry> 508 <entry></entry> 509 <entry>g<subscript>7</subscript></entry> 510 <entry>g<subscript>6</subscript></entry> 511 <entry>g<subscript>5</subscript></entry> 512 <entry>g<subscript>4</subscript></entry> 513 <entry>g<subscript>3</subscript></entry> 514 <entry>g<subscript>2</subscript></entry> 515 <entry>g<subscript>1</subscript></entry> 516 <entry>g<subscript>0</subscript></entry> 517 <entry></entry> 518 <entry>b<subscript>7</subscript></entry> 519 <entry>b<subscript>6</subscript></entry> 520 <entry>b<subscript>5</subscript></entry> 521 <entry>b<subscript>4</subscript></entry> 522 <entry>b<subscript>3</subscript></entry> 523 <entry>b<subscript>2</subscript></entry> 524 <entry>b<subscript>1</subscript></entry> 525 <entry>b<subscript>0</subscript></entry> 526 </row> 527 <row id="V4L2-PIX-FMT-XRGB32"> 528 <entry><constant>V4L2_PIX_FMT_XRGB32</constant></entry> 529 <entry>'BX24'</entry> 530 <entry></entry> 531 <entry>-</entry> 532 <entry>-</entry> 533 <entry>-</entry> 534 <entry>-</entry> 535 <entry>-</entry> 536 <entry>-</entry> 537 <entry>-</entry> 538 <entry>-</entry> 539 <entry></entry> 540 <entry>r<subscript>7</subscript></entry> 541 <entry>r<subscript>6</subscript></entry> 542 <entry>r<subscript>5</subscript></entry> 543 <entry>r<subscript>4</subscript></entry> 544 <entry>r<subscript>3</subscript></entry> 545 <entry>r<subscript>2</subscript></entry> 546 <entry>r<subscript>1</subscript></entry> 547 <entry>r<subscript>0</subscript></entry> 548 <entry></entry> 549 <entry>g<subscript>7</subscript></entry> 550 <entry>g<subscript>6</subscript></entry> 551 <entry>g<subscript>5</subscript></entry> 552 <entry>g<subscript>4</subscript></entry> 553 <entry>g<subscript>3</subscript></entry> 554 <entry>g<subscript>2</subscript></entry> 555 <entry>g<subscript>1</subscript></entry> 556 <entry>g<subscript>0</subscript></entry> 557 <entry></entry> 558 <entry>b<subscript>7</subscript></entry> 559 <entry>b<subscript>6</subscript></entry> 560 <entry>b<subscript>5</subscript></entry> 561 <entry>b<subscript>4</subscript></entry> 562 <entry>b<subscript>3</subscript></entry> 563 <entry>b<subscript>2</subscript></entry> 564 <entry>b<subscript>1</subscript></entry> 565 <entry>b<subscript>0</subscript></entry> 566 </row> 567 </tbody> 568 </tgroup> 569 </table> 570 571 <para>Bit 7 is the most significant bit.</para> 572 573 <para>The usage and value of the alpha bits (a) in the ARGB and ABGR formats 574 (collectively referred to as alpha formats) depend on the device type and 575 hardware operation. <link linkend="capture">Capture</link> devices 576 (including capture queues of mem-to-mem devices) fill the alpha component in 577 memory. When the device outputs an alpha channel the alpha component will 578 have a meaningful value. Otherwise, when the device doesn't output an alpha 579 channel but can set the alpha bit to a user-configurable value, the <link 580 linkend="v4l2-alpha-component"><constant>V4L2_CID_ALPHA_COMPONENT</constant> 581 </link> control is used to specify that alpha value, and the alpha component 582 of all pixels will be set to the value specified by that control. Otherwise 583 a corresponding format without an alpha component (XRGB or XBGR) must be 584 used instead of an alpha format.</para> 585 586 <para><link linkend="output">Output</link> devices (including output queues 587 of mem-to-mem devices and <link linkend="osd">video output overlay</link> 588 devices) read the alpha component from memory. When the device processes the 589 alpha channel the alpha component must be filled with meaningful values by 590 applications. Otherwise a corresponding format without an alpha component 591 (XRGB or XBGR) must be used instead of an alpha format.</para> 592 593 <para>The XRGB and XBGR formats contain undefined bits (-). Applications, 594 devices and drivers must ignore those bits, for both <link 595 linkend="capture">capture</link> and <link linkend="output">output</link> 596 devices.</para> 597 598 <example> 599 <title><constant>V4L2_PIX_FMT_BGR24</constant> 4 × 4 pixel 600image</title> 601 602 <formalpara> 603 <title>Byte Order.</title> 604 <para>Each cell is one byte. 605 <informaltable frame="none"> 606 <tgroup cols="13" align="center"> 607 <colspec align="left" colwidth="2*" /> 608 <tbody valign="top"> 609 <row> 610 <entry>start + 0:</entry> 611 <entry>B<subscript>00</subscript></entry> 612 <entry>G<subscript>00</subscript></entry> 613 <entry>R<subscript>00</subscript></entry> 614 <entry>B<subscript>01</subscript></entry> 615 <entry>G<subscript>01</subscript></entry> 616 <entry>R<subscript>01</subscript></entry> 617 <entry>B<subscript>02</subscript></entry> 618 <entry>G<subscript>02</subscript></entry> 619 <entry>R<subscript>02</subscript></entry> 620 <entry>B<subscript>03</subscript></entry> 621 <entry>G<subscript>03</subscript></entry> 622 <entry>R<subscript>03</subscript></entry> 623 </row> 624 <row> 625 <entry>start + 12:</entry> 626 <entry>B<subscript>10</subscript></entry> 627 <entry>G<subscript>10</subscript></entry> 628 <entry>R<subscript>10</subscript></entry> 629 <entry>B<subscript>11</subscript></entry> 630 <entry>G<subscript>11</subscript></entry> 631 <entry>R<subscript>11</subscript></entry> 632 <entry>B<subscript>12</subscript></entry> 633 <entry>G<subscript>12</subscript></entry> 634 <entry>R<subscript>12</subscript></entry> 635 <entry>B<subscript>13</subscript></entry> 636 <entry>G<subscript>13</subscript></entry> 637 <entry>R<subscript>13</subscript></entry> 638 </row> 639 <row> 640 <entry>start + 24:</entry> 641 <entry>B<subscript>20</subscript></entry> 642 <entry>G<subscript>20</subscript></entry> 643 <entry>R<subscript>20</subscript></entry> 644 <entry>B<subscript>21</subscript></entry> 645 <entry>G<subscript>21</subscript></entry> 646 <entry>R<subscript>21</subscript></entry> 647 <entry>B<subscript>22</subscript></entry> 648 <entry>G<subscript>22</subscript></entry> 649 <entry>R<subscript>22</subscript></entry> 650 <entry>B<subscript>23</subscript></entry> 651 <entry>G<subscript>23</subscript></entry> 652 <entry>R<subscript>23</subscript></entry> 653 </row> 654 <row> 655 <entry>start + 36:</entry> 656 <entry>B<subscript>30</subscript></entry> 657 <entry>G<subscript>30</subscript></entry> 658 <entry>R<subscript>30</subscript></entry> 659 <entry>B<subscript>31</subscript></entry> 660 <entry>G<subscript>31</subscript></entry> 661 <entry>R<subscript>31</subscript></entry> 662 <entry>B<subscript>32</subscript></entry> 663 <entry>G<subscript>32</subscript></entry> 664 <entry>R<subscript>32</subscript></entry> 665 <entry>B<subscript>33</subscript></entry> 666 <entry>G<subscript>33</subscript></entry> 667 <entry>R<subscript>33</subscript></entry> 668 </row> 669 </tbody> 670 </tgroup> 671 </informaltable> 672 </para> 673 </formalpara> 674 </example> 675 676 <para>Formats defined in <xref linkend="rgb-formats-deprecated"/> are 677 deprecated and must not be used by new drivers. They are documented here for 678 reference. The meaning of their alpha bits (a) is ill-defined and 679 interpreted as in either the corresponding ARGB or XRGB format, depending on 680 the driver.</para> 681 682 <table pgwide="1" frame="none" id="rgb-formats-deprecated"> 683 <title>Deprecated Packed RGB Image Formats</title> 684 <tgroup cols="37" align="center"> 685 <colspec colname="id" align="left" /> 686 <colspec colname="fourcc" /> 687 <colspec colname="bit" /> 688 689 <colspec colnum="4" colname="b07" align="center" /> 690 <colspec colnum="5" colname="b06" align="center" /> 691 <colspec colnum="6" colname="b05" align="center" /> 692 <colspec colnum="7" colname="b04" align="center" /> 693 <colspec colnum="8" colname="b03" align="center" /> 694 <colspec colnum="9" colname="b02" align="center" /> 695 <colspec colnum="10" colname="b01" align="center" /> 696 <colspec colnum="11" colname="b00" align="center" /> 697 698 <colspec colnum="13" colname="b17" align="center" /> 699 <colspec colnum="14" colname="b16" align="center" /> 700 <colspec colnum="15" colname="b15" align="center" /> 701 <colspec colnum="16" colname="b14" align="center" /> 702 <colspec colnum="17" colname="b13" align="center" /> 703 <colspec colnum="18" colname="b12" align="center" /> 704 <colspec colnum="19" colname="b11" align="center" /> 705 <colspec colnum="20" colname="b10" align="center" /> 706 707 <colspec colnum="22" colname="b27" align="center" /> 708 <colspec colnum="23" colname="b26" align="center" /> 709 <colspec colnum="24" colname="b25" align="center" /> 710 <colspec colnum="25" colname="b24" align="center" /> 711 <colspec colnum="26" colname="b23" align="center" /> 712 <colspec colnum="27" colname="b22" align="center" /> 713 <colspec colnum="28" colname="b21" align="center" /> 714 <colspec colnum="29" colname="b20" align="center" /> 715 716 <colspec colnum="31" colname="b37" align="center" /> 717 <colspec colnum="32" colname="b36" align="center" /> 718 <colspec colnum="33" colname="b35" align="center" /> 719 <colspec colnum="34" colname="b34" align="center" /> 720 <colspec colnum="35" colname="b33" align="center" /> 721 <colspec colnum="36" colname="b32" align="center" /> 722 <colspec colnum="37" colname="b31" align="center" /> 723 <colspec colnum="38" colname="b30" align="center" /> 724 725 <spanspec namest="b07" nameend="b00" spanname="b0" /> 726 <spanspec namest="b17" nameend="b10" spanname="b1" /> 727 <spanspec namest="b27" nameend="b20" spanname="b2" /> 728 <spanspec namest="b37" nameend="b30" spanname="b3" /> 729 <thead> 730 <row> 731 <entry>Identifier</entry> 732 <entry>Code</entry> 733 <entry> </entry> 734 <entry spanname="b0">Byte 0 in memory</entry> 735 <entry spanname="b1">Byte 1</entry> 736 <entry spanname="b2">Byte 2</entry> 737 <entry spanname="b3">Byte 3</entry> 738 </row> 739 <row> 740 <entry> </entry> 741 <entry> </entry> 742 <entry>Bit</entry> 743 <entry>7</entry> 744 <entry>6</entry> 745 <entry>5</entry> 746 <entry>4</entry> 747 <entry>3</entry> 748 <entry>2</entry> 749 <entry>1</entry> 750 <entry>0</entry> 751 <entry> </entry> 752 <entry>7</entry> 753 <entry>6</entry> 754 <entry>5</entry> 755 <entry>4</entry> 756 <entry>3</entry> 757 <entry>2</entry> 758 <entry>1</entry> 759 <entry>0</entry> 760 <entry> </entry> 761 <entry>7</entry> 762 <entry>6</entry> 763 <entry>5</entry> 764 <entry>4</entry> 765 <entry>3</entry> 766 <entry>2</entry> 767 <entry>1</entry> 768 <entry>0</entry> 769 <entry> </entry> 770 <entry>7</entry> 771 <entry>6</entry> 772 <entry>5</entry> 773 <entry>4</entry> 774 <entry>3</entry> 775 <entry>2</entry> 776 <entry>1</entry> 777 <entry>0</entry> 778 </row> 779 </thead> 780 <tbody> 781 <row id="V4L2-PIX-FMT-RGB444"> 782 <entry><constant>V4L2_PIX_FMT_RGB444</constant></entry> 783 <entry>'R444'</entry> 784 <entry></entry> 785 <entry>g<subscript>3</subscript></entry> 786 <entry>g<subscript>2</subscript></entry> 787 <entry>g<subscript>1</subscript></entry> 788 <entry>g<subscript>0</subscript></entry> 789 <entry>b<subscript>3</subscript></entry> 790 <entry>b<subscript>2</subscript></entry> 791 <entry>b<subscript>1</subscript></entry> 792 <entry>b<subscript>0</subscript></entry> 793 <entry></entry> 794 <entry>a<subscript>3</subscript></entry> 795 <entry>a<subscript>2</subscript></entry> 796 <entry>a<subscript>1</subscript></entry> 797 <entry>a<subscript>0</subscript></entry> 798 <entry>r<subscript>3</subscript></entry> 799 <entry>r<subscript>2</subscript></entry> 800 <entry>r<subscript>1</subscript></entry> 801 <entry>r<subscript>0</subscript></entry> 802 </row> 803 <row id="V4L2-PIX-FMT-RGB555"> 804 <entry><constant>V4L2_PIX_FMT_RGB555</constant></entry> 805 <entry>'RGBO'</entry> 806 <entry></entry> 807 <entry>g<subscript>2</subscript></entry> 808 <entry>g<subscript>1</subscript></entry> 809 <entry>g<subscript>0</subscript></entry> 810 <entry>b<subscript>4</subscript></entry> 811 <entry>b<subscript>3</subscript></entry> 812 <entry>b<subscript>2</subscript></entry> 813 <entry>b<subscript>1</subscript></entry> 814 <entry>b<subscript>0</subscript></entry> 815 <entry></entry> 816 <entry>a</entry> 817 <entry>r<subscript>4</subscript></entry> 818 <entry>r<subscript>3</subscript></entry> 819 <entry>r<subscript>2</subscript></entry> 820 <entry>r<subscript>1</subscript></entry> 821 <entry>r<subscript>0</subscript></entry> 822 <entry>g<subscript>4</subscript></entry> 823 <entry>g<subscript>3</subscript></entry> 824 </row> 825 <row id="V4L2-PIX-FMT-RGB555X"> 826 <entry><constant>V4L2_PIX_FMT_RGB555X</constant></entry> 827 <entry>'RGBQ'</entry> 828 <entry></entry> 829 <entry>a</entry> 830 <entry>r<subscript>4</subscript></entry> 831 <entry>r<subscript>3</subscript></entry> 832 <entry>r<subscript>2</subscript></entry> 833 <entry>r<subscript>1</subscript></entry> 834 <entry>r<subscript>0</subscript></entry> 835 <entry>g<subscript>4</subscript></entry> 836 <entry>g<subscript>3</subscript></entry> 837 <entry></entry> 838 <entry>g<subscript>2</subscript></entry> 839 <entry>g<subscript>1</subscript></entry> 840 <entry>g<subscript>0</subscript></entry> 841 <entry>b<subscript>4</subscript></entry> 842 <entry>b<subscript>3</subscript></entry> 843 <entry>b<subscript>2</subscript></entry> 844 <entry>b<subscript>1</subscript></entry> 845 <entry>b<subscript>0</subscript></entry> 846 </row> 847 <row id="V4L2-PIX-FMT-BGR32"> 848 <entry><constant>V4L2_PIX_FMT_BGR32</constant></entry> 849 <entry>'BGR4'</entry> 850 <entry></entry> 851 <entry>b<subscript>7</subscript></entry> 852 <entry>b<subscript>6</subscript></entry> 853 <entry>b<subscript>5</subscript></entry> 854 <entry>b<subscript>4</subscript></entry> 855 <entry>b<subscript>3</subscript></entry> 856 <entry>b<subscript>2</subscript></entry> 857 <entry>b<subscript>1</subscript></entry> 858 <entry>b<subscript>0</subscript></entry> 859 <entry></entry> 860 <entry>g<subscript>7</subscript></entry> 861 <entry>g<subscript>6</subscript></entry> 862 <entry>g<subscript>5</subscript></entry> 863 <entry>g<subscript>4</subscript></entry> 864 <entry>g<subscript>3</subscript></entry> 865 <entry>g<subscript>2</subscript></entry> 866 <entry>g<subscript>1</subscript></entry> 867 <entry>g<subscript>0</subscript></entry> 868 <entry></entry> 869 <entry>r<subscript>7</subscript></entry> 870 <entry>r<subscript>6</subscript></entry> 871 <entry>r<subscript>5</subscript></entry> 872 <entry>r<subscript>4</subscript></entry> 873 <entry>r<subscript>3</subscript></entry> 874 <entry>r<subscript>2</subscript></entry> 875 <entry>r<subscript>1</subscript></entry> 876 <entry>r<subscript>0</subscript></entry> 877 <entry></entry> 878 <entry>a<subscript>7</subscript></entry> 879 <entry>a<subscript>6</subscript></entry> 880 <entry>a<subscript>5</subscript></entry> 881 <entry>a<subscript>4</subscript></entry> 882 <entry>a<subscript>3</subscript></entry> 883 <entry>a<subscript>2</subscript></entry> 884 <entry>a<subscript>1</subscript></entry> 885 <entry>a<subscript>0</subscript></entry> 886 </row> 887 <row id="V4L2-PIX-FMT-RGB32"> 888 <entry><constant>V4L2_PIX_FMT_RGB32</constant></entry> 889 <entry>'RGB4'</entry> 890 <entry></entry> 891 <entry>a<subscript>7</subscript></entry> 892 <entry>a<subscript>6</subscript></entry> 893 <entry>a<subscript>5</subscript></entry> 894 <entry>a<subscript>4</subscript></entry> 895 <entry>a<subscript>3</subscript></entry> 896 <entry>a<subscript>2</subscript></entry> 897 <entry>a<subscript>1</subscript></entry> 898 <entry>a<subscript>0</subscript></entry> 899 <entry></entry> 900 <entry>r<subscript>7</subscript></entry> 901 <entry>r<subscript>6</subscript></entry> 902 <entry>r<subscript>5</subscript></entry> 903 <entry>r<subscript>4</subscript></entry> 904 <entry>r<subscript>3</subscript></entry> 905 <entry>r<subscript>2</subscript></entry> 906 <entry>r<subscript>1</subscript></entry> 907 <entry>r<subscript>0</subscript></entry> 908 <entry></entry> 909 <entry>g<subscript>7</subscript></entry> 910 <entry>g<subscript>6</subscript></entry> 911 <entry>g<subscript>5</subscript></entry> 912 <entry>g<subscript>4</subscript></entry> 913 <entry>g<subscript>3</subscript></entry> 914 <entry>g<subscript>2</subscript></entry> 915 <entry>g<subscript>1</subscript></entry> 916 <entry>g<subscript>0</subscript></entry> 917 <entry></entry> 918 <entry>b<subscript>7</subscript></entry> 919 <entry>b<subscript>6</subscript></entry> 920 <entry>b<subscript>5</subscript></entry> 921 <entry>b<subscript>4</subscript></entry> 922 <entry>b<subscript>3</subscript></entry> 923 <entry>b<subscript>2</subscript></entry> 924 <entry>b<subscript>1</subscript></entry> 925 <entry>b<subscript>0</subscript></entry> 926 </row> 927 </tbody> 928 </tgroup> 929 </table> 930 931 <para>A test utility to determine which RGB formats a driver 932actually supports is available from the LinuxTV v4l-dvb repository. 933See &v4l-dvb; for access instructions.</para> 934 935 </refsect1> 936 </refentry> 937