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