  <title>Image Formats</title>

  <para>The V4L2 API was primarily designed for devices exchanging
image data with applications. The
<structname>v4l2_pix_format</structname> and <structname>v4l2_pix_format_mplane
</structname> structures define the format and layout of an image in memory.
The former is used with the single-planar API, while the latter is used with the
multi-planar version (see <xref linkend="planar-apis"/>). Image formats are
negotiated with the &VIDIOC-S-FMT; ioctl. (The explanations here focus on video
capturing and output, for overlay frame buffer formats see also
&VIDIOC-G-FBUF;.)</para>

<section>
  <title>Single-planar format structure</title>
  <table pgwide="1" frame="none" id="v4l2-pix-format">
    <title>struct <structname>v4l2_pix_format</structname></title>
    <tgroup cols="3">
      &cs-str;
      <tbody valign="top">
	<row>
	  <entry>__u32</entry>
	  <entry><structfield>width</structfield></entry>
	  <entry>Image width in pixels.</entry>
	</row>
	<row>
	  <entry>__u32</entry>
	  <entry><structfield>height</structfield></entry>
	  <entry>Image height in pixels. If <structfield>field</structfield> is
	  one of <constant>V4L2_FIELD_TOP</constant>, <constant>V4L2_FIELD_BOTTOM</constant>
	  or <constant>V4L2_FIELD_ALTERNATE</constant> then height refers to the
	  number of lines in the field, otherwise it refers to the number of
	  lines in the frame (which is twice the field height for interlaced
	  formats).</entry>
	</row>
	<row>
	  <entry spanname="hspan">Applications set these fields to
request an image size, drivers return the closest possible values. In
case of planar formats the <structfield>width</structfield> and
<structfield>height</structfield> applies to the largest plane. To
avoid ambiguities drivers must return values rounded up to a multiple
of the scale factor of any smaller planes. For example when the image
format is YUV 4:2:0, <structfield>width</structfield> and
<structfield>height</structfield> must be multiples of two.</entry>
	</row>
	<row>
	  <entry>__u32</entry>
	  <entry><structfield>pixelformat</structfield></entry>
	  <entry>The pixel format or type of compression, set by the
application. This is a little endian <link
linkend="v4l2-fourcc">four character code</link>. V4L2 defines
standard RGB formats in <xref linkend="rgb-formats" />, YUV formats in <xref
linkend="yuv-formats" />, and reserved codes in <xref
linkend="reserved-formats" /></entry>
	</row>
	<row>
	  <entry>&v4l2-field;</entry>
	  <entry><structfield>field</structfield></entry>
	  <entry>Video images are typically interlaced. Applications
can request to capture or output only the top or bottom field, or both
fields interlaced or sequentially stored in one buffer or alternating
in separate buffers. Drivers return the actual field order selected.
For more details on fields see <xref linkend="field-order" />.</entry>
	</row>
	<row>
	  <entry>__u32</entry>
	  <entry><structfield>bytesperline</structfield></entry>
	  <entry>Distance in bytes between the leftmost pixels in two
adjacent lines.</entry>
	</row>
	<row>
	  <entry spanname="hspan"><para>Both applications and drivers
can set this field to request padding bytes at the end of each line.
Drivers however may ignore the value requested by the application,
returning <structfield>width</structfield> times bytes per pixel or a
larger value required by the hardware. That implies applications can
just set this field to zero to get a reasonable
default.</para><para>Video hardware may access padding bytes,
therefore they must reside in accessible memory. Consider cases where
padding bytes after the last line of an image cross a system page
boundary. Input devices may write padding bytes, the value is
undefined. Output devices ignore the contents of padding
bytes.</para><para>When the image format is planar the
<structfield>bytesperline</structfield> value applies to the first
plane and is divided by the same factor as the
<structfield>width</structfield> field for the other planes. For
example the Cb and Cr planes of a YUV 4:2:0 image have half as many
padding bytes following each line as the Y plane. To avoid ambiguities
drivers must return a <structfield>bytesperline</structfield> value
rounded up to a multiple of the scale factor.</para>
<para>For compressed formats the <structfield>bytesperline</structfield>
value makes no sense. Applications and drivers must set this to 0 in
that case.</para></entry>
	</row>
	<row>
	  <entry>__u32</entry>
	  <entry><structfield>sizeimage</structfield></entry>
	  <entry>Size in bytes of the buffer to hold a complete image,
set by the driver. Usually this is
<structfield>bytesperline</structfield> times
<structfield>height</structfield>. When the image consists of variable
length compressed data this is the maximum number of bytes required to
hold an image.</entry>
	</row>
	<row>
	  <entry>&v4l2-colorspace;</entry>
	  <entry><structfield>colorspace</structfield></entry>
	  <entry>This information supplements the
<structfield>pixelformat</structfield> and must be set by the driver for
capture streams and by the application for output streams,
see <xref linkend="colorspaces" />.</entry>
	</row>
	<row>
	  <entry>__u32</entry>
	  <entry><structfield>priv</structfield></entry>
	  <entry><para>This field indicates whether the remaining fields of the
<structname>v4l2_pix_format</structname> structure, also called the extended
fields, are valid. When set to <constant>V4L2_PIX_FMT_PRIV_MAGIC</constant>, it
indicates that the extended fields have been correctly initialized. When set to
any other value it indicates that the extended fields contain undefined values.
</para>
<para>Applications that wish to use the pixel format extended fields must first
ensure that the feature is supported by querying the device for the
<link linkend="querycap"><constant>V4L2_CAP_EXT_PIX_FORMAT</constant></link>
capability. If the capability isn't set the pixel format extended fields are not
supported and using the extended fields will lead to undefined results.</para>
<para>To use the extended fields, applications must set the
<structfield>priv</structfield> field to
<constant>V4L2_PIX_FMT_PRIV_MAGIC</constant>, initialize all the extended fields
and zero the unused bytes of the <structname>v4l2_format</structname>
<structfield>raw_data</structfield> field.</para>
<para>When the <structfield>priv</structfield> field isn't set to
<constant>V4L2_PIX_FMT_PRIV_MAGIC</constant> drivers must act as if all the
extended fields were set to zero. On return drivers must set the
<structfield>priv</structfield> field to
<constant>V4L2_PIX_FMT_PRIV_MAGIC</constant> and all the extended fields to
applicable values.</para></entry>
	</row>
	<row>
	  <entry>__u32</entry>
	  <entry><structfield>flags</structfield></entry>
	  <entry>Flags set by the application or driver, see <xref
linkend="format-flags" />.</entry>
	</row>
	<row>
	  <entry>&v4l2-ycbcr-encoding;</entry>
	  <entry><structfield>ycbcr_enc</structfield></entry>
	  <entry>This information supplements the
<structfield>colorspace</structfield> and must be set by the driver for
capture streams and by the application for output streams,
see <xref linkend="colorspaces" />.</entry>
	</row>
	<row>
	  <entry>&v4l2-quantization;</entry>
	  <entry><structfield>quantization</structfield></entry>
	  <entry>This information supplements the
<structfield>colorspace</structfield> and must be set by the driver for
capture streams and by the application for output streams,
see <xref linkend="colorspaces" />.</entry>
	</row>
      </tbody>
    </tgroup>
  </table>
</section>

<section>
  <title>Multi-planar format structures</title>
  <para>The <structname>v4l2_plane_pix_format</structname> structures define
    size and layout for each of the planes in a multi-planar format.
    The <structname>v4l2_pix_format_mplane</structname> structure contains
    information common to all planes (such as image width and height) and
    an array of <structname>v4l2_plane_pix_format</structname> structures,
    describing all planes of that format.</para>
  <table pgwide="1" frame="none" id="v4l2-plane-pix-format">
    <title>struct <structname>v4l2_plane_pix_format</structname></title>
    <tgroup cols="3">
      &cs-str;
      <tbody valign="top">
        <row>
          <entry>__u32</entry>
          <entry><structfield>sizeimage</structfield></entry>
          <entry>Maximum size in bytes required for image data in this plane.
          </entry>
        </row>
        <row>
          <entry>__u32</entry>
          <entry><structfield>bytesperline</structfield></entry>
          <entry>Distance in bytes between the leftmost pixels in two adjacent
            lines. See &v4l2-pix-format;.</entry>
        </row>
        <row>
          <entry>__u16</entry>
          <entry><structfield>reserved[6]</structfield></entry>
          <entry>Reserved for future extensions. Should be zeroed by the
           application.</entry>
        </row>
      </tbody>
    </tgroup>
  </table>
  <table pgwide="1" frame="none" id="v4l2-pix-format-mplane">
    <title>struct <structname>v4l2_pix_format_mplane</structname></title>
    <tgroup cols="3">
      &cs-str;
      <tbody valign="top">
        <row>
          <entry>__u32</entry>
          <entry><structfield>width</structfield></entry>
          <entry>Image width in pixels. See &v4l2-pix-format;.</entry>
        </row>
        <row>
          <entry>__u32</entry>
          <entry><structfield>height</structfield></entry>
          <entry>Image height in pixels. See &v4l2-pix-format;.</entry>
        </row>
        <row>
          <entry>__u32</entry>
          <entry><structfield>pixelformat</structfield></entry>
          <entry>The pixel format. Both single- and multi-planar four character
codes can be used.</entry>
        </row>
        <row>
          <entry>&v4l2-field;</entry>
          <entry><structfield>field</structfield></entry>
          <entry>See &v4l2-pix-format;.</entry>
        </row>
        <row>
          <entry>&v4l2-colorspace;</entry>
          <entry><structfield>colorspace</structfield></entry>
          <entry>See &v4l2-pix-format;.</entry>
        </row>
        <row>
          <entry>&v4l2-plane-pix-format;</entry>
          <entry><structfield>plane_fmt[VIDEO_MAX_PLANES]</structfield></entry>
          <entry>An array of structures describing format of each plane this
          pixel format consists of. The number of valid entries in this array
          has to be put in the <structfield>num_planes</structfield>
          field.</entry>
        </row>
        <row>
          <entry>__u8</entry>
          <entry><structfield>num_planes</structfield></entry>
          <entry>Number of planes (i.e. separate memory buffers) for this format
          and the number of valid entries in the
          <structfield>plane_fmt</structfield> array.</entry>
        </row>
	<row>
	  <entry>__u8</entry>
	  <entry><structfield>flags</structfield></entry>
	  <entry>Flags set by the application or driver, see <xref
linkend="format-flags" />.</entry>
	</row>
	<row>
	  <entry>&v4l2-ycbcr-encoding;</entry>
	  <entry><structfield>ycbcr_enc</structfield></entry>
	  <entry>This information supplements the
<structfield>colorspace</structfield> and must be set by the driver for
capture streams and by the application for output streams,
see <xref linkend="colorspaces" />.</entry>
	</row>
	<row>
	  <entry>&v4l2-quantization;</entry>
	  <entry><structfield>quantization</structfield></entry>
	  <entry>This information supplements the
<structfield>colorspace</structfield> and must be set by the driver for
capture streams and by the application for output streams,
see <xref linkend="colorspaces" />.</entry>
	</row>
        <row>
          <entry>__u8</entry>
          <entry><structfield>reserved[8]</structfield></entry>
          <entry>Reserved for future extensions. Should be zeroed by the
           application.</entry>
        </row>
      </tbody>
    </tgroup>
  </table>
</section>

  <section>
    <title>Standard Image Formats</title>

    <para>In order to exchange images between drivers and
applications, it is necessary to have standard image data formats
which both sides will interpret the same way. V4L2 includes several
such formats, and this section is intended to be an unambiguous
specification of the standard image data formats in V4L2.</para>

    <para>V4L2 drivers are not limited to these formats, however.
Driver-specific formats are possible. In that case the application may
depend on a codec to convert images to one of the standard formats
when needed. But the data can still be stored and retrieved in the
proprietary format. For example, a device may support a proprietary
compressed format. Applications can still capture and save the data in
the compressed format, saving much disk space, and later use a codec
to convert the images to the X Windows screen format when the video is
to be displayed.</para>

    <para>Even so, ultimately, some standard formats are needed, so
the V4L2 specification would not be complete without well-defined
standard formats.</para>

    <para>The V4L2 standard formats are mainly uncompressed formats. The
pixels are always arranged in memory from left to right, and from top
to bottom. The first byte of data in the image buffer is always for
the leftmost pixel of the topmost row. Following that is the pixel
immediately to its right, and so on until the end of the top row of
pixels. Following the rightmost pixel of the row there may be zero or
more bytes of padding to guarantee that each row of pixel data has a
certain alignment. Following the pad bytes, if any, is data for the
leftmost pixel of the second row from the top, and so on. The last row
has just as many pad bytes after it as the other rows.</para>

    <para>In V4L2 each format has an identifier which looks like
<constant>PIX_FMT_XXX</constant>, defined in the <link
linkend="videodev">videodev2.h</link> header file. These identifiers
represent <link linkend="v4l2-fourcc">four character (FourCC) codes</link>
which are also listed below, however they are not the same as those
used in the Windows world.</para>

    <para>For some formats, data is stored in separate, discontiguous
memory buffers. Those formats are identified by a separate set of FourCC codes
and are referred to as "multi-planar formats". For example, a YUV422 frame is
normally stored in one memory buffer, but it can also be placed in two or three
separate buffers, with Y component in one buffer and CbCr components in another
in the 2-planar version or with each component in its own buffer in the
3-planar case. Those sub-buffers are referred to as "planes".</para>
  </section>

  <section id="colorspaces">
    <title>Colorspaces</title>

    <para>'Color' is a very complex concept and depends on physics, chemistry and
biology. Just because you have three numbers that describe the 'red', 'green'
and 'blue' components of the color of a pixel does not mean that you can accurately
display that color. A colorspace defines what it actually <emphasis>means</emphasis>
to have an RGB value of e.g. (255,&nbsp;0,&nbsp;0). That is, which color should be
reproduced on the screen in a perfectly calibrated environment.</para>

    <para>In order to do that we first need to have a good definition of
color, i.e. some way to uniquely and unambiguously define a color so that someone
else can reproduce it. Human color vision is trichromatic since the human eye has
color receptors that are sensitive to three different wavelengths of light. Hence
the need to use three numbers to describe color. Be glad you are not a mantis shrimp
as those are sensitive to 12 different wavelengths, so instead of RGB we would be
using the ABCDEFGHIJKL colorspace...</para>

    <para>Color exists only in the eye and brain and is the result of how strongly
color receptors are stimulated. This is based on the Spectral
Power Distribution (SPD) which is a graph showing the intensity (radiant power)
of the light at wavelengths covering the visible spectrum as it enters the eye.
The science of colorimetry is about the relationship between the SPD and color as
perceived by the human brain.</para>

    <para>Since the human eye has only three color receptors it is perfectly
possible that different SPDs will result in the same stimulation of those receptors
and are perceived as the same color, even though the SPD of the light is
different.</para>

   <para>In the 1920s experiments were devised to determine the relationship
between SPDs and the perceived color and that resulted in the CIE 1931 standard
that defines spectral weighting functions that model the perception of color.
Specifically that standard defines functions that can take an SPD and calculate
the stimulus for each color receptor. After some further mathematical transforms
these stimuli are known as the <emphasis>CIE XYZ tristimulus</emphasis> values
and these X, Y and Z values describe a color as perceived by a human unambiguously.
These X, Y and Z values are all in the range [0&hellip;1].</para>

   <para>The Y value in the CIE XYZ colorspace corresponds to luminance. Often
the CIE XYZ colorspace is transformed to the normalized CIE xyY colorspace:</para>

   <para>x = X / (X + Y + Z)</para>
   <para>y = Y / (X + Y + Z)</para>

   <para>The x and y values are the chromaticity coordinates and can be used to
define a color without the luminance component Y. It is very confusing to
have such similar names for these colorspaces. Just be aware that if colors
are specified with lower case 'x' and 'y', then the CIE xyY colorspace is
used. Upper case 'X' and 'Y' refer to the CIE XYZ colorspace. Also, y has nothing
to do with luminance. Together x and y specify a color, and Y the luminance.
That is really all you need to remember from a practical point of view. At
the end of this section you will find reading resources that go into much more
detail if you are interested.
</para>

   <para>A monitor or TV will reproduce colors by emitting light at three
different wavelengths, the combination of which will stimulate the color receptors
in the eye and thus cause the perception of color. Historically these wavelengths
were defined by the red, green and blue phosphors used in the displays. These
<emphasis>color primaries</emphasis> are part of what defines a colorspace.</para>

    <para>Different display devices will have different primaries and some
primaries are more suitable for some display technologies than others. This has
resulted in a variety of colorspaces that are used for different display
technologies or uses. To define a colorspace you need to define the three
color primaries (these are typically defined as x,&nbsp;y chromaticity coordinates
from the CIE xyY colorspace) but also the white reference: that is the color obtained
when all three primaries are at maximum power. This determines the relative power
or energy of the primaries. This is usually chosen to be close to daylight which has
been defined as the CIE D65 Illuminant.</para>

    <para>To recapitulate: the CIE XYZ colorspace uniquely identifies colors.
Other colorspaces are defined by three chromaticity coordinates defined in the
CIE xyY colorspace. Based on those a 3x3 matrix can be constructed that
transforms CIE XYZ colors to colors in the new colorspace.
</para>

    <para>Both the CIE XYZ and the RGB colorspace that are derived from the
specific chromaticity primaries are linear colorspaces. But neither the eye,
nor display technology is linear. Doubling the values of all components in
the linear colorspace will not be perceived as twice the intensity of the color.
So each colorspace also defines a transfer function that takes a linear color
component value and transforms it to the non-linear component value, which is a
closer match to the non-linear performance of both the eye and displays. Linear
component values are denoted RGB, non-linear are denoted as R'G'B'. In general
colors used in graphics are all R'G'B', except in openGL which uses linear RGB.
Special care should be taken when dealing with openGL to provide linear RGB colors
or to use the built-in openGL support to apply the inverse transfer function.</para>

    <para>The final piece that defines a colorspace is a function that
transforms non-linear R'G'B' to non-linear Y'CbCr. This function is determined
by the so-called luma coefficients. There may be multiple possible Y'CbCr
encodings allowed for the same colorspace. Many encodings of color
prefer to use luma (Y') and chroma (CbCr) instead of R'G'B'. Since the human
eye is more sensitive to differences in luminance than in color this encoding
allows one to reduce the amount of color information compared to the luma
data. Note that the luma (Y') is unrelated to the Y in the CIE XYZ colorspace.
Also note that Y'CbCr is often called YCbCr or YUV even though these are
strictly speaking wrong.</para>

    <para>Sometimes people confuse Y'CbCr as being a colorspace. This is not
correct, it is just an encoding of an R'G'B' color into luma and chroma
values. The underlying colorspace that is associated with the R'G'B' color
is also associated with the Y'CbCr color.</para>

    <para>The final step is how the RGB, R'G'B' or Y'CbCr values are
quantized. The CIE XYZ colorspace where X, Y and Z are in the range
[0&hellip;1] describes all colors that humans can perceive, but the transform to
another colorspace will produce colors that are outside the [0&hellip;1] range.
Once clamped to the [0&hellip;1] range those colors can no longer be reproduced
in that colorspace. This clamping is what reduces the extent or gamut of the
colorspace. How the range of [0&hellip;1] is translated to integer values in the
range of [0&hellip;255] (or higher, depending on the color depth) is called the
quantization. This is <emphasis>not</emphasis> part of the colorspace
definition. In practice RGB or R'G'B' values are full range, i.e. they
use the full [0&hellip;255] range. Y'CbCr values on the other hand are limited
range with Y' using [16&hellip;235] and Cb and Cr using [16&hellip;240].</para>

    <para>Unfortunately, in some cases limited range RGB is also used
where the components use the range [16&hellip;235]. And full range Y'CbCr also exists
using the [0&hellip;255] range.</para>

    <para>In order to correctly interpret a color you need to know the
quantization range, whether it is R'G'B' or Y'CbCr, the used Y'CbCr encoding
and the colorspace.
From that information you can calculate the corresponding CIE XYZ color
and map that again to whatever colorspace your display device uses.</para>

    <para>The colorspace definition itself consists of the three
chromaticity primaries, the white reference chromaticity, a transfer
function and the luma coefficients needed to transform R'G'B' to Y'CbCr. While
some colorspace standards correctly define all four, quite often the colorspace
standard only defines some, and you have to rely on other standards for
the missing pieces. The fact that colorspaces are often a mix of different
standards also led to very confusing naming conventions where the name of
a standard was used to name a colorspace when in fact that standard was
part of various other colorspaces as well.</para>

    <para>If you want to read more about colors and colorspaces, then the
following resources are useful: <xref linkend="poynton" /> is a good practical
book for video engineers, <xref linkend="colimg" /> has a much broader scope and
describes many more aspects of color (physics, chemistry, biology, etc.).
The <ulink url="http://www.brucelindbloom.com">http://www.brucelindbloom.com</ulink>
website is an excellent resource, especially with respect to the mathematics behind
colorspace conversions. The wikipedia <ulink url="http://en.wikipedia.org/wiki/CIE_1931_color_space#CIE_xy_chromaticity_diagram_and_the_CIE_xyY_color_space">CIE 1931 colorspace</ulink> article
is also very useful.</para>
  </section>

  <section>
    <title>Defining Colorspaces in V4L2</title>
    <para>In V4L2 colorspaces are defined by three values. The first is the colorspace
identifier (&v4l2-colorspace;) which defines the chromaticities, the transfer
function, the default Y'CbCr encoding and the default quantization method. The second
is the Y'CbCr encoding identifier (&v4l2-ycbcr-encoding;) to specify non-standard
Y'CbCr encodings and the third is the quantization identifier (&v4l2-quantization;)
to specify non-standard quantization methods. Most of the time only the colorspace
field of &v4l2-pix-format; or &v4l2-pix-format-mplane; needs to be filled in. Note
that the default R'G'B' quantization is full range for all colorspaces except for
BT.2020 which uses limited range R'G'B' quantization.</para>

    <table pgwide="1" frame="none" id="v4l2-colorspace">
      <title>V4L2 Colorspaces</title>
      <tgroup cols="2" align="left">
	&cs-def;
	<thead>
	  <row>
	    <entry>Identifier</entry>
	    <entry>Details</entry>
	  </row>
	</thead>
	<tbody valign="top">
	  <row>
	    <entry><constant>V4L2_COLORSPACE_SMPTE170M</constant></entry>
	    <entry>See <xref linkend="col-smpte-170m" />.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_COLORSPACE_REC709</constant></entry>
	    <entry>See <xref linkend="col-rec709" />.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_COLORSPACE_SRGB</constant></entry>
	    <entry>See <xref linkend="col-srgb" />.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_COLORSPACE_ADOBERGB</constant></entry>
	    <entry>See <xref linkend="col-adobergb" />.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_COLORSPACE_BT2020</constant></entry>
	    <entry>See <xref linkend="col-bt2020" />.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_COLORSPACE_SMPTE240M</constant></entry>
	    <entry>See <xref linkend="col-smpte-240m" />.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_COLORSPACE_470_SYSTEM_M</constant></entry>
	    <entry>See <xref linkend="col-sysm" />.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_COLORSPACE_470_SYSTEM_BG</constant></entry>
	    <entry>See <xref linkend="col-sysbg" />.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_COLORSPACE_JPEG</constant></entry>
	    <entry>See <xref linkend="col-jpeg" />.</entry>
	  </row>
	</tbody>
      </tgroup>
    </table>

    <table pgwide="1" frame="none" id="v4l2-ycbcr-encoding">
      <title>V4L2 Y'CbCr Encodings</title>
      <tgroup cols="2" align="left">
	&cs-def;
	<thead>
	  <row>
	    <entry>Identifier</entry>
	    <entry>Details</entry>
	  </row>
	</thead>
	<tbody valign="top">
	  <row>
	    <entry><constant>V4L2_YCBCR_ENC_DEFAULT</constant></entry>
	    <entry>Use the default Y'CbCr encoding as defined by the colorspace.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_YCBCR_ENC_601</constant></entry>
	    <entry>Use the BT.601 Y'CbCr encoding.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_YCBCR_ENC_709</constant></entry>
	    <entry>Use the Rec. 709 Y'CbCr encoding.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_YCBCR_ENC_XV601</constant></entry>
	    <entry>Use the extended gamut xvYCC BT.601 encoding.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_YCBCR_ENC_XV709</constant></entry>
	    <entry>Use the extended gamut xvYCC Rec. 709 encoding.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_YCBCR_ENC_SYCC</constant></entry>
	    <entry>Use the extended gamut sYCC encoding.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_YCBCR_ENC_BT2020</constant></entry>
	    <entry>Use the default non-constant luminance BT.2020 Y'CbCr encoding.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_YCBCR_ENC_BT2020_CONST_LUM</constant></entry>
	    <entry>Use the constant luminance BT.2020 Yc'CbcCrc encoding.</entry>
	  </row>
	</tbody>
      </tgroup>
    </table>

    <table pgwide="1" frame="none" id="v4l2-quantization">
      <title>V4L2 Quantization Methods</title>
      <tgroup cols="2" align="left">
	&cs-def;
	<thead>
	  <row>
	    <entry>Identifier</entry>
	    <entry>Details</entry>
	  </row>
	</thead>
	<tbody valign="top">
	  <row>
	    <entry><constant>V4L2_QUANTIZATION_DEFAULT</constant></entry>
	    <entry>Use the default quantization encoding as defined by the colorspace.
This is always full range for R'G'B' (except for the BT.2020 colorspace) and usually
limited range for Y'CbCr.</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_QUANTIZATION_FULL_RANGE</constant></entry>
	    <entry>Use the full range quantization encoding. I.e. the range [0&hellip;1]
is mapped to [0&hellip;255] (with possible clipping to [1&hellip;254] to avoid the
0x00 and 0xff values). Cb and Cr are mapped from [-0.5&hellip;0.5] to [0&hellip;255]
(with possible clipping to [1&hellip;254] to avoid the 0x00 and 0xff values).</entry>
	  </row>
	  <row>
	    <entry><constant>V4L2_QUANTIZATION_LIM_RANGE</constant></entry>
	    <entry>Use the limited range quantization encoding. I.e. the range [0&hellip;1]
is mapped to [16&hellip;235]. Cb and Cr are mapped from [-0.5&hellip;0.5] to [16&hellip;240].
</entry>
	  </row>
	</tbody>
      </tgroup>
    </table>
  </section>

  <section>
    <title>Detailed Colorspace Descriptions</title>
    <section id="col-smpte-170m">
      <title>Colorspace SMPTE 170M (<constant>V4L2_COLORSPACE_SMPTE170M</constant>)</title>
      <para>The <xref linkend="smpte170m" /> standard defines the colorspace used by NTSC and PAL and by SDTV
in general. The default Y'CbCr encoding is <constant>V4L2_YCBCR_ENC_601</constant>.
The default Y'CbCr quantization is limited range. The chromaticities of the primary colors and
the white reference are:</para>
      <table frame="none">
        <title>SMPTE 170M Chromaticities</title>
        <tgroup cols="3" align="left">
          &cs-str;
    	<thead>
    	  <row>
    	    <entry>Color</entry>
    	    <entry>x</entry>
    	    <entry>y</entry>
    	  </row>
    	</thead>
          <tbody valign="top">
            <row>
              <entry>Red</entry>
              <entry>0.630</entry>
              <entry>0.340</entry>
            </row>
            <row>
              <entry>Green</entry>
              <entry>0.310</entry>
              <entry>0.595</entry>
            </row>
            <row>
              <entry>Blue</entry>
              <entry>0.155</entry>
              <entry>0.070</entry>
            </row>
            <row>
              <entry>White Reference (D65)</entry>
              <entry>0.3127</entry>
              <entry>0.3290</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
      <para>The red, green and blue chromaticities are also often referred to
as the SMPTE C set, so this colorspace is sometimes called SMPTE C as well.</para>
      <variablelist>
	<varlistentry>
          <term>The transfer function defined for SMPTE 170M is the same as the
one defined in Rec. 709.</term>
	  <listitem>
            <para>L' = -1.099(-L)<superscript>0.45</superscript>&nbsp;+&nbsp;0.099&nbsp;for&nbsp;L&nbsp;&le;&nbsp;-0.018</para>
            <para>L' = 4.5L&nbsp;for&nbsp;-0.018&nbsp;&lt;&nbsp;L&nbsp;&lt;&nbsp;0.018</para>
            <para>L' = 1.099L<superscript>0.45</superscript>&nbsp;-&nbsp;0.099&nbsp;for&nbsp;L&nbsp;&ge;&nbsp;0.018</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <variablelist>
	<varlistentry>
          <term>Inverse Transfer function:</term>
	  <listitem>
            <para>L = -((L'&nbsp;-&nbsp;0.099)&nbsp;/&nbsp;-1.099)<superscript>1/0.45</superscript>&nbsp;for&nbsp;L'&nbsp;&le;&nbsp;-0.081</para>
            <para>L = L'&nbsp;/&nbsp;4.5&nbsp;for&nbsp;-0.081&nbsp;&lt;&nbsp;L'&nbsp;&lt;&nbsp;0.081</para>
            <para>L = ((L'&nbsp;+&nbsp;0.099)&nbsp;/&nbsp;1.099)<superscript>1/0.45</superscript>&nbsp;for&nbsp;L'&nbsp;&ge;&nbsp;0.081</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <variablelist>
	<varlistentry>
      	  <term>The luminance (Y') and color difference (Cb and Cr) are obtained with
the following <constant>V4L2_YCBCR_ENC_601</constant> encoding:</term>
	  <listitem>
            <para>Y'&nbsp;=&nbsp;0.299R'&nbsp;+&nbsp;0.587G'&nbsp;+&nbsp;0.114B'</para>
            <para>Cb&nbsp;=&nbsp;-0.169R'&nbsp;-&nbsp;0.331G'&nbsp;+&nbsp;0.5B'</para>
            <para>Cr&nbsp;=&nbsp;0.5R'&nbsp;-&nbsp;0.419G'&nbsp;-&nbsp;0.081B'</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <para>Y' is clamped to the range [0&hellip;1] and Cb and Cr are
clamped to the range [-0.5&hellip;0.5]. This conversion to Y'CbCr is identical to the one
defined in the <xref linkend="itu601" /> standard and this colorspace is sometimes called BT.601 as well, even
though BT.601 does not mention any color primaries.</para>
      <para>The default quantization is limited range, but full range is possible although
rarely seen.</para>
    </section>

    <section id="col-rec709">
      <title>Colorspace Rec. 709 (<constant>V4L2_COLORSPACE_REC709</constant>)</title>
      <para>The <xref linkend="itu709" /> standard defines the colorspace used by HDTV in general. The default
Y'CbCr encoding is <constant>V4L2_YCBCR_ENC_709</constant>. The default Y'CbCr quantization is
limited range. The chromaticities of the primary colors and the white reference are:</para>
      <table frame="none">
        <title>Rec. 709 Chromaticities</title>
        <tgroup cols="3" align="left">
          &cs-str;
    	<thead>
    	  <row>
    	    <entry>Color</entry>
    	    <entry>x</entry>
    	    <entry>y</entry>
    	  </row>
    	</thead>
          <tbody valign="top">
            <row>
              <entry>Red</entry>
              <entry>0.640</entry>
              <entry>0.330</entry>
            </row>
            <row>
              <entry>Green</entry>
              <entry>0.300</entry>
              <entry>0.600</entry>
            </row>
            <row>
              <entry>Blue</entry>
              <entry>0.150</entry>
              <entry>0.060</entry>
            </row>
            <row>
              <entry>White Reference (D65)</entry>
              <entry>0.3127</entry>
              <entry>0.3290</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
      <para>The full name of this standard is Rec. ITU-R BT.709-5.</para>
      <variablelist>
	<varlistentry>
          <term>Transfer function. Normally L is in the range [0&hellip;1], but for the extended
gamut xvYCC encoding values outside that range are allowed.</term>
	  <listitem>
            <para>L' = -1.099(-L)<superscript>0.45</superscript>&nbsp;+&nbsp;0.099&nbsp;for&nbsp;L&nbsp;&le;&nbsp;-0.018</para>
            <para>L' = 4.5L&nbsp;for&nbsp;-0.018&nbsp;&lt;&nbsp;L&nbsp;&lt;&nbsp;0.018</para>
            <para>L' = 1.099L<superscript>0.45</superscript>&nbsp;-&nbsp;0.099&nbsp;for&nbsp;L&nbsp;&ge;&nbsp;0.018</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <variablelist>
	<varlistentry>
          <term>Inverse Transfer function:</term>
	  <listitem>
            <para>L = -((L'&nbsp;-&nbsp;0.099)&nbsp;/&nbsp;-1.099)<superscript>1/0.45</superscript>&nbsp;for&nbsp;L'&nbsp;&le;&nbsp;-0.081</para>
            <para>L = L'&nbsp;/&nbsp;4.5&nbsp;for&nbsp;-0.081&nbsp;&lt;&nbsp;L'&nbsp;&lt;&nbsp;0.081</para>
            <para>L = ((L'&nbsp;+&nbsp;0.099)&nbsp;/&nbsp;1.099)<superscript>1/0.45</superscript>&nbsp;for&nbsp;L'&nbsp;&ge;&nbsp;0.081</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <variablelist>
	<varlistentry>
      	  <term>The luminance (Y') and color difference (Cb and Cr) are obtained with the following
<constant>V4L2_YCBCR_ENC_709</constant> encoding:</term>
	  <listitem>
            <para>Y'&nbsp;=&nbsp;0.2126R'&nbsp;+&nbsp;0.7152G'&nbsp;+&nbsp;0.0722B'</para>
            <para>Cb&nbsp;=&nbsp;-0.1146R'&nbsp;-&nbsp;0.3854G'&nbsp;+&nbsp;0.5B'</para>
            <para>Cr&nbsp;=&nbsp;0.5R'&nbsp;-&nbsp;0.4542G'&nbsp;-&nbsp;0.0458B'</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <para>Y' is clamped to the range [0&hellip;1] and Cb and Cr are
clamped to the range [-0.5&hellip;0.5].</para>
      <para>The default quantization is limited range, but full range is possible although
rarely seen.</para>
      <para>The <constant>V4L2_YCBCR_ENC_709</constant> encoding described above is the default
for this colorspace, but it can be overridden with <constant>V4L2_YCBCR_ENC_601</constant>, in which
case the BT.601 Y'CbCr encoding is used.</para>
      <para>Two additional extended gamut Y'CbCr encodings are also possible with this colorspace:</para>
      <variablelist>
	<varlistentry>
      	  <term>The xvYCC 709 encoding (<constant>V4L2_YCBCR_ENC_XV709</constant>, <xref linkend="xvycc" />)
is similar to the Rec. 709 encoding, but it allows for R', G' and B' values that are outside the range
[0&hellip;1]. The resulting Y', Cb and Cr values are scaled and offset:</term>
	  <listitem>
            <para>Y'&nbsp;=&nbsp;(219&nbsp;/&nbsp;256)&nbsp;*&nbsp;(0.2126R'&nbsp;+&nbsp;0.7152G'&nbsp;+&nbsp;0.0722B')&nbsp;+&nbsp;(16&nbsp;/&nbsp;256)</para>
            <para>Cb&nbsp;=&nbsp;(224&nbsp;/&nbsp;256)&nbsp;*&nbsp;(-0.1146R'&nbsp;-&nbsp;0.3854G'&nbsp;+&nbsp;0.5B')</para>
            <para>Cr&nbsp;=&nbsp;(224&nbsp;/&nbsp;256)&nbsp;*&nbsp;(0.5R'&nbsp;-&nbsp;0.4542G'&nbsp;-&nbsp;0.0458B')</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <variablelist>
	<varlistentry>
         <term>The xvYCC 601 encoding (<constant>V4L2_YCBCR_ENC_XV601</constant>, <xref linkend="xvycc" />) is similar
to the BT.601 encoding, but it allows for R', G' and B' values that are outside the range
[0&hellip;1]. The resulting Y', Cb and Cr values are scaled and offset:</term>
	  <listitem>
            <para>Y'&nbsp;=&nbsp;(219&nbsp;/&nbsp;256)&nbsp;*&nbsp;(0.299R'&nbsp;+&nbsp;0.587G'&nbsp;+&nbsp;0.114B')&nbsp;+&nbsp;(16&nbsp;/&nbsp;256)</para>
            <para>Cb&nbsp;=&nbsp;(224&nbsp;/&nbsp;256)&nbsp;*&nbsp;(-0.169R'&nbsp;-&nbsp;0.331G'&nbsp;+&nbsp;0.5B')</para>
            <para>Cr&nbsp;=&nbsp;(224&nbsp;/&nbsp;256)&nbsp;*&nbsp;(0.5R'&nbsp;-&nbsp;0.419G'&nbsp;-&nbsp;0.081B')</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <para>Y' is clamped to the range [0&hellip;1] and Cb and Cr are clamped
to the range [-0.5&hellip;0.5]. The non-standard xvYCC 709 or xvYCC 601 encodings can be used by
selecting <constant>V4L2_YCBCR_ENC_XV709</constant> or <constant>V4L2_YCBCR_ENC_XV601</constant>.
The xvYCC encodings always use full range quantization.</para>
    </section>

    <section id="col-srgb">
      <title>Colorspace sRGB (<constant>V4L2_COLORSPACE_SRGB</constant>)</title>
      <para>The <xref linkend="srgb" /> standard defines the colorspace used by most webcams and computer graphics. The
default Y'CbCr encoding is <constant>V4L2_YCBCR_ENC_SYCC</constant>. The default Y'CbCr quantization
is full range. The chromaticities of the primary colors and the white reference are:</para>
      <table frame="none">
        <title>sRGB Chromaticities</title>
        <tgroup cols="3" align="left">
          &cs-str;
    	<thead>
    	  <row>
    	    <entry>Color</entry>
    	    <entry>x</entry>
    	    <entry>y</entry>
    	  </row>
    	</thead>
          <tbody valign="top">
            <row>
              <entry>Red</entry>
              <entry>0.640</entry>
              <entry>0.330</entry>
            </row>
            <row>
              <entry>Green</entry>
              <entry>0.300</entry>
              <entry>0.600</entry>
            </row>
            <row>
              <entry>Blue</entry>
              <entry>0.150</entry>
              <entry>0.060</entry>
            </row>
            <row>
              <entry>White Reference (D65)</entry>
              <entry>0.3127</entry>
              <entry>0.3290</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
      <para>These chromaticities are identical to the Rec. 709 colorspace.</para>
      <variablelist>
	<varlistentry>
          <term>Transfer function. Note that negative values for L are only used by the Y'CbCr conversion.</term>
	  <listitem>
            <para>L' = -1.055(-L)<superscript>1/2.4</superscript>&nbsp;+&nbsp;0.055&nbsp;for&nbsp;L&nbsp;&lt;&nbsp;-0.0031308</para>
            <para>L' = 12.92L&nbsp;for&nbsp;-0.0031308&nbsp;&le;&nbsp;L&nbsp;&le;&nbsp;0.0031308</para>
            <para>L' = 1.055L<superscript>1/2.4</superscript>&nbsp;-&nbsp;0.055&nbsp;for&nbsp;0.0031308&nbsp;&lt;&nbsp;L&nbsp;&le;&nbsp;1</para>
	  </listitem>
	</varlistentry>
	<varlistentry>
          <term>Inverse Transfer function:</term>
	  <listitem>
            <para>L = -((-L'&nbsp;+&nbsp;0.055)&nbsp;/&nbsp;1.055)<superscript>2.4</superscript>&nbsp;for&nbsp;L'&nbsp;&lt;&nbsp;-0.04045</para>
            <para>L = L'&nbsp;/&nbsp;12.92&nbsp;for&nbsp;-0.04045&nbsp;&le;&nbsp;L'&nbsp;&le;&nbsp;0.04045</para>
            <para>L = ((L'&nbsp;+&nbsp;0.055)&nbsp;/&nbsp;1.055)<superscript>2.4</superscript>&nbsp;for&nbsp;L'&nbsp;&gt;&nbsp;0.04045</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <variablelist>
	<varlistentry>
      	  <term>The luminance (Y') and color difference (Cb and Cr) are obtained with the following
<constant>V4L2_YCBCR_ENC_SYCC</constant> encoding as defined by <xref linkend="sycc" />:</term>
	  <listitem>
            <para>Y'&nbsp;=&nbsp;0.2990R'&nbsp;+&nbsp;0.5870G'&nbsp;+&nbsp;0.1140B'</para>
            <para>Cb&nbsp;=&nbsp;-0.1687R'&nbsp;-&nbsp;0.3313G'&nbsp;+&nbsp;0.5B'</para>
            <para>Cr&nbsp;=&nbsp;0.5R'&nbsp;-&nbsp;0.4187G'&nbsp;-&nbsp;0.0813B'</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <para>Y' is clamped to the range [0&hellip;1] and Cb and Cr are clamped
to the range [-0.5&hellip;0.5]. The <constant>V4L2_YCBCR_ENC_SYCC</constant> quantization is always
full range. Although this Y'CbCr encoding looks very similar to the <constant>V4L2_YCBCR_ENC_XV601</constant>
encoding, it is not. The <constant>V4L2_YCBCR_ENC_XV601</constant> scales and offsets the Y'CbCr
values before quantization, but this encoding does not do that.</para>
    </section>

    <section id="col-adobergb">
      <title>Colorspace Adobe RGB (<constant>V4L2_COLORSPACE_ADOBERGB</constant>)</title>
      <para>The <xref linkend="adobergb" /> standard defines the colorspace used by computer graphics
that use the AdobeRGB colorspace. This is also known as the <xref linkend="oprgb" /> standard.
The default Y'CbCr encoding is <constant>V4L2_YCBCR_ENC_601</constant>. The default Y'CbCr
quantization is limited range. The chromaticities of the primary colors and the white reference
are:</para>
      <table frame="none">
        <title>Adobe RGB Chromaticities</title>
        <tgroup cols="3" align="left">
          &cs-str;
    	<thead>
    	  <row>
    	    <entry>Color</entry>
    	    <entry>x</entry>
    	    <entry>y</entry>
    	  </row>
    	</thead>
          <tbody valign="top">
            <row>
              <entry>Red</entry>
              <entry>0.6400</entry>
              <entry>0.3300</entry>
            </row>
            <row>
              <entry>Green</entry>
              <entry>0.2100</entry>
              <entry>0.7100</entry>
            </row>
            <row>
              <entry>Blue</entry>
              <entry>0.1500</entry>
              <entry>0.0600</entry>
            </row>
            <row>
              <entry>White Reference (D65)</entry>
              <entry>0.3127</entry>
              <entry>0.3290</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
      <variablelist>
	<varlistentry>
          <term>Transfer function:</term>
	  <listitem>
            <para>L' = L<superscript>1/2.19921875</superscript></para>
	  </listitem>
	</varlistentry>
	<varlistentry>
          <term>Inverse Transfer function:</term>
	  <listitem>
            <para>L = L'<superscript>2.19921875</superscript></para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <variablelist>
	<varlistentry>
      	  <term>The luminance (Y') and color difference (Cb and Cr) are obtained with the
following <constant>V4L2_YCBCR_ENC_601</constant> encoding:</term>
	  <listitem>
            <para>Y'&nbsp;=&nbsp;0.299R'&nbsp;+&nbsp;0.587G'&nbsp;+&nbsp;0.114B'</para>
            <para>Cb&nbsp;=&nbsp;-0.169R'&nbsp;-&nbsp;0.331G'&nbsp;+&nbsp;0.5B'</para>
            <para>Cr&nbsp;=&nbsp;0.5R'&nbsp;-&nbsp;0.419G'&nbsp;-&nbsp;0.081B'</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <para>Y' is clamped to the range [0&hellip;1] and Cb and Cr are
clamped to the range [-0.5&hellip;0.5]. This transform is identical to one defined in
SMPTE 170M/BT.601. The Y'CbCr quantization is limited range.</para>
    </section>

    <section id="col-bt2020">
      <title>Colorspace BT.2020 (<constant>V4L2_COLORSPACE_BT2020</constant>)</title>
      <para>The <xref linkend="itu2020" /> standard defines the colorspace used by Ultra-high definition
television (UHDTV). The default Y'CbCr encoding is <constant>V4L2_YCBCR_ENC_BT2020</constant>.
The default R'G'B' quantization is limited range (!), and so is the default Y'CbCr quantization.
The chromaticities of the primary colors and the white reference are:</para>
      <table frame="none">
        <title>BT.2020 Chromaticities</title>
        <tgroup cols="3" align="left">
          &cs-str;
    	<thead>
    	  <row>
    	    <entry>Color</entry>
    	    <entry>x</entry>
    	    <entry>y</entry>
    	  </row>
    	</thead>
          <tbody valign="top">
            <row>
              <entry>Red</entry>
              <entry>0.708</entry>
              <entry>0.292</entry>
            </row>
            <row>
              <entry>Green</entry>
              <entry>0.170</entry>
              <entry>0.797</entry>
            </row>
            <row>
              <entry>Blue</entry>
              <entry>0.131</entry>
              <entry>0.046</entry>
            </row>
            <row>
              <entry>White Reference (D65)</entry>
              <entry>0.3127</entry>
              <entry>0.3290</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
      <variablelist>
	<varlistentry>
          <term>Transfer function (same as Rec. 709):</term>
	  <listitem>
            <para>L' = 4.5L&nbsp;for&nbsp;0&nbsp;&le;&nbsp;L&nbsp;&lt;&nbsp;0.018</para>
            <para>L' = 1.099L<superscript>0.45</superscript>&nbsp;-&nbsp;0.099&nbsp;for&nbsp;0.018&nbsp;&le;&nbsp;L&nbsp;&le;&nbsp;1</para>
	  </listitem>
	</varlistentry>
	<varlistentry>
          <term>Inverse Transfer function:</term>
	  <listitem>
            <para>L = L'&nbsp;/&nbsp;4.5&nbsp;for&nbsp;L'&nbsp;&lt;&nbsp;0.081</para>
            <para>L = ((L'&nbsp;+&nbsp;0.099)&nbsp;/&nbsp;1.099)<superscript>1/0.45</superscript>&nbsp;for&nbsp;L'&nbsp;&ge;&nbsp;0.081</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <variablelist>
	<varlistentry>
      	  <term>The luminance (Y') and color difference (Cb and Cr) are obtained with the
following <constant>V4L2_YCBCR_ENC_BT2020</constant> encoding:</term>
	  <listitem>
            <para>Y'&nbsp;=&nbsp;0.2627R'&nbsp;+&nbsp;0.6780G'&nbsp;+&nbsp;0.0593B'</para>
            <para>Cb&nbsp;=&nbsp;-0.1396R'&nbsp;-&nbsp;0.3604G'&nbsp;+&nbsp;0.5B'</para>
            <para>Cr&nbsp;=&nbsp;0.5R'&nbsp;-&nbsp;0.4598G'&nbsp;-&nbsp;0.0402B'</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <para>Y' is clamped to the range [0&hellip;1] and Cb and Cr are
clamped to the range [-0.5&hellip;0.5]. The Y'CbCr quantization is limited range.</para>
      <para>There is also an alternate constant luminance R'G'B' to Yc'CbcCrc
(<constant>V4L2_YCBCR_ENC_BT2020_CONST_LUM</constant>) encoding:</para>
      <variablelist>
	<varlistentry>
      	  <term>Luma:</term>
	  <listitem>
            <para>Yc'&nbsp;=&nbsp;(0.2627R&nbsp;+&nbsp;0.6780G&nbsp;+&nbsp;0.0593B)'</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <variablelist>
	<varlistentry>
      	  <term>B'&nbsp;-&nbsp;Yc'&nbsp;&le;&nbsp;0:</term>
	  <listitem>
            <para>Cbc&nbsp;=&nbsp;(B'&nbsp;-&nbsp;Yc')&nbsp;/&nbsp;1.9404</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <variablelist>
	<varlistentry>
      	  <term>B'&nbsp;-&nbsp;Yc'&nbsp;&gt;&nbsp;0:</term>
	  <listitem>
            <para>Cbc&nbsp;=&nbsp;(B'&nbsp;-&nbsp;Yc')&nbsp;/&nbsp;1.5816</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <variablelist>
	<varlistentry>
      	  <term>R'&nbsp;-&nbsp;Yc'&nbsp;&le;&nbsp;0:</term>
	  <listitem>
            <para>Crc&nbsp;=&nbsp;(R'&nbsp;-&nbsp;Y')&nbsp;/&nbsp;1.7184</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <variablelist>
	<varlistentry>
      	  <term>R'&nbsp;-&nbsp;Yc'&nbsp;&gt;&nbsp;0:</term>
	  <listitem>
            <para>Crc&nbsp;=&nbsp;(R'&nbsp;-&nbsp;Y')&nbsp;/&nbsp;0.9936</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <para>Yc' is clamped to the range [0&hellip;1] and Cbc and Crc are
clamped to the range [-0.5&hellip;0.5]. The Yc'CbcCrc quantization is limited range.</para>
    </section>

    <section id="col-smpte-240m">
      <title>Colorspace SMPTE 240M (<constant>V4L2_COLORSPACE_SMPTE240M</constant>)</title>
      <para>The <xref linkend="smpte240m" /> standard was an interim standard used during the early days of HDTV (1988-1998).
It has been superseded by Rec. 709. The default Y'CbCr encoding is <constant>V4L2_YCBCR_ENC_SMPTE240M</constant>.
The default Y'CbCr quantization is limited range. The chromaticities of the primary colors and the
white reference are:</para>
      <table frame="none">
        <title>SMPTE 240M Chromaticities</title>
        <tgroup cols="3" align="left">
          &cs-str;
    	<thead>
    	  <row>
    	    <entry>Color</entry>
    	    <entry>x</entry>
    	    <entry>y</entry>
    	  </row>
    	</thead>
          <tbody valign="top">
            <row>
              <entry>Red</entry>
              <entry>0.630</entry>
              <entry>0.340</entry>
            </row>
            <row>
              <entry>Green</entry>
              <entry>0.310</entry>
              <entry>0.595</entry>
            </row>
            <row>
              <entry>Blue</entry>
              <entry>0.155</entry>
              <entry>0.070</entry>
            </row>
            <row>
              <entry>White Reference (D65)</entry>
              <entry>0.3127</entry>
              <entry>0.3290</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
      <para>These chromaticities are identical to the SMPTE 170M colorspace.</para>
      <variablelist>
	<varlistentry>
          <term>Transfer function:</term>
	  <listitem>
            <para>L' = 4L&nbsp;for&nbsp;0&nbsp;&le;&nbsp;L&nbsp;&lt;&nbsp;0.0228</para>
            <para>L' = 1.1115L<superscript>0.45</superscript>&nbsp;-&nbsp;0.1115&nbsp;for&nbsp;0.0228&nbsp;&le;&nbsp;L&nbsp;&le;&nbsp;1</para>
	  </listitem>
	</varlistentry>
	<varlistentry>
          <term>Inverse Transfer function:</term>
	  <listitem>
            <para>L = L'&nbsp;/&nbsp;4&nbsp;for&nbsp;0&nbsp;&le;&nbsp;L'&nbsp;&lt;&nbsp;0.0913</para>
            <para>L = ((L'&nbsp;+&nbsp;0.1115)&nbsp;/&nbsp;1.1115)<superscript>1/0.45</superscript>&nbsp;for&nbsp;L'&nbsp;&ge;&nbsp;0.0913</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <variablelist>
	<varlistentry>
      	  <term>The luminance (Y') and color difference (Cb and Cr) are obtained with the
following <constant>V4L2_YCBCR_ENC_SMPTE240M</constant> encoding:</term>
	  <listitem>
            <para>Y'&nbsp;=&nbsp;0.2122R'&nbsp;+&nbsp;0.7013G'&nbsp;+&nbsp;0.0865B'</para>
            <para>Cb&nbsp;=&nbsp;-0.1161R'&nbsp;-&nbsp;0.3839G'&nbsp;+&nbsp;0.5B'</para>
            <para>Cr&nbsp;=&nbsp;0.5R'&nbsp;-&nbsp;0.4451G'&nbsp;-&nbsp;0.0549B'</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <para>Yc' is clamped to the range [0&hellip;1] and Cbc and Crc are
clamped to the range [-0.5&hellip;0.5]. The Y'CbCr quantization is limited range.</para>
    </section>

    <section id="col-sysm">
      <title>Colorspace NTSC 1953 (<constant>V4L2_COLORSPACE_470_SYSTEM_M</constant>)</title>
      <para>This standard defines the colorspace used by NTSC in 1953. In practice this
colorspace is obsolete and SMPTE 170M should be used instead. The default Y'CbCr encoding
is <constant>V4L2_YCBCR_ENC_601</constant>. The default Y'CbCr quantization is limited range.
The chromaticities of the primary colors and the white reference are:</para>
      <table frame="none">
        <title>NTSC 1953 Chromaticities</title>
        <tgroup cols="3" align="left">
          &cs-str;
    	<thead>
    	  <row>
    	    <entry>Color</entry>
    	    <entry>x</entry>
    	    <entry>y</entry>
    	  </row>
    	</thead>
          <tbody valign="top">
            <row>
              <entry>Red</entry>
              <entry>0.67</entry>
              <entry>0.33</entry>
            </row>
            <row>
              <entry>Green</entry>
              <entry>0.21</entry>
              <entry>0.71</entry>
            </row>
            <row>
              <entry>Blue</entry>
              <entry>0.14</entry>
              <entry>0.08</entry>
            </row>
            <row>
              <entry>White Reference (C)</entry>
              <entry>0.310</entry>
              <entry>0.316</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
      <para>Note that this colorspace uses Illuminant C instead of D65 as the
white reference. To correctly convert an image in this colorspace to another
that uses D65 you need to apply a chromatic adaptation algorithm such as the
Bradford method.</para>
      <variablelist>
	<varlistentry>
          <term>The transfer function was never properly defined for NTSC 1953. The
Rec. 709 transfer function is recommended in the literature:</term>
	  <listitem>
            <para>L' = 4.5L&nbsp;for&nbsp;0&nbsp;&le;&nbsp;L&nbsp;&lt;&nbsp;0.018</para>
            <para>L' = 1.099L<superscript>0.45</superscript>&nbsp;-&nbsp;0.099&nbsp;for&nbsp;0.018&nbsp;&le;&nbsp;L&nbsp;&le;&nbsp;1</para>
	  </listitem>
	</varlistentry>
	<varlistentry>
          <term>Inverse Transfer function:</term>
	  <listitem>
            <para>L = L'&nbsp;/&nbsp;4.5&nbsp;for&nbsp;L'&nbsp;&lt;&nbsp;0.081</para>
            <para>L = ((L'&nbsp;+&nbsp;0.099)&nbsp;/&nbsp;1.099)<superscript>1/0.45</superscript>&nbsp;for&nbsp;L'&nbsp;&ge;&nbsp;0.081</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <variablelist>
	<varlistentry>
      	  <term>The luminance (Y') and color difference (Cb and Cr) are obtained with the
following <constant>V4L2_YCBCR_ENC_601</constant> encoding:</term>
	  <listitem>
            <para>Y'&nbsp;=&nbsp;0.299R'&nbsp;+&nbsp;0.587G'&nbsp;+&nbsp;0.114B'</para>
            <para>Cb&nbsp;=&nbsp;-0.169R'&nbsp;-&nbsp;0.331G'&nbsp;+&nbsp;0.5B'</para>
            <para>Cr&nbsp;=&nbsp;0.5R'&nbsp;-&nbsp;0.419G'&nbsp;-&nbsp;0.081B'</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <para>Y' is clamped to the range [0&hellip;1] and Cb and Cr are
clamped to the range [-0.5&hellip;0.5]. The Y'CbCr quantization is limited range.
This transform is identical to one defined in SMPTE 170M/BT.601.</para>
    </section>

    <section id="col-sysbg">
      <title>Colorspace EBU Tech. 3213 (<constant>V4L2_COLORSPACE_470_SYSTEM_BG</constant>)</title>
      <para>The <xref linkend="tech3213" /> standard defines the colorspace used by PAL/SECAM in 1975. In practice this
colorspace is obsolete and SMPTE 170M should be used instead. The default Y'CbCr encoding
is <constant>V4L2_YCBCR_ENC_601</constant>. The default Y'CbCr quantization is limited range.
The chromaticities of the primary colors and the white reference are:</para>
      <table frame="none">
        <title>EBU Tech. 3213 Chromaticities</title>
        <tgroup cols="3" align="left">
          &cs-str;
    	<thead>
    	  <row>
    	    <entry>Color</entry>
    	    <entry>x</entry>
    	    <entry>y</entry>
    	  </row>
    	</thead>
          <tbody valign="top">
            <row>
              <entry>Red</entry>
              <entry>0.64</entry>
              <entry>0.33</entry>
            </row>
            <row>
              <entry>Green</entry>
              <entry>0.29</entry>
              <entry>0.60</entry>
            </row>
            <row>
              <entry>Blue</entry>
              <entry>0.15</entry>
              <entry>0.06</entry>
            </row>
            <row>
              <entry>White Reference (D65)</entry>
              <entry>0.3127</entry>
              <entry>0.3290</entry>
            </row>
          </tbody>
        </tgroup>
      </table>
      <variablelist>
	<varlistentry>
          <term>The transfer function was never properly defined for this colorspace.
The Rec. 709 transfer function is recommended in the literature:</term>
	  <listitem>
            <para>L' = 4.5L&nbsp;for&nbsp;0&nbsp;&le;&nbsp;L&nbsp;&lt;&nbsp;0.018</para>
            <para>L' = 1.099L<superscript>0.45</superscript>&nbsp;-&nbsp;0.099&nbsp;for&nbsp;0.018&nbsp;&le;&nbsp;L&nbsp;&le;&nbsp;1</para>
	  </listitem>
	</varlistentry>
	<varlistentry>
          <term>Inverse Transfer function:</term>
	  <listitem>
            <para>L = L'&nbsp;/&nbsp;4.5&nbsp;for&nbsp;L'&nbsp;&lt;&nbsp;0.081</para>
            <para>L = ((L'&nbsp;+&nbsp;0.099)&nbsp;/&nbsp;1.099)<superscript>1/0.45</superscript>&nbsp;for&nbsp;L'&nbsp;&ge;&nbsp;0.081</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <variablelist>
	<varlistentry>
      	  <term>The luminance (Y') and color difference (Cb and Cr) are obtained with the
following <constant>V4L2_YCBCR_ENC_601</constant> encoding:</term>
	  <listitem>
            <para>Y'&nbsp;=&nbsp;0.299R'&nbsp;+&nbsp;0.587G'&nbsp;+&nbsp;0.114B'</para>
            <para>Cb&nbsp;=&nbsp;-0.169R'&nbsp;-&nbsp;0.331G'&nbsp;+&nbsp;0.5B'</para>
            <para>Cr&nbsp;=&nbsp;0.5R'&nbsp;-&nbsp;0.419G'&nbsp;-&nbsp;0.081B'</para>
	  </listitem>
	</varlistentry>
      </variablelist>
      <para>Y' is clamped to the range [0&hellip;1] and Cb and Cr are
clamped to the range [-0.5&hellip;0.5]. The Y'CbCr quantization is limited range.
This transform is identical to one defined in SMPTE 170M/BT.601.</para>
    </section>

    <section id="col-jpeg">
      <title>Colorspace JPEG (<constant>V4L2_COLORSPACE_JPEG</constant>)</title>
      <para>This colorspace defines the colorspace used by most (Motion-)JPEG formats. The chromaticities
of the primary colors and the white reference are identical to sRGB. The Y'CbCr encoding is
<constant>V4L2_YCBCR_ENC_601</constant> with full range quantization where
Y' is scaled to [0&hellip;255] and Cb/Cr are scaled to [-128&hellip;128] and
then clipped to [-128&hellip;127].</para>
      <para>Note that the JPEG standard does not actually store colorspace information.
So if something other than sRGB is used, then the driver will have to set that information
explicitly. Effectively <constant>V4L2_COLORSPACE_JPEG</constant> can be considered to be
an abbreviation for <constant>V4L2_COLORSPACE_SRGB</constant>, <constant>V4L2_YCBCR_ENC_601</constant>
and <constant>V4L2_QUANTIZATION_FULL_RANGE</constant>.</para>
    </section>

  </section>

  <section id="pixfmt-indexed">
    <title>Indexed Format</title>

    <para>In this format each pixel is represented by an 8 bit index
into a 256 entry ARGB palette. It is intended for <link
linkend="osd">Video Output Overlays</link> only. There are no ioctls to
access the palette, this must be done with ioctls of the Linux framebuffer API.</para>

    <table pgwide="0" frame="none">
      <title>Indexed Image Format</title>
      <tgroup cols="37" align="center">
	<colspec colname="id" align="left" />
	<colspec colname="fourcc" />
	<colspec colname="bit" />

	<colspec colnum="4" colname="b07" align="center" />
	<colspec colnum="5" colname="b06" align="center" />
	<colspec colnum="6" colname="b05" align="center" />
	<colspec colnum="7" colname="b04" align="center" />
	<colspec colnum="8" colname="b03" align="center" />
	<colspec colnum="9" colname="b02" align="center" />
	<colspec colnum="10" colname="b01" align="center" />
	<colspec colnum="11" colname="b00" align="center" />

	<spanspec namest="b07" nameend="b00" spanname="b0" />
	<spanspec namest="b17" nameend="b10" spanname="b1" />
	<spanspec namest="b27" nameend="b20" spanname="b2" />
	<spanspec namest="b37" nameend="b30" spanname="b3" />
	<thead>
	  <row>
	    <entry>Identifier</entry>
	    <entry>Code</entry>
	    <entry>&nbsp;</entry>
	    <entry spanname="b0">Byte&nbsp;0</entry>
	  </row>
	  <row>
	    <entry>&nbsp;</entry>
	    <entry>&nbsp;</entry>
	    <entry>Bit</entry>
	    <entry>7</entry>
	    <entry>6</entry>
	    <entry>5</entry>
	    <entry>4</entry>
	    <entry>3</entry>
	    <entry>2</entry>
	    <entry>1</entry>
	    <entry>0</entry>
	  </row>
	</thead>
	<tbody valign="top">
	  <row id="V4L2-PIX-FMT-PAL8">
	    <entry><constant>V4L2_PIX_FMT_PAL8</constant></entry>
	    <entry>'PAL8'</entry>
	    <entry></entry>
	    <entry>i<subscript>7</subscript></entry>
	    <entry>i<subscript>6</subscript></entry>
	    <entry>i<subscript>5</subscript></entry>
	    <entry>i<subscript>4</subscript></entry>
	    <entry>i<subscript>3</subscript></entry>
	    <entry>i<subscript>2</subscript></entry>
	    <entry>i<subscript>1</subscript></entry>
	    <entry>i<subscript>0</subscript></entry>
	  </row>
	</tbody>
      </tgroup>
    </table>
  </section>

  <section id="pixfmt-rgb">
    <title>RGB Formats</title>

    &sub-packed-rgb;
    &sub-sbggr8;
    &sub-sgbrg8;
    &sub-sgrbg8;
    &sub-srggb8;
    &sub-sbggr16;
    &sub-srggb10;
    &sub-srggb10p;
    &sub-srggb10alaw8;
    &sub-srggb10dpcm8;
    &sub-srggb12;
  </section>

  <section id="yuv-formats">
    <title>YUV Formats</title>

    <para>YUV is the format native to TV broadcast and composite video
signals. It separates the brightness information (Y) from the color
information (U and V or Cb and Cr). The color information consists of
red and blue <emphasis>color difference</emphasis> signals, this way
the green component can be reconstructed by subtracting from the
brightness component. See <xref linkend="colorspaces" /> for conversion
examples. YUV was chosen because early television would only transmit
brightness information. To add color in a way compatible with existing
receivers a new signal carrier was added to transmit the color
difference signals. Secondary in the YUV format the U and V components
usually have lower resolution than the Y component. This is an analog
video compression technique taking advantage of a property of the
human visual system, being more sensitive to brightness
information.</para>

    &sub-packed-yuv;
    &sub-grey;
    &sub-y10;
    &sub-y12;
    &sub-y10b;
    &sub-y16;
    &sub-uv8;
    &sub-yuyv;
    &sub-uyvy;
    &sub-yvyu;
    &sub-vyuy;
    &sub-y41p;
    &sub-yuv420;
    &sub-yuv420m;
    &sub-yvu420m;
    &sub-yuv410;
    &sub-yuv422p;
    &sub-yuv411p;
    &sub-nv12;
    &sub-nv12m;
    &sub-nv12mt;
    &sub-nv16;
    &sub-nv16m;
    &sub-nv24;
    &sub-m420;
  </section>

  <section>
    <title>Compressed Formats</title>

    <table pgwide="1" frame="none" id="compressed-formats">
      <title>Compressed Image Formats</title>
      <tgroup cols="3" align="left">
	&cs-def;
	<thead>
	  <row>
	    <entry>Identifier</entry>
	    <entry>Code</entry>
	    <entry>Details</entry>
	  </row>
	</thead>
	<tbody valign="top">
	 <row id="V4L2-PIX-FMT-JPEG">
	    <entry><constant>V4L2_PIX_FMT_JPEG</constant></entry>
	    <entry>'JPEG'</entry>
	    <entry>TBD. See also &VIDIOC-G-JPEGCOMP;,
	    &VIDIOC-S-JPEGCOMP;.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-MPEG">
	    <entry><constant>V4L2_PIX_FMT_MPEG</constant></entry>
	    <entry>'MPEG'</entry>
	    <entry>MPEG multiplexed stream. The actual format is determined by
extended control <constant>V4L2_CID_MPEG_STREAM_TYPE</constant>, see
<xref linkend="mpeg-control-id" />.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-H264">
		<entry><constant>V4L2_PIX_FMT_H264</constant></entry>
		<entry>'H264'</entry>
		<entry>H264 video elementary stream with start codes.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-H264-NO-SC">
		<entry><constant>V4L2_PIX_FMT_H264_NO_SC</constant></entry>
		<entry>'AVC1'</entry>
		<entry>H264 video elementary stream without start codes.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-H264-MVC">
		<entry><constant>V4L2_PIX_FMT_H264_MVC</constant></entry>
		<entry>'M264'</entry>
		<entry>H264 MVC video elementary stream.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-H263">
		<entry><constant>V4L2_PIX_FMT_H263</constant></entry>
		<entry>'H263'</entry>
		<entry>H263 video elementary stream.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-MPEG1">
		<entry><constant>V4L2_PIX_FMT_MPEG1</constant></entry>
		<entry>'MPG1'</entry>
		<entry>MPEG1 video elementary stream.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-MPEG2">
		<entry><constant>V4L2_PIX_FMT_MPEG2</constant></entry>
		<entry>'MPG2'</entry>
		<entry>MPEG2 video elementary stream.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-MPEG4">
		<entry><constant>V4L2_PIX_FMT_MPEG4</constant></entry>
		<entry>'MPG4'</entry>
		<entry>MPEG4 video elementary stream.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-XVID">
		<entry><constant>V4L2_PIX_FMT_XVID</constant></entry>
		<entry>'XVID'</entry>
		<entry>Xvid video elementary stream.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-VC1-ANNEX-G">
		<entry><constant>V4L2_PIX_FMT_VC1_ANNEX_G</constant></entry>
		<entry>'VC1G'</entry>
		<entry>VC1, SMPTE 421M Annex G compliant stream.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-VC1-ANNEX-L">
		<entry><constant>V4L2_PIX_FMT_VC1_ANNEX_L</constant></entry>
		<entry>'VC1L'</entry>
		<entry>VC1, SMPTE 421M Annex L compliant stream.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-VP8">
		<entry><constant>V4L2_PIX_FMT_VP8</constant></entry>
		<entry>'VP80'</entry>
		<entry>VP8 video elementary stream.</entry>
	  </row>
	</tbody>
      </tgroup>
    </table>
  </section>

  <section id="sdr-formats">
    <title>SDR Formats</title>

    <para>These formats are used for <link linkend="sdr">SDR Capture</link>
interface only.</para>

    &sub-sdr-cu08;
    &sub-sdr-cu16le;
    &sub-sdr-cs08;
    &sub-sdr-cs14le;
    &sub-sdr-ru12le;

  </section>

  <section id="pixfmt-reserved">
    <title>Reserved Format Identifiers</title>

    <para>These formats are not defined by this specification, they
are just listed for reference and to avoid naming conflicts. If you
want to register your own format, send an e-mail to the linux-media mailing
list &v4l-ml; for inclusion in the <filename>videodev2.h</filename>
file. If you want to share your format with other developers add a
link to your documentation and send a copy to the linux-media mailing list
for inclusion in this section. If you think your format should be listed
in a standard format section please make a proposal on the linux-media mailing
list.</para>

    <table pgwide="1" frame="none" id="reserved-formats">
      <title>Reserved Image Formats</title>
      <tgroup cols="3" align="left">
	&cs-def;
	<thead>
	  <row>
	    <entry>Identifier</entry>
	    <entry>Code</entry>
	    <entry>Details</entry>
	  </row>
	</thead>
	<tbody valign="top">
	  <row id="V4L2-PIX-FMT-DV">
	    <entry><constant>V4L2_PIX_FMT_DV</constant></entry>
	    <entry>'dvsd'</entry>
	    <entry>unknown</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-ET61X251">
	    <entry><constant>V4L2_PIX_FMT_ET61X251</constant></entry>
	    <entry>'E625'</entry>
	    <entry>Compressed format of the ET61X251 driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-HI240">
	    <entry><constant>V4L2_PIX_FMT_HI240</constant></entry>
	    <entry>'HI24'</entry>
	    <entry><para>8 bit RGB format used by the BTTV driver.</para></entry>
	  </row>
	  <row id="V4L2-PIX-FMT-HM12">
	    <entry><constant>V4L2_PIX_FMT_HM12</constant></entry>
	    <entry>'HM12'</entry>
	    <entry><para>YUV 4:2:0 format used by the
IVTV driver, <ulink url="http://www.ivtvdriver.org/">
http://www.ivtvdriver.org/</ulink></para><para>The format is documented in the
kernel sources in the file <filename>Documentation/video4linux/cx2341x/README.hm12</filename>
</para></entry>
	  </row>
	  <row id="V4L2-PIX-FMT-CPIA1">
	    <entry><constant>V4L2_PIX_FMT_CPIA1</constant></entry>
	    <entry>'CPIA'</entry>
	    <entry>YUV format used by the gspca cpia1 driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-JPGL">
	    <entry><constant>V4L2_PIX_FMT_JPGL</constant></entry>
	    <entry>'JPGL'</entry>
	    <entry>JPEG-Light format (Pegasus Lossless JPEG)
			used in Divio webcams NW 80x.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-SPCA501">
	    <entry><constant>V4L2_PIX_FMT_SPCA501</constant></entry>
	    <entry>'S501'</entry>
	    <entry>YUYV per line used by the gspca driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-SPCA505">
	    <entry><constant>V4L2_PIX_FMT_SPCA505</constant></entry>
	    <entry>'S505'</entry>
	    <entry>YYUV per line used by the gspca driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-SPCA508">
	    <entry><constant>V4L2_PIX_FMT_SPCA508</constant></entry>
	    <entry>'S508'</entry>
	    <entry>YUVY per line used by the gspca driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-SPCA561">
	    <entry><constant>V4L2_PIX_FMT_SPCA561</constant></entry>
	    <entry>'S561'</entry>
	    <entry>Compressed GBRG Bayer format used by the gspca driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-PAC207">
	    <entry><constant>V4L2_PIX_FMT_PAC207</constant></entry>
	    <entry>'P207'</entry>
	    <entry>Compressed BGGR Bayer format used by the gspca driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-MR97310A">
	    <entry><constant>V4L2_PIX_FMT_MR97310A</constant></entry>
	    <entry>'M310'</entry>
	    <entry>Compressed BGGR Bayer format used by the gspca driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-JL2005BCD">
	    <entry><constant>V4L2_PIX_FMT_JL2005BCD</constant></entry>
	    <entry>'JL20'</entry>
	    <entry>JPEG compressed RGGB Bayer format used by the gspca driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-OV511">
	    <entry><constant>V4L2_PIX_FMT_OV511</constant></entry>
	    <entry>'O511'</entry>
	    <entry>OV511 JPEG format used by the gspca driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-OV518">
	    <entry><constant>V4L2_PIX_FMT_OV518</constant></entry>
	    <entry>'O518'</entry>
	    <entry>OV518 JPEG format used by the gspca driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-PJPG">
	    <entry><constant>V4L2_PIX_FMT_PJPG</constant></entry>
	    <entry>'PJPG'</entry>
	    <entry>Pixart 73xx JPEG format used by the gspca driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-SE401">
	    <entry><constant>V4L2_PIX_FMT_SE401</constant></entry>
	    <entry>'S401'</entry>
	    <entry>Compressed RGB format used by the gspca se401 driver</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-SQ905C">
	    <entry><constant>V4L2_PIX_FMT_SQ905C</constant></entry>
	    <entry>'905C'</entry>
	    <entry>Compressed RGGB bayer format used by the gspca driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-MJPEG">
	    <entry><constant>V4L2_PIX_FMT_MJPEG</constant></entry>
	    <entry>'MJPG'</entry>
	    <entry>Compressed format used by the Zoran driver</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-PWC1">
	    <entry><constant>V4L2_PIX_FMT_PWC1</constant></entry>
	    <entry>'PWC1'</entry>
	    <entry>Compressed format of the PWC driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-PWC2">
	    <entry><constant>V4L2_PIX_FMT_PWC2</constant></entry>
	    <entry>'PWC2'</entry>
	    <entry>Compressed format of the PWC driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-SN9C10X">
	    <entry><constant>V4L2_PIX_FMT_SN9C10X</constant></entry>
	    <entry>'S910'</entry>
	    <entry>Compressed format of the SN9C102 driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-SN9C20X-I420">
	    <entry><constant>V4L2_PIX_FMT_SN9C20X_I420</constant></entry>
	    <entry>'S920'</entry>
	    <entry>YUV 4:2:0 format of the gspca sn9c20x driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-SN9C2028">
	    <entry><constant>V4L2_PIX_FMT_SN9C2028</constant></entry>
	    <entry>'SONX'</entry>
	    <entry>Compressed GBRG bayer format of the gspca sn9c2028 driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-STV0680">
	    <entry><constant>V4L2_PIX_FMT_STV0680</constant></entry>
	    <entry>'S680'</entry>
	    <entry>Bayer format of the gspca stv0680 driver.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-WNVA">
	    <entry><constant>V4L2_PIX_FMT_WNVA</constant></entry>
	    <entry>'WNVA'</entry>
	    <entry><para>Used by the Winnov Videum driver, <ulink
url="http://www.thedirks.org/winnov/">
http://www.thedirks.org/winnov/</ulink></para></entry>
	  </row>
	  <row id="V4L2-PIX-FMT-TM6000">
	    <entry><constant>V4L2_PIX_FMT_TM6000</constant></entry>
	    <entry>'TM60'</entry>
	    <entry><para>Used by Trident tm6000</para></entry>
	  </row>
	  <row id="V4L2-PIX-FMT-CIT-YYVYUY">
	    <entry><constant>V4L2_PIX_FMT_CIT_YYVYUY</constant></entry>
	    <entry>'CITV'</entry>
	    <entry><para>Used by xirlink CIT, found at IBM webcams.</para>
	           <para>Uses one line of Y then 1 line of VYUY</para>
	    </entry>
	  </row>
	  <row id="V4L2-PIX-FMT-KONICA420">
	    <entry><constant>V4L2_PIX_FMT_KONICA420</constant></entry>
	    <entry>'KONI'</entry>
	    <entry><para>Used by Konica webcams.</para>
	           <para>YUV420 planar in blocks of 256 pixels.</para>
	    </entry>
	  </row>
	  <row id="V4L2-PIX-FMT-YYUV">
	    <entry><constant>V4L2_PIX_FMT_YYUV</constant></entry>
	    <entry>'YYUV'</entry>
	    <entry>unknown</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-Y4">
	    <entry><constant>V4L2_PIX_FMT_Y4</constant></entry>
	    <entry>'Y04 '</entry>
	    <entry>Old 4-bit greyscale format. Only the most significant 4 bits of each byte are used,
the other bits are set to 0.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-Y6">
	    <entry><constant>V4L2_PIX_FMT_Y6</constant></entry>
	    <entry>'Y06 '</entry>
	    <entry>Old 6-bit greyscale format. Only the most significant 6 bits of each byte are used,
the other bits are set to 0.</entry>
	  </row>
	  <row id="V4L2-PIX-FMT-S5C-UYVY-JPG">
	    <entry><constant>V4L2_PIX_FMT_S5C_UYVY_JPG</constant></entry>
	    <entry>'S5CI'</entry>
	    <entry>Two-planar format used by Samsung S5C73MX cameras. The
first plane contains interleaved JPEG and UYVY image data, followed by meta data
in form of an array of offsets to the UYVY data blocks. The actual pointer array
follows immediately the interleaved JPEG/UYVY data, the number of entries in
this array equals the height of the UYVY image. Each entry is a 4-byte unsigned
integer in big endian order and it's an offset to a single pixel line of the
UYVY image. The first plane can start either with JPEG or UYVY data chunk. The
size of a single UYVY block equals the UYVY image's width multiplied by 2. The
size of a JPEG chunk depends on the image and can vary with each line.
<para>The second plane, at an offset of 4084 bytes, contains a 4-byte offset to
the pointer array in the first plane. This offset is followed by a 4-byte value
indicating size of the pointer array. All numbers in the second plane are also
in big endian order. Remaining data in the second plane is undefined. The
information in the second plane allows to easily find location of the pointer
array, which can be different for each frame. The size of the pointer array is
constant for given UYVY image height.</para>
<para>In order to extract UYVY and JPEG frames an application can initially set
a data pointer to the start of first plane and then add an offset from the first
entry of the pointers table. Such a pointer indicates start of an UYVY image
pixel line. Whole UYVY line can be copied to a separate buffer. These steps
should be repeated for each line, i.e. the number of entries in the pointer
array. Anything what's in between the UYVY lines is JPEG data and should be
concatenated to form the JPEG stream. </para>
</entry>
	  </row>
	</tbody>
      </tgroup>
    </table>

    <table frame="none" pgwide="1" id="format-flags">
      <title>Format Flags</title>
      <tgroup cols="3">
	&cs-def;
	<tbody valign="top">
	  <row>
	    <entry><constant>V4L2_PIX_FMT_FLAG_PREMUL_ALPHA</constant></entry>
	    <entry>0x00000001</entry>
	    <entry>The color values are premultiplied by the alpha channel
value. For example, if a light blue pixel with 50% transparency was described by
RGBA values (128, 192, 255, 128), the same pixel described with premultiplied
colors would be described by RGBA values (64, 96, 128, 128) </entry>
	  </row>
	</tbody>
      </tgroup>
    </table>
  </section>
