.. -*- coding: utf-8; mode: rst -*-

.. _V4L2-PIX-FMT-Y41P:

**************************
V4L2_PIX_FMT_Y41P ('Y41P')
**************************

*man V4L2_PIX_FMT_Y41P(2)*

Format with ¼ horizontal chroma resolution, also known as YUV 4:1:1


Description
===========

In this format each 12 bytes is eight pixels. In the twelve bytes are
two CbCr pairs and eight Y's. The first CbCr pair goes with the first
four Y's, and the second CbCr pair goes with the other four Y's. The Cb
and Cr components have one fourth the horizontal resolution of the Y
component.

Do not confuse this format with
:ref:`V4L2_PIX_FMT_YUV411P <V4L2-PIX-FMT-YUV411P>`. Y41P is derived
from "YUV 4:1:1 *packed*", while YUV411P stands for "YUV 4:1:1
*planar*".

**Byte Order.**

Each cell is one byte.



.. flat-table::
    :header-rows:  0
    :stub-columns: 0
    :widths:       2 1 1 1 1 1 1 1 1 1 1 1 1


    -  .. row 1

       -  start + 0:

       -  Cb\ :sub:`00`

       -  Y'\ :sub:`00`

       -  Cr\ :sub:`00`

       -  Y'\ :sub:`01`

       -  Cb\ :sub:`01`

       -  Y'\ :sub:`02`

       -  Cr\ :sub:`01`

       -  Y'\ :sub:`03`

       -  Y'\ :sub:`04`

       -  Y'\ :sub:`05`

       -  Y'\ :sub:`06`

       -  Y'\ :sub:`07`

    -  .. row 2

       -  start + 12:

       -  Cb\ :sub:`10`

       -  Y'\ :sub:`10`

       -  Cr\ :sub:`10`

       -  Y'\ :sub:`11`

       -  Cb\ :sub:`11`

       -  Y'\ :sub:`12`

       -  Cr\ :sub:`11`

       -  Y'\ :sub:`13`

       -  Y'\ :sub:`14`

       -  Y'\ :sub:`15`

       -  Y'\ :sub:`16`

       -  Y'\ :sub:`17`

    -  .. row 3

       -  start + 24:

       -  Cb\ :sub:`20`

       -  Y'\ :sub:`20`

       -  Cr\ :sub:`20`

       -  Y'\ :sub:`21`

       -  Cb\ :sub:`21`

       -  Y'\ :sub:`22`

       -  Cr\ :sub:`21`

       -  Y'\ :sub:`23`

       -  Y'\ :sub:`24`

       -  Y'\ :sub:`25`

       -  Y'\ :sub:`26`

       -  Y'\ :sub:`27`

    -  .. row 4

       -  start + 36:

       -  Cb\ :sub:`30`

       -  Y'\ :sub:`30`

       -  Cr\ :sub:`30`

       -  Y'\ :sub:`31`

       -  Cb\ :sub:`31`

       -  Y'\ :sub:`32`

       -  Cr\ :sub:`31`

       -  Y'\ :sub:`33`

       -  Y'\ :sub:`34`

       -  Y'\ :sub:`35`

       -  Y'\ :sub:`36`

       -  Y'\ :sub:`37`


**Color Sample Location..**



.. flat-table::
    :header-rows:  0
    :stub-columns: 0


    -  .. row 1

       -  
       -  0

       -  
       -  1

       -  
       -  2

       -  
       -  3

       -  
       -  4

       -  
       -  5

       -  
       -  6

       -  
       -  7

    -  .. row 2

       -  0

       -  Y

       -  
       -  Y

       -  C

       -  Y

       -  
       -  Y

       -  
       -  Y

       -  
       -  Y

       -  C

       -  Y

       -  
       -  Y

    -  .. row 3

       -  1

       -  Y

       -  
       -  Y

       -  C

       -  Y

       -  
       -  Y

       -  
       -  Y

       -  
       -  Y

       -  C

       -  Y

       -  
       -  Y

    -  .. row 4

       -  2

       -  Y

       -  
       -  Y

       -  C

       -  Y

       -  
       -  Y

       -  
       -  Y

       -  
       -  Y

       -  C

       -  Y

       -  
       -  Y

    -  .. row 5

       -  3

       -  Y

       -  
       -  Y

       -  C

       -  Y

       -  
       -  Y

       -  
       -  Y

       -  
       -  Y

       -  C

       -  Y

       -  
       -  Y




.. ------------------------------------------------------------------------------
.. This file was automatically converted from DocBook-XML with the dbxml
.. library (https://github.com/return42/sphkerneldoc). The origin XML comes
.. from the linux kernel, refer to:
..
.. * https://github.com/torvalds/linux/tree/master/Documentation/DocBook
.. ------------------------------------------------------------------------------
