요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
1
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
3
.. _V4L2-SDR-FMT-PCU20BE:
5
******************************
6
V4L2_SDR_FMT_PCU20BE ('PC20')
7
******************************
9
Planar complex unsigned 20-bit big endian IQ sample
11
Description
12
===========
14
This format contains a sequence of complex number samples. Each complex
15
number consist of two parts called In-phase and Quadrature (IQ). Both I
16
and Q are represented as a 20 bit unsigned big endian number stored in
17
32 bit space. The remaining unused bits within the 32 bit space will be
18
padded with 0. I value starts first and Q value starts at an offset
19
equalling half of the buffer size (i.e.) offset = buffersize/2. Out of
20
the 20 bits, bit 19:2 (18 bit) is data and bit 1:0 (2 bit) can be any
21
value.
23
**Byte Order.**
24
Each cell is one byte.
26
.. flat-table::
27
:header-rows: 1
28
:stub-columns: 0
30
* - Offset:
31
- Byte B0
32
- Byte B1
33
- Byte B2
34
- Byte B3
35
* - start + 0:
36
- I'\ :sub:`0[19:12]`
37
- I'\ :sub:`0[11:4]`
38
- I'\ :sub:`0[3:0]; B2[3:0]=pad`
39
- pad
40
* - start + 4:
41
- I'\ :sub:`1[19:12]`
42
- I'\ :sub:`1[11:4]`
43
- I'\ :sub:`1[3:0]; B2[3:0]=pad`
44
- pad
45
* - ...
46
* - start + offset:
47
- Q'\ :sub:`0[19:12]`
48
- Q'\ :sub:`0[11:4]`
49
- Q'\ :sub:`0[3:0]; B2[3:0]=pad`
50
- pad
51
* - start + offset + 4:
52
- Q'\ :sub:`1[19:12]`
53
- Q'\ :sub:`1[11:4]`
54
- Q'\ :sub:`1[3:0]; B2[3:0]=pad`
55
- pad
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Planar complex unsigned 20-bit big-endian IQ 표본
1-55`V4L2_SDR_FMT_PCU20BE` (`PC20`)은 I와 Q를 각각 20-bit unsigned big-endian number로 나타내며 각 값은 32-bit 공간을 차지합니다. 남는 공간은 0으로 padding합니다.
I 값은 buffer 앞 절반에서 시작하고 Q 값은 `offset = buffersize / 2`부터 시작합니다. 원문은 20 bit 가운데 bit 19:2의 18 bit를 data로, bit 1:0을 임의 값으로 규정합니다.
위치Byte 배치 / 의미
start + 0 / +4I0 / I1: B0=[19:12], B1=[11:4], B2=[3:0]+4 pad bits, B3=pad
start + offset / +offset+4Q0 / Q1: I plane과 같은 4-byte 배치
각 4-byte slot의 big-endian 배치입니다.
Buffer 절반 위치에서 Q plane 시작 확인→I slot의 상위 byte부터 data 수집→같은 index의 Q slot 수집→Padding과 임의 low bits를 신호 data로 사용하지 않기
I와 Q plane을 같은 표본 index로 결합합니다.
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
.. _V4L2-SDR-FMT-PCU20BE:
******************************
V4L2_SDR_FMT_PCU20BE ('PC20')
******************************
Planar complex unsigned 20-bit big endian IQ sample
Description
===========
This format contains a sequence of complex number samples. Each complex
number consist of two parts called In-phase and Quadrature (IQ). Both I
and Q are represented as a 20 bit unsigned big endian number stored in
32 bit space. The remaining unused bits within the 32 bit space will be
padded with 0. I value starts first and Q value starts at an offset
equalling half of the buffer size (i.e.) offset = buffersize/2. Out of
the 20 bits, bit 19:2 (18 bit) is data and bit 1:0 (2 bit) can be any
value.
**Byte Order.**
Each cell is one byte.
.. flat-table::
:header-rows: 1
:stub-columns: 0
* - Offset:
- Byte B0
- Byte B1
- Byte B2
- Byte B3
* - start + 0:
- I'\ :sub:`0[19:12]`
- I'\ :sub:`0[11:4]`
- I'\ :sub:`0[3:0]; B2[3:0]=pad`
- pad
* - start + 4:
- I'\ :sub:`1[19:12]`
- I'\ :sub:`1[11:4]`
- I'\ :sub:`1[3:0]; B2[3:0]=pad`
- pad
* - ...
* - start + offset:
- Q'\ :sub:`0[19:12]`
- Q'\ :sub:`0[11:4]`
- Q'\ :sub:`0[3:0]; B2[3:0]=pad`
- pad
* - start + offset + 4:
- Q'\ :sub:`1[19:12]`
- Q'\ :sub:`1[11:4]`
- Q'\ :sub:`1[3:0]; B2[3:0]=pad`
- pad
요약·해설
pixfmt-sdr-pcu20be.rst:1-55I와 Q plane을 buffer 절반씩 나누고 각 20-bit 표본을 big-endian 4-byte slot에 배치합니다.