GNU Linux-libre 4.14.295-gnu1
[releases.git] / Documentation / media / uapi / v4l / pixfmt-y12i.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _V4L2-PIX-FMT-Y12I:
4
5 **************************
6 V4L2_PIX_FMT_Y12I ('Y12I')
7 **************************
8
9 Interleaved grey-scale image, e.g. from a stereo-pair
10
11
12 Description
13 ===========
14
15 This is a grey-scale image with a depth of 12 bits per pixel, but with
16 pixels from 2 sources interleaved and bit-packed. Each pixel is stored
17 in a 24-bit word in the little-endian order. On a little-endian machine
18 these pixels can be deinterlaced using
19
20 .. code-block:: c
21
22     __u8 *buf;
23     left0 = 0xfff & *(__u16 *)buf;
24     right0 = *(__u16 *)(buf + 1) >> 4;
25
26 **Bit-packed representation.**
27 pixels cross the byte boundary and have a ratio of 3 bytes for each
28 interleaved pixel.
29
30 .. flat-table::
31     :header-rows:  0
32     :stub-columns: 0
33
34     * - Y'\ :sub:`0left[7:0]`
35       - Y'\ :sub:`0right[3:0]`\ Y'\ :sub:`0left[11:8]`
36       - Y'\ :sub:`0right[11:4]`