> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs-staging.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Helpers for ObjectCounts

> Defines helper macros for ObjectCounts.

## Type Definitions

### `ObjectCounts`

```cpp theme={null}
typedef uint32_t ObjectCounts
```

## Macros

### `ObjectCounts_pack`

Packs information about the number of BI, BO, OI and OO in in an ObjectCounts mask.

```c theme={null}
#define ObjectCounts_pack ((ObjectCounts) ((nBuffersIn) |         \
                    ((nBuffersOut) << 4) | \
                    ((nObjectsIn) << 8)  | \
                    ((nObjectsOut) << 12)))
```

### `ObjectCounts_maxBI`

Maximum number of BI that can be passed as arguments.

```c theme={null}
#define ObjectCounts_maxBI 0xF
```

### `ObjectCounts_maxBO`

Maximum number of BO that can be passed as arguments.

```c theme={null}
#define ObjectCounts_maxBO 0xF
```

### `ObjectCounts_maxOI`

Maximum number of OI that can be passed as arguments.

```c theme={null}
#define ObjectCounts_maxOI 0xF
```

### `ObjectCounts_maxOO`

Maximum number of OO that can be passed as arguments.

```c theme={null}
#define ObjectCounts_maxOO 0xF
```

### `ObjectCounts_numBI`

Number of BI in the ObjectCounts mask.

```c theme={null}
#define ObjectCounts_numBI ( (size_t) ( ((k) >> 0) & ObjectCounts_maxBI) )
```

### `ObjectCounts_numBO`

Number of BO in the ObjectCounts mask.

```c theme={null}
#define ObjectCounts_numBO ( (size_t) ( ((k) >> 4) & ObjectCounts_maxBO) )
```

### `ObjectCounts_numOI`

Number of OI in the ObjectCounts mask.

```c theme={null}
#define ObjectCounts_numOI ( (size_t) ( ((k) >> 8) & ObjectCounts_maxOI) )
```

### `ObjectCounts_numOO`

Number of OO in the ObjectCounts mask.

```c theme={null}
#define ObjectCounts_numOO ( (size_t) ( ((k) >> 12) & ObjectCounts_maxOO) )
```

### `ObjectCounts_numBuffers`

Number of BI and BO in the ObjectCounts mask.

```c theme={null}
#define ObjectCounts_numBuffers (ObjectCounts_numBI(k) + ObjectCounts_numBO(k))
```

### `ObjectCounts_numObjects`

Number of OI and OO in the ObjectCounts mask.

```c theme={null}
#define ObjectCounts_numObjects (ObjectCounts_numOI(k) + ObjectCounts_numOO(k))
```

### `ObjectCounts_indexBI`

Index of BI in the ObjectArg list.

```c theme={null}
#define ObjectCounts_indexBI 0
```

### `ObjectCounts_indexBO`

Index of BO in the ObjectArg list.

```c theme={null}
#define ObjectCounts_indexBO (ObjectCounts_indexBI(k) + ObjectCounts_numBI(k))
```

### `ObjectCounts_indexOI`

Index of OI in the ObjectArg list.

```c theme={null}
#define ObjectCounts_indexOI (ObjectCounts_indexBO(k) + ObjectCounts_numBO(k))
```

### `ObjectCounts_indexOO`

Index of OO in the ObjectArg list.

```c theme={null}
#define ObjectCounts_indexOO (ObjectCounts_indexOI(k) + ObjectCounts_numOI(k))
```

### `ObjectCounts_total`

Total number of elements in the ObjectArg list.

```c theme={null}
#define ObjectCounts_total (ObjectCounts_indexOO(k) + ObjectCounts_numOO(k))
```

### `ObjectCounts_indexBuffers`

Index of Buffers in the ObjectArg list.

```c theme={null}
#define ObjectCounts_indexBuffers ObjectCounts_indexBI(k)
```

### `ObjectCounts_indexObjects`

Index of Objects in the ObjectArg list.

```c theme={null}
#define ObjectCounts_indexObjects ObjectCounts_indexOI(k)
```
