18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ci.. _V4L2-SDR-FMT-PCU20BE: 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci****************************** 68c2ecf20Sopenharmony_ciV4L2_SDR_FMT_PCU20BE ('PC20') 78c2ecf20Sopenharmony_ci****************************** 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciPlanar complex unsigned 20-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 20 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 20 bits, bit 19:2 (18 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[19:12]` 378c2ecf20Sopenharmony_ci - I'\ :sub:`0[11:4]` 388c2ecf20Sopenharmony_ci - I'\ :sub:`0[3:0]; B2[3:0]=pad` 398c2ecf20Sopenharmony_ci - pad 408c2ecf20Sopenharmony_ci * - start + 4: 418c2ecf20Sopenharmony_ci - I'\ :sub:`1[19:12]` 428c2ecf20Sopenharmony_ci - I'\ :sub:`1[11:4]` 438c2ecf20Sopenharmony_ci - I'\ :sub:`1[3:0]; B2[3:0]=pad` 448c2ecf20Sopenharmony_ci - pad 458c2ecf20Sopenharmony_ci * - ... 468c2ecf20Sopenharmony_ci * - start + offset: 478c2ecf20Sopenharmony_ci - Q'\ :sub:`0[19:12]` 488c2ecf20Sopenharmony_ci - Q'\ :sub:`0[11:4]` 498c2ecf20Sopenharmony_ci - Q'\ :sub:`0[3:0]; B2[3:0]=pad` 508c2ecf20Sopenharmony_ci - pad 518c2ecf20Sopenharmony_ci * - start + offset + 4: 528c2ecf20Sopenharmony_ci - Q'\ :sub:`1[19:12]` 538c2ecf20Sopenharmony_ci - Q'\ :sub:`1[11:4]` 548c2ecf20Sopenharmony_ci - Q'\ :sub:`1[3:0]; B2[3:0]=pad` 558c2ecf20Sopenharmony_ci - pad 56