xref: /openbmc/linux/Documentation/userspace-api/media/v4l/pixfmt-sdr-pcu16be.rst (revision 54f38fcae536ea202ce7d6a359521492fba30c1f)
1*54f38fcaSMauro Carvalho Chehab.. Permission is granted to copy, distribute and/or modify this
2*54f38fcaSMauro Carvalho Chehab.. document under the terms of the GNU Free Documentation License,
3*54f38fcaSMauro Carvalho Chehab.. Version 1.1 or any later version published by the Free Software
4*54f38fcaSMauro Carvalho Chehab.. Foundation, with no Invariant Sections, no Front-Cover Texts
5*54f38fcaSMauro Carvalho Chehab.. and no Back-Cover Texts. A copy of the license is included at
6*54f38fcaSMauro Carvalho Chehab.. Documentation/userspace-api/media/fdl-appendix.rst.
7*54f38fcaSMauro Carvalho Chehab..
8*54f38fcaSMauro Carvalho Chehab.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
9*54f38fcaSMauro Carvalho Chehab
10*54f38fcaSMauro Carvalho Chehab.. _V4L2-SDR-FMT-PCU16BE:
11*54f38fcaSMauro Carvalho Chehab
12*54f38fcaSMauro Carvalho Chehab******************************
13*54f38fcaSMauro Carvalho ChehabV4L2_SDR_FMT_PCU16BE ('PC16')
14*54f38fcaSMauro Carvalho Chehab******************************
15*54f38fcaSMauro Carvalho Chehab
16*54f38fcaSMauro Carvalho ChehabPlanar complex unsigned 16-bit big endian IQ sample
17*54f38fcaSMauro Carvalho Chehab
18*54f38fcaSMauro Carvalho ChehabDescription
19*54f38fcaSMauro Carvalho Chehab===========
20*54f38fcaSMauro Carvalho Chehab
21*54f38fcaSMauro Carvalho ChehabThis format contains a sequence of complex number samples. Each complex
22*54f38fcaSMauro Carvalho Chehabnumber consist of two parts called In-phase and Quadrature (IQ). Both I
23*54f38fcaSMauro Carvalho Chehaband Q are represented as a 16 bit unsigned big endian number stored in
24*54f38fcaSMauro Carvalho Chehab32 bit space. The remaining unused bits within the 32 bit space will be
25*54f38fcaSMauro Carvalho Chehabpadded with 0. I value starts first and Q value starts at an offset
26*54f38fcaSMauro Carvalho Chehabequalling half of the buffer size (i.e.) offset = buffersize/2. Out of
27*54f38fcaSMauro Carvalho Chehabthe 16 bits, bit 15:2 (14 bit) is data and bit 1:0 (2 bit) can be any
28*54f38fcaSMauro Carvalho Chehabvalue.
29*54f38fcaSMauro Carvalho Chehab
30*54f38fcaSMauro Carvalho Chehab**Byte Order.**
31*54f38fcaSMauro Carvalho ChehabEach cell is one byte.
32*54f38fcaSMauro Carvalho Chehab
33*54f38fcaSMauro Carvalho Chehab.. flat-table::
34*54f38fcaSMauro Carvalho Chehab    :header-rows:  1
35*54f38fcaSMauro Carvalho Chehab    :stub-columns: 0
36*54f38fcaSMauro Carvalho Chehab
37*54f38fcaSMauro Carvalho Chehab    * -  Offset:
38*54f38fcaSMauro Carvalho Chehab      -  Byte B0
39*54f38fcaSMauro Carvalho Chehab      -  Byte B1
40*54f38fcaSMauro Carvalho Chehab      -  Byte B2
41*54f38fcaSMauro Carvalho Chehab      -  Byte B3
42*54f38fcaSMauro Carvalho Chehab    * -  start + 0:
43*54f38fcaSMauro Carvalho Chehab      -  I'\ :sub:`0[13:6]`
44*54f38fcaSMauro Carvalho Chehab      -  I'\ :sub:`0[5:0]; B1[1:0]=pad`
45*54f38fcaSMauro Carvalho Chehab      -  pad
46*54f38fcaSMauro Carvalho Chehab      -  pad
47*54f38fcaSMauro Carvalho Chehab    * -  start + 4:
48*54f38fcaSMauro Carvalho Chehab      -  I'\ :sub:`1[13:6]`
49*54f38fcaSMauro Carvalho Chehab      -  I'\ :sub:`1[5:0]; B1[1:0]=pad`
50*54f38fcaSMauro Carvalho Chehab      -  pad
51*54f38fcaSMauro Carvalho Chehab      -  pad
52*54f38fcaSMauro Carvalho Chehab    * -  ...
53*54f38fcaSMauro Carvalho Chehab    * - start + offset:
54*54f38fcaSMauro Carvalho Chehab      -  Q'\ :sub:`0[13:6]`
55*54f38fcaSMauro Carvalho Chehab      -  Q'\ :sub:`0[5:0]; B1[1:0]=pad`
56*54f38fcaSMauro Carvalho Chehab      -  pad
57*54f38fcaSMauro Carvalho Chehab      -  pad
58*54f38fcaSMauro Carvalho Chehab    * - start + offset + 4:
59*54f38fcaSMauro Carvalho Chehab      -  Q'\ :sub:`1[13:6]`
60*54f38fcaSMauro Carvalho Chehab      -  Q'\ :sub:`1[5:0]; B1[1:0]=pad`
61*54f38fcaSMauro Carvalho Chehab      -  pad
62*54f38fcaSMauro Carvalho Chehab      -  pad
63