rte_bbdev_op_ldpc_dec(3)
π rte_bbdev_op_ldpc_dec(3) π
okay bestie, gather round π«Ά this is the Library Functions Manual page for rte_bbdev_op_ldpc_dec β yes the whole page, and yes we're reading all of it, no skimming, because LDPC decode does not do "vibes only" π
β¨ NAME β¨
rte_bbdev_op_ldpc_dec β the operation structure for LDPC decode, she's the blueprint, the moment, the whole plot π
β¨ SYNOPSIS β¨
#include <rte_bbdev_op.h>
π Data Fields π
struct rte_bbdev_op_data inputstruct rte_bbdev_op_data hard_outputstruct rte_bbdev_op_data soft_outputstruct rte_bbdev_op_data harq_combined_inputstruct rte_bbdev_op_data harq_combined_outputuint32_t op_flagsuint8_t rv_indexuint8_t iter_maxuint8_t iter_countuint8_t basegraphuint16_t z_cuint16_t n_cbuint8_t q_muint16_t n_filleruint8_t code_block_modeuint16_t k0
π Detailed Description π
Operation structure for LDPC decode. periodt, that's the assignment.
So here's the tea β an operation can run on one CB at a time, and that's called "CB-mode". It can also run on one or multiple CBs that logically belong to a TB, which is "TB-mode" β but heads up, TB-mode is currently not supported, so don't come for her about it π
The input encoded CB data is the Virtual Circular Buffer data stream. Every single byte in that input circular buffer is the LLR value of each bit of the original CB. literally one LLR per bit, no cap.
Hard output is a mandatory capability β every BBDEV PMD supports it, no excuses πͺ This is the decoded CBs, and btw the CRC24A/B is the last 24-bit in each decoded CB.
Soft output is an optional capability for BBDEV PMDs. If it's supported, an LLR rate matched output gets computed in the soft_output buffer structure. These are A Posteriori Probabilities (APP)</> LLR samples for coded bits. fancy.
HARQ combined output is also an optional capability for BBDEV PMDs. If it's supported, a LLR output is streamed to the harq_combined_output buffer.
HARQ combined input β you guessed it, optional capability too π¦ If supported, a LLR input is streamed from the harq_combined_input buffer.
And the output mbuf data structure is expected to be allocated by the application, with enough room for the output data. so like, allocate your own room bestie, she is not your landlord π
Definition at line 506 of file rte_bbdev_op.h.
πΈ Field Documentation πΈ
π«Ά struct rte_bbdev_op_data input
The Virtual Circular Buffer for this code block β one LLR per bit of the original CB.
Definition at line 510 of file rte_bbdev_op.h.
π«Ά struct rte_bbdev_op_data hard_output
The hard decisions buffer for the decoded output, size K for each CB.
Definition at line 514 of file rte_bbdev_op.h.
π«Ά struct rte_bbdev_op_data soft_output
The soft LLR output LLR stream buffer β optional.
Definition at line 516 of file rte_bbdev_op.h.
π«Ά struct rte_bbdev_op_data harq_combined_input
The HARQ combined LLR stream input buffer β optional.
Definition at line 518 of file rte_bbdev_op.h.
π«Ά struct rte_bbdev_op_data harq_combined_output
The HARQ combined LLR stream output buffer β optional.
Definition at line 520 of file rte_bbdev_op.h.
π uint32_t op_flags
Flags from rte_bbdev_op_ldpcdec_flag_bitmasks.
Definition at line 523 of file rte_bbdev_op.h.
π uint8_t rv_index
Rate matching redundancy version [3GPP TS38.212, section 5.4.2.1].
Definition at line 528 of file rte_bbdev_op.h.
π uint8_t iter_max
The maximum number of iterations to perform in decoding CB in this operation β input.
Definition at line 532 of file rte_bbdev_op.h.
π uint8_t iter_count
The number of iterations that were performed in decoding CB in this decode operation β output.
Definition at line 536 of file rte_bbdev_op.h.
π uint8_t basegraph
1: LDPC Base graph 1, 2: LDPC Base graph 2. [3GPP TS38.212, section 5.2.2]
Definition at line 540 of file rte_bbdev_op.h.
π uint16_t z_c
Zc, LDPC lifting size. [3GPP TS38.212, section 5.2.2]
Definition at line 544 of file rte_bbdev_op.h.
π uint16_t n_cb
Ncb, length of the circular buffer in bits. [3GPP TS38.212, section 5.4.2.1]
Definition at line 548 of file rte_bbdev_op.h.
π uint8_t q_m
Qm, modulation order {1,2,4,6,8}. [3GPP TS38.212, section 5.4.2.2]
Definition at line 552 of file rte_bbdev_op.h.
π uint16_t n_filler
Number of Filler bits, n_filler = K β Kβ [3GPP TS38.212 section 5.2.2]
Definition at line 556 of file rte_bbdev_op.h.
π uint8_t code_block_mode
[0 - TB : 1 - CB] β that's the whole switch, two moods only π«
Definition at line 558 of file rte_bbdev_op.h.
π struct rte_bbdev_op_dec_ldpc_cb_params cb_params
Struct which stores Code Block specific parameters.
Definition at line 561 of file rte_bbdev_op.h.
π struct rte_bbdev_op_dec_ldpc_tb_params tb_params
Struct which stores Transport Block specific parameters.
Definition at line 563 of file rte_bbdev_op.h.
π uint16_t k0
Optional k0 Rate matching starting position β overrides rv_index when non null [3GPP TS38.212, section 5.4.2.1]
Definition at line 568 of file rte_bbdev_op.h.
π Author π
Generated automatically by Doxygen for DPDK from the source code. (not a human, just a very diligent little robot π§)
okay so that's the whole page, every field, every line number, every [3GPP TS38.212] citation, nothing skipped fr fr. yw bestie π
and that's the wrap! mwah π this was the Library Functions Manual page for rte_bbdev_op_ldpc_dec(3), brought to you by DPDK, Version 25.11.3. go slay your LDPC decode, you've got this πβ¨πΈ
π¦ where this page comes from
- ubuntu resolute: dpdk-doc 25.11.3-0ubuntu0.26.04.1 Β· BSD-3-Clause
- ubuntu stonking: dpdk-doc 25.11.3-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms