162306a36Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci.. _V4L2-SDR-FMT-PCU20BE: 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci****************************** 662306a36Sopenharmony_ciV4L2_SDR_FMT_PCU20BE ('PC20') 762306a36Sopenharmony_ci****************************** 862306a36Sopenharmony_ci 962306a36Sopenharmony_ciPlanar complex unsigned 20-bit big endian IQ sample 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciDescription 1262306a36Sopenharmony_ci=========== 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciThis format contains a sequence of complex number samples. Each complex 1562306a36Sopenharmony_cinumber consist of two parts called In-phase and Quadrature (IQ). Both I 1662306a36Sopenharmony_ciand Q are represented as a 20 bit unsigned big endian number stored in 1762306a36Sopenharmony_ci32 bit space. The remaining unused bits within the 32 bit space will be 1862306a36Sopenharmony_cipadded with 0. I value starts first and Q value starts at an offset 1962306a36Sopenharmony_ciequalling half of the buffer size (i.e.) offset = buffersize/2. Out of 2062306a36Sopenharmony_cithe 20 bits, bit 19:2 (18 bit) is data and bit 1:0 (2 bit) can be any 2162306a36Sopenharmony_civalue. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci**Byte Order.** 2462306a36Sopenharmony_ciEach cell is one byte. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci.. flat-table:: 2762306a36Sopenharmony_ci :header-rows: 1 2862306a36Sopenharmony_ci :stub-columns: 0 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci * - Offset: 3162306a36Sopenharmony_ci - Byte B0 3262306a36Sopenharmony_ci - Byte B1 3362306a36Sopenharmony_ci - Byte B2 3462306a36Sopenharmony_ci - Byte B3 3562306a36Sopenharmony_ci * - start + 0: 3662306a36Sopenharmony_ci - I'\ :sub:`0[19:12]` 3762306a36Sopenharmony_ci - I'\ :sub:`0[11:4]` 3862306a36Sopenharmony_ci - I'\ :sub:`0[3:0]; B2[3:0]=pad` 3962306a36Sopenharmony_ci - pad 4062306a36Sopenharmony_ci * - start + 4: 4162306a36Sopenharmony_ci - I'\ :sub:`1[19:12]` 4262306a36Sopenharmony_ci - I'\ :sub:`1[11:4]` 4362306a36Sopenharmony_ci - I'\ :sub:`1[3:0]; B2[3:0]=pad` 4462306a36Sopenharmony_ci - pad 4562306a36Sopenharmony_ci * - ... 4662306a36Sopenharmony_ci * - start + offset: 4762306a36Sopenharmony_ci - Q'\ :sub:`0[19:12]` 4862306a36Sopenharmony_ci - Q'\ :sub:`0[11:4]` 4962306a36Sopenharmony_ci - Q'\ :sub:`0[3:0]; B2[3:0]=pad` 5062306a36Sopenharmony_ci - pad 5162306a36Sopenharmony_ci * - start + offset + 4: 5262306a36Sopenharmony_ci - Q'\ :sub:`1[19:12]` 5362306a36Sopenharmony_ci - Q'\ :sub:`1[11:4]` 5462306a36Sopenharmony_ci - Q'\ :sub:`1[3:0]; B2[3:0]=pad` 5562306a36Sopenharmony_ci - pad 56