---
name: "rte_bbdev_op_turbo_dec"
section: "3"
platform: "linux"
package: "dpdk-doc"
version: "24.11.4-0+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rte_bbdev_op_turbo_dec"
---

# rte\_bbdev\_op\_turbo\_dec(3)

## NAME

rte\_bbdev\_op\_turbo\_dec

## SYNOPSIS

`#include <rte_bbdev_op.h>`

### Data Fields

struct **rte\_bbdev\_op\_data** **input**\
 struct **rte\_bbdev\_op\_data** **hard\_output**\
 struct **rte\_bbdev\_op\_data** **soft\_output**\
 uint32\_t **op\_flags**\
 uint8\_t **rv\_index**\
 uint8\_t **iter\_min**:4\
 uint8\_t **iter\_max**:4\
 uint8\_t **iter\_count**\
 uint8\_t **ext\_scale**\
 uint8\_t **num\_maps**\
 uint8\_t **code\_block\_mode**\

## Detailed Description

Operation structure for Turbo decode. An operation can be performed on one CB at a time 'CB-mode'. An operation can be performed on one or multiple CBs that logically belong to one TB 'TB-mode'. The provided K size parameter of the CB is its size coming from the decode operation. CRC24A/B check is requested by the application by setting the flag RTE\_BBDEV\_TURBO\_CRC\_TYPE\_24B for CRC24B check or CRC24A otherwise. In TB-mode, BBDEV concatenates the decoded CBs one next to the other with relevant CRC24B in between.

The input encoded CB data is the Virtual Circular Buffer data stream, wk, with the null padding included as described in 3GPP TS 36.212 section 5.1.4.1.2 and shown in 3GPP TS 36.212 section 5.1.4.1 Figure 5.1.4-1. The size of the virtual circular buffer is 3\*Kpi, where Kpi is the 32 byte aligned value of K, as specified in 3GPP TS 36.212 section 5.1.4.1.1.

Each byte in the input circular buffer is the LLR value of each bit of the original CB.

Hard output is a mandatory capability that all BBDEV PMDs support. This is the decoded CBs of K sizes (CRC24A/B is the last 24-bit in each decoded CB). Soft output is an optional capability for BBDEV PMDs. If supported, an LLR rate matched output is computed in the soft\_output buffer structure.

The output mbuf data structure is expected to be allocated by the application with enough room for the output data.

Definition at line **430** of file **rte\_bbdev\_op.h**.

## Field Documentation

### struct rte\_bbdev\_op\_data input

The Virtual Circular Buffer, wk, size 3\*Kpi for each CB

Definition at line **432** 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 **436** of file **rte\_bbdev\_op.h**.

### struct rte\_bbdev\_op\_data soft\_output

The soft LLR output buffer - optional

Definition at line **438** of file **rte\_bbdev\_op.h**.

### uint32\_t op\_flags

Flags from rte\_bbdev\_op\_td\_flag\_bitmasks

Definition at line **441** of file **rte\_bbdev\_op.h**.

### uint8\_t rv\_index

Rv index for rate matching \[0:3\]

Definition at line **444** of file **rte\_bbdev\_op.h**.

### uint8\_t iter\_min

The minimum number of iterations to perform in decoding all CBs in this operation - input

Definition at line **448** of file **rte\_bbdev\_op.h**.

### uint8\_t iter\_max

The maximum number of iterations to perform in decoding all CBs in this operation - input

Definition at line **452** of file **rte\_bbdev\_op.h**.

### uint8\_t iter\_count

The maximum number of iterations that were performed in decoding all CBs in this decode operation - output

Definition at line **456** of file **rte\_bbdev\_op.h**.

### uint8\_t ext\_scale

5 bit extrinsic scale (scale factor on extrinsic info)

Definition at line **458** of file **rte\_bbdev\_op.h**.

### uint8\_t num\_maps

Number of MAP engines to use in decode, must be power of 2 (or 0 to auto-select)

Definition at line **462** of file **rte\_bbdev\_op.h**.

### uint8\_t code\_block\_mode

\[0 - TB : 1 - CB\]

Definition at line **465** of file **rte\_bbdev\_op.h**.

### struct rte\_bbdev\_op\_dec\_turbo\_cb\_params cb\_params

Struct which stores Code Block specific parameters

Definition at line **468** of file **rte\_bbdev\_op.h**.

### struct rte\_bbdev\_op\_dec\_turbo\_tb\_params tb\_params

Struct which stores Transport Block specific parameters

Definition at line **470** of file **rte\_bbdev\_op.h**.

## Author

Generated automatically by Doxygen for DPDK from the source code.
