• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.. -*- coding: utf-8; mode: rst -*-
2
3.. _V4L2-PIX-FMT-NV24:
4.. _V4L2-PIX-FMT-NV42:
5
6******************************************************
7V4L2_PIX_FMT_NV24 ('NV24'), V4L2_PIX_FMT_NV42 ('NV42')
8******************************************************
9
10V4L2_PIX_FMT_NV42
11Formats with full horizontal and vertical chroma resolutions, also known
12as YUV 4:4:4. One luminance and one chrominance plane with alternating
13chroma samples as opposed to ``V4L2_PIX_FMT_YVU420``
14
15
16Description
17===========
18
19These are two-plane versions of the YUV 4:4:4 format. The three
20components are separated into two sub-images or planes. The Y plane is
21first, with each Y sample stored in one byte per pixel. For
22``V4L2_PIX_FMT_NV24``, a combined CbCr plane immediately follows the Y
23plane in memory. The CbCr plane has the same width and height, in
24pixels, as the Y plane (and the image). Each line contains one CbCr pair
25per pixel, with each Cb and Cr sample stored in one byte.
26``V4L2_PIX_FMT_NV42`` is the same except that the Cb and Cr samples are
27swapped, the CrCb plane starts with a Cr sample.
28
29If the Y plane has pad bytes after each row, then the CbCr plane has
30twice as many pad bytes after its rows.
31
32**Byte Order.**
33Each cell is one byte.
34
35
36.. flat-table::
37    :header-rows:  0
38    :stub-columns: 0
39
40    * - start + 0:
41      - Y'\ :sub:`00`
42      - Y'\ :sub:`01`
43      - Y'\ :sub:`02`
44      - Y'\ :sub:`03`
45    * - start + 4:
46      - Y'\ :sub:`10`
47      - Y'\ :sub:`11`
48      - Y'\ :sub:`12`
49      - Y'\ :sub:`13`
50    * - start + 8:
51      - Y'\ :sub:`20`
52      - Y'\ :sub:`21`
53      - Y'\ :sub:`22`
54      - Y'\ :sub:`23`
55    * - start + 12:
56      - Y'\ :sub:`30`
57      - Y'\ :sub:`31`
58      - Y'\ :sub:`32`
59      - Y'\ :sub:`33`
60    * - start + 16:
61      - Cb\ :sub:`00`
62      - Cr\ :sub:`00`
63      - Cb\ :sub:`01`
64      - Cr\ :sub:`01`
65      - Cb\ :sub:`02`
66      - Cr\ :sub:`02`
67      - Cb\ :sub:`03`
68      - Cr\ :sub:`03`
69    * - start + 24:
70      - Cb\ :sub:`10`
71      - Cr\ :sub:`10`
72      - Cb\ :sub:`11`
73      - Cr\ :sub:`11`
74      - Cb\ :sub:`12`
75      - Cr\ :sub:`12`
76      - Cb\ :sub:`13`
77      - Cr\ :sub:`13`
78    * - start + 32:
79      - Cb\ :sub:`20`
80      - Cr\ :sub:`20`
81      - Cb\ :sub:`21`
82      - Cr\ :sub:`21`
83      - Cb\ :sub:`22`
84      - Cr\ :sub:`22`
85      - Cb\ :sub:`23`
86      - Cr\ :sub:`23`
87    * - start + 40:
88      - Cb\ :sub:`30`
89      - Cr\ :sub:`30`
90      - Cb\ :sub:`31`
91      - Cr\ :sub:`31`
92      - Cb\ :sub:`32`
93      - Cr\ :sub:`32`
94      - Cb\ :sub:`33`
95      - Cr\ :sub:`33`
96