18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci.. _V4L2-SDR-FMT-PCU18BE:
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci******************************
68c2ecf20Sopenharmony_ciV4L2_SDR_FMT_PCU18BE ('PC18')
78c2ecf20Sopenharmony_ci******************************
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciPlanar complex unsigned 18-bit big endian IQ sample
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciDescription
128c2ecf20Sopenharmony_ci===========
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ciThis format contains a sequence of complex number samples. Each complex
158c2ecf20Sopenharmony_cinumber consist of two parts called In-phase and Quadrature (IQ). Both I
168c2ecf20Sopenharmony_ciand Q are represented as a 18 bit unsigned big endian number stored in
178c2ecf20Sopenharmony_ci32 bit space. The remaining unused bits within the 32 bit space will be
188c2ecf20Sopenharmony_cipadded with 0. I value starts first and Q value starts at an offset
198c2ecf20Sopenharmony_ciequalling half of the buffer size (i.e.) offset = buffersize/2. Out of
208c2ecf20Sopenharmony_cithe 18 bits, bit 17:2 (16 bit) is data and bit 1:0 (2 bit) can be any
218c2ecf20Sopenharmony_civalue.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci**Byte Order.**
248c2ecf20Sopenharmony_ciEach cell is one byte.
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci.. flat-table::
278c2ecf20Sopenharmony_ci    :header-rows:  1
288c2ecf20Sopenharmony_ci    :stub-columns: 0
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci    * -  Offset:
318c2ecf20Sopenharmony_ci      -  Byte B0
328c2ecf20Sopenharmony_ci      -  Byte B1
338c2ecf20Sopenharmony_ci      -  Byte B2
348c2ecf20Sopenharmony_ci      -  Byte B3
358c2ecf20Sopenharmony_ci    * -  start + 0:
368c2ecf20Sopenharmony_ci      -  I'\ :sub:`0[17:10]`
378c2ecf20Sopenharmony_ci      -  I'\ :sub:`0[9:2]`
388c2ecf20Sopenharmony_ci      -  I'\ :sub:`0[1:0]; B2[5:0]=pad`
398c2ecf20Sopenharmony_ci      -  pad
408c2ecf20Sopenharmony_ci    * -  start + 4:
418c2ecf20Sopenharmony_ci      -  I'\ :sub:`1[17:10]`
428c2ecf20Sopenharmony_ci      -  I'\ :sub:`1[9:2]`
438c2ecf20Sopenharmony_ci      -  I'\ :sub:`1[1:0]; B2[5:0]=pad`
448c2ecf20Sopenharmony_ci      -  pad
458c2ecf20Sopenharmony_ci    * -  ...
468c2ecf20Sopenharmony_ci    * - start + offset:
478c2ecf20Sopenharmony_ci      -  Q'\ :sub:`0[17:10]`
488c2ecf20Sopenharmony_ci      -  Q'\ :sub:`0[9:2]`
498c2ecf20Sopenharmony_ci      -  Q'\ :sub:`0[1:0]; B2[5:0]=pad`
508c2ecf20Sopenharmony_ci      -  pad
518c2ecf20Sopenharmony_ci    * - start + offset + 4:
528c2ecf20Sopenharmony_ci      -  Q'\ :sub:`1[17:10]`
538c2ecf20Sopenharmony_ci      -  Q'\ :sub:`1[9:2]`
548c2ecf20Sopenharmony_ci      -  Q'\ :sub:`1[1:0]; B2[5:0]=pad`
558c2ecf20Sopenharmony_ci      -  pad
56