pixfmt-yuv444m.rst 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. .. -*- coding: utf-8; mode: rst -*-
  2. .. _V4L2-PIX-FMT-YUV444M:
  3. .. _v4l2-pix-fmt-yvu444m:
  4. ************************************************************
  5. V4L2_PIX_FMT_YUV444M ('YM24'), V4L2_PIX_FMT_YVU444M ('YM42')
  6. ************************************************************
  7. V4L2_PIX_FMT_YVU444M
  8. Planar formats with full horizontal resolution, also known as YUV and
  9. YVU 4:4:4
  10. Description
  11. ===========
  12. This is a multi-planar format, as opposed to a packed format. The three
  13. components are separated into three sub-images or planes.
  14. The Y plane is first. The Y plane has one byte per pixel. For
  15. ``V4L2_PIX_FMT_YUV444M`` the Cb data constitutes the second plane which
  16. is the same width and height as the Y plane (and as the image). The Cr
  17. data, just like the Cb plane, is in the third plane.
  18. ``V4L2_PIX_FMT_YVU444M`` is the same except the Cr data is stored in the
  19. second plane and the Cb data in the third plane.
  20. If the Y plane has pad bytes after each row, then the Cb and Cr planes
  21. have the same number of pad bytes after their rows.
  22. ``V4L2_PIX_FMT_YUV444M`` and ``V4L2_PIX_FMT_YUV444M`` are intended to be
  23. used only in drivers and applications that support the multi-planar API,
  24. described in :ref:`planar-apis`.
  25. **Byte Order.**
  26. Each cell is one byte.
  27. .. flat-table::
  28. :header-rows: 0
  29. :stub-columns: 0
  30. * - start0 + 0:
  31. - Y'\ :sub:`00`
  32. - Y'\ :sub:`01`
  33. - Y'\ :sub:`02`
  34. - Y'\ :sub:`03`
  35. * - start0 + 4:
  36. - Y'\ :sub:`10`
  37. - Y'\ :sub:`11`
  38. - Y'\ :sub:`12`
  39. - Y'\ :sub:`13`
  40. * - start0 + 8:
  41. - Y'\ :sub:`20`
  42. - Y'\ :sub:`21`
  43. - Y'\ :sub:`22`
  44. - Y'\ :sub:`23`
  45. * - start0 + 12:
  46. - Y'\ :sub:`30`
  47. - Y'\ :sub:`31`
  48. - Y'\ :sub:`32`
  49. - Y'\ :sub:`33`
  50. * -
  51. * - start1 + 0:
  52. - Cb\ :sub:`00`
  53. - Cb\ :sub:`01`
  54. - Cb\ :sub:`02`
  55. - Cb\ :sub:`03`
  56. * - start1 + 4:
  57. - Cb\ :sub:`10`
  58. - Cb\ :sub:`11`
  59. - Cb\ :sub:`12`
  60. - Cb\ :sub:`13`
  61. * - start1 + 8:
  62. - Cb\ :sub:`20`
  63. - Cb\ :sub:`21`
  64. - Cb\ :sub:`22`
  65. - Cb\ :sub:`23`
  66. * - start1 + 12:
  67. - Cb\ :sub:`20`
  68. - Cb\ :sub:`21`
  69. - Cb\ :sub:`32`
  70. - Cb\ :sub:`33`
  71. * -
  72. * - start2 + 0:
  73. - Cr\ :sub:`00`
  74. - Cr\ :sub:`01`
  75. - Cr\ :sub:`02`
  76. - Cr\ :sub:`03`
  77. * - start2 + 4:
  78. - Cr\ :sub:`10`
  79. - Cr\ :sub:`11`
  80. - Cr\ :sub:`12`
  81. - Cr\ :sub:`13`
  82. * - start2 + 8:
  83. - Cr\ :sub:`20`
  84. - Cr\ :sub:`21`
  85. - Cr\ :sub:`22`
  86. - Cr\ :sub:`23`
  87. * - start2 + 12:
  88. - Cr\ :sub:`30`
  89. - Cr\ :sub:`31`
  90. - Cr\ :sub:`32`
  91. - Cr\ :sub:`33`
  92. **Color Sample Location..**
  93. .. flat-table::
  94. :header-rows: 0
  95. :stub-columns: 0
  96. * -
  97. - 0
  98. - 1
  99. - 2
  100. - 3
  101. * - 0
  102. - YC
  103. - YC
  104. - YC
  105. - YC
  106. * - 1
  107. - YC
  108. - YC
  109. - YC
  110. - YC
  111. * - 2
  112. - YC
  113. - YC
  114. - YC
  115. - YC
  116. * - 3
  117. - YC
  118. - YC
  119. - YC
  120. - YC