1*4882a593Smuzhiyun.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun.. _V4L2-PIX-FMT-Y12I: 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun************************** 6*4882a593SmuzhiyunV4L2_PIX_FMT_Y12I ('Y12I') 7*4882a593Smuzhiyun************************** 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunInterleaved grey-scale image, e.g. from a stereo-pair 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunDescription 13*4882a593Smuzhiyun=========== 14*4882a593Smuzhiyun 15*4882a593SmuzhiyunThis is a grey-scale image with a depth of 12 bits per pixel, but with 16*4882a593Smuzhiyunpixels from 2 sources interleaved and bit-packed. Each pixel is stored 17*4882a593Smuzhiyunin a 24-bit word in the little-endian order. On a little-endian machine 18*4882a593Smuzhiyunthese pixels can be deinterlaced using 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun.. code-block:: c 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun __u8 *buf; 23*4882a593Smuzhiyun left0 = 0xfff & *(__u16 *)buf; 24*4882a593Smuzhiyun right0 = *(__u16 *)(buf + 1) >> 4; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun**Bit-packed representation.** 27*4882a593Smuzhiyunpixels cross the byte boundary and have a ratio of 3 bytes for each 28*4882a593Smuzhiyuninterleaved pixel. 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun.. flat-table:: 31*4882a593Smuzhiyun :header-rows: 0 32*4882a593Smuzhiyun :stub-columns: 0 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun * - Y'\ :sub:`0left[7:0]` 35*4882a593Smuzhiyun - Y'\ :sub:`0right[3:0]`\ Y'\ :sub:`0left[11:8]` 36*4882a593Smuzhiyun - Y'\ :sub:`0right[11:4]` 37