pixfmt-packed-rgb.rst 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851
  1. .. -*- coding: utf-8; mode: rst -*-
  2. .. _packed-rgb:
  3. ******************
  4. Packed RGB formats
  5. ******************
  6. Description
  7. ===========
  8. These formats are designed to match the pixel formats of typical PC
  9. graphics frame buffers. They occupy 8, 16, 24 or 32 bits per pixel.
  10. These are all packed-pixel formats, meaning all the data for a pixel lie
  11. next to each other in memory.
  12. .. raw:: latex
  13. \begin{adjustbox}{width=\columnwidth}
  14. .. tabularcolumns:: |p{4.5cm}|p{3.3cm}|p{0.7cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.2cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.2cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.2cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{1.7cm}|
  15. .. _rgb-formats:
  16. .. flat-table:: Packed RGB Image Formats
  17. :header-rows: 2
  18. :stub-columns: 0
  19. * - Identifier
  20. - Code
  21. -
  22. - :cspan:`7` Byte 0 in memory
  23. -
  24. - :cspan:`7` Byte 1
  25. -
  26. - :cspan:`7` Byte 2
  27. -
  28. - :cspan:`7` Byte 3
  29. * -
  30. -
  31. - Bit
  32. - 7
  33. - 6
  34. - 5
  35. - 4
  36. - 3
  37. - 2
  38. - 1
  39. - 0
  40. -
  41. - 7
  42. - 6
  43. - 5
  44. - 4
  45. - 3
  46. - 2
  47. - 1
  48. - 0
  49. -
  50. - 7
  51. - 6
  52. - 5
  53. - 4
  54. - 3
  55. - 2
  56. - 1
  57. - 0
  58. -
  59. - 7
  60. - 6
  61. - 5
  62. - 4
  63. - 3
  64. - 2
  65. - 1
  66. - 0
  67. * .. _V4L2-PIX-FMT-RGB332:
  68. - ``V4L2_PIX_FMT_RGB332``
  69. - 'RGB1'
  70. -
  71. - r\ :sub:`2`
  72. - r\ :sub:`1`
  73. - r\ :sub:`0`
  74. - g\ :sub:`2`
  75. - g\ :sub:`1`
  76. - g\ :sub:`0`
  77. - b\ :sub:`1`
  78. - b\ :sub:`0`
  79. * .. _V4L2-PIX-FMT-ARGB444:
  80. - ``V4L2_PIX_FMT_ARGB444``
  81. - 'AR12'
  82. -
  83. - g\ :sub:`3`
  84. - g\ :sub:`2`
  85. - g\ :sub:`1`
  86. - g\ :sub:`0`
  87. - b\ :sub:`3`
  88. - b\ :sub:`2`
  89. - b\ :sub:`1`
  90. - b\ :sub:`0`
  91. -
  92. - a\ :sub:`3`
  93. - a\ :sub:`2`
  94. - a\ :sub:`1`
  95. - a\ :sub:`0`
  96. - r\ :sub:`3`
  97. - r\ :sub:`2`
  98. - r\ :sub:`1`
  99. - r\ :sub:`0`
  100. * .. _V4L2-PIX-FMT-XRGB444:
  101. - ``V4L2_PIX_FMT_XRGB444``
  102. - 'XR12'
  103. -
  104. - g\ :sub:`3`
  105. - g\ :sub:`2`
  106. - g\ :sub:`1`
  107. - g\ :sub:`0`
  108. - b\ :sub:`3`
  109. - b\ :sub:`2`
  110. - b\ :sub:`1`
  111. - b\ :sub:`0`
  112. -
  113. -
  114. -
  115. -
  116. -
  117. - r\ :sub:`3`
  118. - r\ :sub:`2`
  119. - r\ :sub:`1`
  120. - r\ :sub:`0`
  121. * .. _V4L2-PIX-FMT-ARGB555:
  122. - ``V4L2_PIX_FMT_ARGB555``
  123. - 'AR15'
  124. -
  125. - g\ :sub:`2`
  126. - g\ :sub:`1`
  127. - g\ :sub:`0`
  128. - b\ :sub:`4`
  129. - b\ :sub:`3`
  130. - b\ :sub:`2`
  131. - b\ :sub:`1`
  132. - b\ :sub:`0`
  133. -
  134. - a
  135. - r\ :sub:`4`
  136. - r\ :sub:`3`
  137. - r\ :sub:`2`
  138. - r\ :sub:`1`
  139. - r\ :sub:`0`
  140. - g\ :sub:`4`
  141. - g\ :sub:`3`
  142. * .. _V4L2-PIX-FMT-XRGB555:
  143. - ``V4L2_PIX_FMT_XRGB555``
  144. - 'XR15'
  145. -
  146. - g\ :sub:`2`
  147. - g\ :sub:`1`
  148. - g\ :sub:`0`
  149. - b\ :sub:`4`
  150. - b\ :sub:`3`
  151. - b\ :sub:`2`
  152. - b\ :sub:`1`
  153. - b\ :sub:`0`
  154. -
  155. -
  156. - r\ :sub:`4`
  157. - r\ :sub:`3`
  158. - r\ :sub:`2`
  159. - r\ :sub:`1`
  160. - r\ :sub:`0`
  161. - g\ :sub:`4`
  162. - g\ :sub:`3`
  163. * .. _V4L2-PIX-FMT-RGB565:
  164. - ``V4L2_PIX_FMT_RGB565``
  165. - 'RGBP'
  166. -
  167. - g\ :sub:`2`
  168. - g\ :sub:`1`
  169. - g\ :sub:`0`
  170. - b\ :sub:`4`
  171. - b\ :sub:`3`
  172. - b\ :sub:`2`
  173. - b\ :sub:`1`
  174. - b\ :sub:`0`
  175. -
  176. - r\ :sub:`4`
  177. - r\ :sub:`3`
  178. - r\ :sub:`2`
  179. - r\ :sub:`1`
  180. - r\ :sub:`0`
  181. - g\ :sub:`5`
  182. - g\ :sub:`4`
  183. - g\ :sub:`3`
  184. * .. _V4L2-PIX-FMT-ARGB555X:
  185. - ``V4L2_PIX_FMT_ARGB555X``
  186. - 'AR15' | (1 << 31)
  187. -
  188. - a
  189. - r\ :sub:`4`
  190. - r\ :sub:`3`
  191. - r\ :sub:`2`
  192. - r\ :sub:`1`
  193. - r\ :sub:`0`
  194. - g\ :sub:`4`
  195. - g\ :sub:`3`
  196. -
  197. - g\ :sub:`2`
  198. - g\ :sub:`1`
  199. - g\ :sub:`0`
  200. - b\ :sub:`4`
  201. - b\ :sub:`3`
  202. - b\ :sub:`2`
  203. - b\ :sub:`1`
  204. - b\ :sub:`0`
  205. * .. _V4L2-PIX-FMT-XRGB555X:
  206. - ``V4L2_PIX_FMT_XRGB555X``
  207. - 'XR15' | (1 << 31)
  208. -
  209. -
  210. - r\ :sub:`4`
  211. - r\ :sub:`3`
  212. - r\ :sub:`2`
  213. - r\ :sub:`1`
  214. - r\ :sub:`0`
  215. - g\ :sub:`4`
  216. - g\ :sub:`3`
  217. -
  218. - g\ :sub:`2`
  219. - g\ :sub:`1`
  220. - g\ :sub:`0`
  221. - b\ :sub:`4`
  222. - b\ :sub:`3`
  223. - b\ :sub:`2`
  224. - b\ :sub:`1`
  225. - b\ :sub:`0`
  226. * .. _V4L2-PIX-FMT-RGB565X:
  227. - ``V4L2_PIX_FMT_RGB565X``
  228. - 'RGBR'
  229. -
  230. - r\ :sub:`4`
  231. - r\ :sub:`3`
  232. - r\ :sub:`2`
  233. - r\ :sub:`1`
  234. - r\ :sub:`0`
  235. - g\ :sub:`5`
  236. - g\ :sub:`4`
  237. - g\ :sub:`3`
  238. -
  239. - g\ :sub:`2`
  240. - g\ :sub:`1`
  241. - g\ :sub:`0`
  242. - b\ :sub:`4`
  243. - b\ :sub:`3`
  244. - b\ :sub:`2`
  245. - b\ :sub:`1`
  246. - b\ :sub:`0`
  247. * .. _V4L2-PIX-FMT-BGR24:
  248. - ``V4L2_PIX_FMT_BGR24``
  249. - 'BGR3'
  250. -
  251. - b\ :sub:`7`
  252. - b\ :sub:`6`
  253. - b\ :sub:`5`
  254. - b\ :sub:`4`
  255. - b\ :sub:`3`
  256. - b\ :sub:`2`
  257. - b\ :sub:`1`
  258. - b\ :sub:`0`
  259. -
  260. - g\ :sub:`7`
  261. - g\ :sub:`6`
  262. - g\ :sub:`5`
  263. - g\ :sub:`4`
  264. - g\ :sub:`3`
  265. - g\ :sub:`2`
  266. - g\ :sub:`1`
  267. - g\ :sub:`0`
  268. -
  269. - r\ :sub:`7`
  270. - r\ :sub:`6`
  271. - r\ :sub:`5`
  272. - r\ :sub:`4`
  273. - r\ :sub:`3`
  274. - r\ :sub:`2`
  275. - r\ :sub:`1`
  276. - r\ :sub:`0`
  277. * .. _V4L2-PIX-FMT-RGB24:
  278. - ``V4L2_PIX_FMT_RGB24``
  279. - 'RGB3'
  280. -
  281. - r\ :sub:`7`
  282. - r\ :sub:`6`
  283. - r\ :sub:`5`
  284. - r\ :sub:`4`
  285. - r\ :sub:`3`
  286. - r\ :sub:`2`
  287. - r\ :sub:`1`
  288. - r\ :sub:`0`
  289. -
  290. - g\ :sub:`7`
  291. - g\ :sub:`6`
  292. - g\ :sub:`5`
  293. - g\ :sub:`4`
  294. - g\ :sub:`3`
  295. - g\ :sub:`2`
  296. - g\ :sub:`1`
  297. - g\ :sub:`0`
  298. -
  299. - b\ :sub:`7`
  300. - b\ :sub:`6`
  301. - b\ :sub:`5`
  302. - b\ :sub:`4`
  303. - b\ :sub:`3`
  304. - b\ :sub:`2`
  305. - b\ :sub:`1`
  306. - b\ :sub:`0`
  307. * .. _V4L2-PIX-FMT-BGR666:
  308. - ``V4L2_PIX_FMT_BGR666``
  309. - 'BGRH'
  310. -
  311. - b\ :sub:`5`
  312. - b\ :sub:`4`
  313. - b\ :sub:`3`
  314. - b\ :sub:`2`
  315. - b\ :sub:`1`
  316. - b\ :sub:`0`
  317. - g\ :sub:`5`
  318. - g\ :sub:`4`
  319. -
  320. - g\ :sub:`3`
  321. - g\ :sub:`2`
  322. - g\ :sub:`1`
  323. - g\ :sub:`0`
  324. - r\ :sub:`5`
  325. - r\ :sub:`4`
  326. - r\ :sub:`3`
  327. - r\ :sub:`2`
  328. -
  329. - r\ :sub:`1`
  330. - r\ :sub:`0`
  331. -
  332. -
  333. -
  334. -
  335. -
  336. -
  337. -
  338. -
  339. -
  340. -
  341. -
  342. -
  343. -
  344. -
  345. -
  346. * .. _V4L2-PIX-FMT-ABGR32:
  347. - ``V4L2_PIX_FMT_ABGR32``
  348. - 'AR24'
  349. -
  350. - b\ :sub:`7`
  351. - b\ :sub:`6`
  352. - b\ :sub:`5`
  353. - b\ :sub:`4`
  354. - b\ :sub:`3`
  355. - b\ :sub:`2`
  356. - b\ :sub:`1`
  357. - b\ :sub:`0`
  358. -
  359. - g\ :sub:`7`
  360. - g\ :sub:`6`
  361. - g\ :sub:`5`
  362. - g\ :sub:`4`
  363. - g\ :sub:`3`
  364. - g\ :sub:`2`
  365. - g\ :sub:`1`
  366. - g\ :sub:`0`
  367. -
  368. - r\ :sub:`7`
  369. - r\ :sub:`6`
  370. - r\ :sub:`5`
  371. - r\ :sub:`4`
  372. - r\ :sub:`3`
  373. - r\ :sub:`2`
  374. - r\ :sub:`1`
  375. - r\ :sub:`0`
  376. -
  377. - a\ :sub:`7`
  378. - a\ :sub:`6`
  379. - a\ :sub:`5`
  380. - a\ :sub:`4`
  381. - a\ :sub:`3`
  382. - a\ :sub:`2`
  383. - a\ :sub:`1`
  384. - a\ :sub:`0`
  385. * .. _V4L2-PIX-FMT-XBGR32:
  386. - ``V4L2_PIX_FMT_XBGR32``
  387. - 'XR24'
  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. -
  417. -
  418. -
  419. -
  420. -
  421. -
  422. -
  423. -
  424. * .. _V4L2-PIX-FMT-ARGB32:
  425. - ``V4L2_PIX_FMT_ARGB32``
  426. - 'BA24'
  427. -
  428. - a\ :sub:`7`
  429. - a\ :sub:`6`
  430. - a\ :sub:`5`
  431. - a\ :sub:`4`
  432. - a\ :sub:`3`
  433. - a\ :sub:`2`
  434. - a\ :sub:`1`
  435. - a\ :sub:`0`
  436. -
  437. - r\ :sub:`7`
  438. - r\ :sub:`6`
  439. - r\ :sub:`5`
  440. - r\ :sub:`4`
  441. - r\ :sub:`3`
  442. - r\ :sub:`2`
  443. - r\ :sub:`1`
  444. - r\ :sub:`0`
  445. -
  446. - g\ :sub:`7`
  447. - g\ :sub:`6`
  448. - g\ :sub:`5`
  449. - g\ :sub:`4`
  450. - g\ :sub:`3`
  451. - g\ :sub:`2`
  452. - g\ :sub:`1`
  453. - g\ :sub:`0`
  454. -
  455. - b\ :sub:`7`
  456. - b\ :sub:`6`
  457. - b\ :sub:`5`
  458. - b\ :sub:`4`
  459. - b\ :sub:`3`
  460. - b\ :sub:`2`
  461. - b\ :sub:`1`
  462. - b\ :sub:`0`
  463. * .. _V4L2-PIX-FMT-XRGB32:
  464. - ``V4L2_PIX_FMT_XRGB32``
  465. - 'BX24'
  466. -
  467. -
  468. -
  469. -
  470. -
  471. -
  472. -
  473. -
  474. -
  475. -
  476. - r\ :sub:`7`
  477. - r\ :sub:`6`
  478. - r\ :sub:`5`
  479. - r\ :sub:`4`
  480. - r\ :sub:`3`
  481. - r\ :sub:`2`
  482. - r\ :sub:`1`
  483. - r\ :sub:`0`
  484. -
  485. - g\ :sub:`7`
  486. - g\ :sub:`6`
  487. - g\ :sub:`5`
  488. - g\ :sub:`4`
  489. - g\ :sub:`3`
  490. - g\ :sub:`2`
  491. - g\ :sub:`1`
  492. - g\ :sub:`0`
  493. -
  494. - b\ :sub:`7`
  495. - b\ :sub:`6`
  496. - b\ :sub:`5`
  497. - b\ :sub:`4`
  498. - b\ :sub:`3`
  499. - b\ :sub:`2`
  500. - b\ :sub:`1`
  501. - b\ :sub:`0`
  502. .. raw:: latex
  503. \end{adjustbox}\newline\newline
  504. .. note:: Bit 7 is the most significant bit.
  505. The usage and value of the alpha bits (a) in the ARGB and ABGR formats
  506. (collectively referred to as alpha formats) depend on the device type
  507. and hardware operation. :ref:`Capture <capture>` devices (including
  508. capture queues of mem-to-mem devices) fill the alpha component in
  509. memory. When the device outputs an alpha channel the alpha component
  510. will have a meaningful value. Otherwise, when the device doesn't output
  511. an alpha channel but can set the alpha bit to a user-configurable value,
  512. the :ref:`V4L2_CID_ALPHA_COMPONENT <v4l2-alpha-component>` control
  513. is used to specify that alpha value, and the alpha component of all
  514. pixels will be set to the value specified by that control. Otherwise a
  515. corresponding format without an alpha component (XRGB or XBGR) must be
  516. used instead of an alpha format.
  517. :ref:`Output <output>` devices (including output queues of mem-to-mem
  518. devices and :ref:`video output overlay <osd>` devices) read the alpha
  519. component from memory. When the device processes the alpha channel the
  520. alpha component must be filled with meaningful values by applications.
  521. Otherwise a corresponding format without an alpha component (XRGB or
  522. XBGR) must be used instead of an alpha format.
  523. The XRGB and XBGR formats contain undefined bits (-). Applications,
  524. devices and drivers must ignore those bits, for both
  525. :ref:`capture` and :ref:`output` devices.
  526. **Byte Order.**
  527. Each cell is one byte.
  528. .. raw:: latex
  529. \newline\newline\begin{adjustbox}{width=\columnwidth}
  530. .. tabularcolumns:: |p{4.1cm}|p{1.1cm}|p{1.1cm}|p{1.1cm}|p{1.1cm}|p{1.1cm}|p{1.1cm}|p{1.1cm}|p{1.1cm}|p{1.1cm}|p{1.1cm}|p{1.1cm}|p{1.3cm}|
  531. .. flat-table:: RGB byte order
  532. :header-rows: 0
  533. :stub-columns: 0
  534. :widths: 11 3 3 3 3 3 3 3 3 3 3 3 3
  535. * - start + 0:
  536. - B\ :sub:`00`
  537. - G\ :sub:`00`
  538. - R\ :sub:`00`
  539. - B\ :sub:`01`
  540. - G\ :sub:`01`
  541. - R\ :sub:`01`
  542. - B\ :sub:`02`
  543. - G\ :sub:`02`
  544. - R\ :sub:`02`
  545. - B\ :sub:`03`
  546. - G\ :sub:`03`
  547. - R\ :sub:`03`
  548. * - start + 12:
  549. - B\ :sub:`10`
  550. - G\ :sub:`10`
  551. - R\ :sub:`10`
  552. - B\ :sub:`11`
  553. - G\ :sub:`11`
  554. - R\ :sub:`11`
  555. - B\ :sub:`12`
  556. - G\ :sub:`12`
  557. - R\ :sub:`12`
  558. - B\ :sub:`13`
  559. - G\ :sub:`13`
  560. - R\ :sub:`13`
  561. * - start + 24:
  562. - B\ :sub:`20`
  563. - G\ :sub:`20`
  564. - R\ :sub:`20`
  565. - B\ :sub:`21`
  566. - G\ :sub:`21`
  567. - R\ :sub:`21`
  568. - B\ :sub:`22`
  569. - G\ :sub:`22`
  570. - R\ :sub:`22`
  571. - B\ :sub:`23`
  572. - G\ :sub:`23`
  573. - R\ :sub:`23`
  574. * - start + 36:
  575. - B\ :sub:`30`
  576. - G\ :sub:`30`
  577. - R\ :sub:`30`
  578. - B\ :sub:`31`
  579. - G\ :sub:`31`
  580. - R\ :sub:`31`
  581. - B\ :sub:`32`
  582. - G\ :sub:`32`
  583. - R\ :sub:`32`
  584. - B\ :sub:`33`
  585. - G\ :sub:`33`
  586. - R\ :sub:`33`
  587. .. raw:: latex
  588. \end{adjustbox}\newline\newline
  589. Formats defined in :ref:`rgb-formats-deprecated` are deprecated and
  590. must not be used by new drivers. They are documented here for reference.
  591. The meaning of their alpha bits (a) is ill-defined and interpreted as in
  592. either the corresponding ARGB or XRGB format, depending on the driver.
  593. .. raw:: latex
  594. \begin{adjustbox}{width=\columnwidth}
  595. .. tabularcolumns:: |p{4.2cm}|p{1.0cm}|p{0.7cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.2cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.2cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.2cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{0.4cm}|p{1.7cm}|
  596. .. _rgb-formats-deprecated:
  597. .. flat-table:: Deprecated Packed RGB Image Formats
  598. :header-rows: 2
  599. :stub-columns: 0
  600. * - Identifier
  601. - Code
  602. -
  603. - :cspan:`7` Byte 0 in memory
  604. -
  605. - :cspan:`7` Byte 1
  606. -
  607. - :cspan:`7` Byte 2
  608. -
  609. - :cspan:`7` Byte 3
  610. * -
  611. -
  612. - Bit
  613. - 7
  614. - 6
  615. - 5
  616. - 4
  617. - 3
  618. - 2
  619. - 1
  620. - 0
  621. -
  622. - 7
  623. - 6
  624. - 5
  625. - 4
  626. - 3
  627. - 2
  628. - 1
  629. - 0
  630. -
  631. - 7
  632. - 6
  633. - 5
  634. - 4
  635. - 3
  636. - 2
  637. - 1
  638. - 0
  639. -
  640. - 7
  641. - 6
  642. - 5
  643. - 4
  644. - 3
  645. - 2
  646. - 1
  647. - 0
  648. * .. _V4L2-PIX-FMT-RGB444:
  649. - ``V4L2_PIX_FMT_RGB444``
  650. - 'R444'
  651. -
  652. - g\ :sub:`3`
  653. - g\ :sub:`2`
  654. - g\ :sub:`1`
  655. - g\ :sub:`0`
  656. - b\ :sub:`3`
  657. - b\ :sub:`2`
  658. - b\ :sub:`1`
  659. - b\ :sub:`0`
  660. -
  661. - a\ :sub:`3`
  662. - a\ :sub:`2`
  663. - a\ :sub:`1`
  664. - a\ :sub:`0`
  665. - r\ :sub:`3`
  666. - r\ :sub:`2`
  667. - r\ :sub:`1`
  668. - r\ :sub:`0`
  669. * .. _V4L2-PIX-FMT-RGB555:
  670. - ``V4L2_PIX_FMT_RGB555``
  671. - 'RGBO'
  672. -
  673. - g\ :sub:`2`
  674. - g\ :sub:`1`
  675. - g\ :sub:`0`
  676. - b\ :sub:`4`
  677. - b\ :sub:`3`
  678. - b\ :sub:`2`
  679. - b\ :sub:`1`
  680. - b\ :sub:`0`
  681. -
  682. - a
  683. - r\ :sub:`4`
  684. - r\ :sub:`3`
  685. - r\ :sub:`2`
  686. - r\ :sub:`1`
  687. - r\ :sub:`0`
  688. - g\ :sub:`4`
  689. - g\ :sub:`3`
  690. * .. _V4L2-PIX-FMT-RGB555X:
  691. - ``V4L2_PIX_FMT_RGB555X``
  692. - 'RGBQ'
  693. -
  694. - a
  695. - r\ :sub:`4`
  696. - r\ :sub:`3`
  697. - r\ :sub:`2`
  698. - r\ :sub:`1`
  699. - r\ :sub:`0`
  700. - g\ :sub:`4`
  701. - g\ :sub:`3`
  702. -
  703. - g\ :sub:`2`
  704. - g\ :sub:`1`
  705. - g\ :sub:`0`
  706. - b\ :sub:`4`
  707. - b\ :sub:`3`
  708. - b\ :sub:`2`
  709. - b\ :sub:`1`
  710. - b\ :sub:`0`
  711. * .. _V4L2-PIX-FMT-BGR32:
  712. - ``V4L2_PIX_FMT_BGR32``
  713. - 'BGR4'
  714. -
  715. - b\ :sub:`7`
  716. - b\ :sub:`6`
  717. - b\ :sub:`5`
  718. - b\ :sub:`4`
  719. - b\ :sub:`3`
  720. - b\ :sub:`2`
  721. - b\ :sub:`1`
  722. - b\ :sub:`0`
  723. -
  724. - g\ :sub:`7`
  725. - g\ :sub:`6`
  726. - g\ :sub:`5`
  727. - g\ :sub:`4`
  728. - g\ :sub:`3`
  729. - g\ :sub:`2`
  730. - g\ :sub:`1`
  731. - g\ :sub:`0`
  732. -
  733. - r\ :sub:`7`
  734. - r\ :sub:`6`
  735. - r\ :sub:`5`
  736. - r\ :sub:`4`
  737. - r\ :sub:`3`
  738. - r\ :sub:`2`
  739. - r\ :sub:`1`
  740. - r\ :sub:`0`
  741. -
  742. - a\ :sub:`7`
  743. - a\ :sub:`6`
  744. - a\ :sub:`5`
  745. - a\ :sub:`4`
  746. - a\ :sub:`3`
  747. - a\ :sub:`2`
  748. - a\ :sub:`1`
  749. - a\ :sub:`0`
  750. * .. _V4L2-PIX-FMT-RGB32:
  751. - ``V4L2_PIX_FMT_RGB32``
  752. - 'RGB4'
  753. -
  754. - a\ :sub:`7`
  755. - a\ :sub:`6`
  756. - a\ :sub:`5`
  757. - a\ :sub:`4`
  758. - a\ :sub:`3`
  759. - a\ :sub:`2`
  760. - a\ :sub:`1`
  761. - a\ :sub:`0`
  762. -
  763. - r\ :sub:`7`
  764. - r\ :sub:`6`
  765. - r\ :sub:`5`
  766. - r\ :sub:`4`
  767. - r\ :sub:`3`
  768. - r\ :sub:`2`
  769. - r\ :sub:`1`
  770. - r\ :sub:`0`
  771. -
  772. - g\ :sub:`7`
  773. - g\ :sub:`6`
  774. - g\ :sub:`5`
  775. - g\ :sub:`4`
  776. - g\ :sub:`3`
  777. - g\ :sub:`2`
  778. - g\ :sub:`1`
  779. - g\ :sub:`0`
  780. -
  781. - b\ :sub:`7`
  782. - b\ :sub:`6`
  783. - b\ :sub:`5`
  784. - b\ :sub:`4`
  785. - b\ :sub:`3`
  786. - b\ :sub:`2`
  787. - b\ :sub:`1`
  788. - b\ :sub:`0`
  789. .. raw:: latex
  790. \end{adjustbox}\newline\newline
  791. A test utility to determine which RGB formats a driver actually supports
  792. is available from the LinuxTV v4l-dvb repository. See
  793. `https://linuxtv.org/repo/ <https://linuxtv.org/repo/>`__ for access
  794. instructions.