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

# SHAPE_CONTEXTS

> SHAPE_CONTEXTS

# SHAPE\_CONTEXTS

Context data for the Scalable Hardware Audio Processing Engine (SHAPE).

## Syntax

```cpp theme={null}
typedef struct SHAPE_CONTEXTS {  
    UINT32 numSrcContexts;  
    UINT32 numEqCompContexts;  
    UINT32 numFiltVolContexts;  
    UINT32 numDmaContexts;  
    UINT32 numXmaContexts;  
    UINT32 numPcmContexts;  
    SHAPE_SRC_CONTEXT* srcContextArray;  
    SHAPE_EQCOMP_CONTEXT* eqCompContextArray;  
    SHAPE_FILTVOL_CONTEXT* filtVolContextArray;  
    SHAPE_DMA_CONTEXT* dmaContextArray;  
    SHAPE_XMA_CONTEXT* xmaContextArray;  
    SHAPE_PCM_CONTEXT* pcmContextArray;  
    APU_ADDRESS apuSrcContextArray;  
    APU_ADDRESS apuEqCompContextArray;  
    APU_ADDRESS apuFiltVolContextArray;  
    APU_ADDRESS apuDmaContextArray;  
    APU_ADDRESS apuXmaContextArray;  
    APU_ADDRESS apuPcmContextArray;  
} SHAPE_CONTEXTS  
```

### Members

*numSrcContexts*\
Type: UINT32

Number of Sample Rate Convertor (SCR) contexts to allocate.

*numEqCompContexts*\
Type: UINT32

Number of EQ/Comp contexts to allocate.

*numFiltVolContexts*\
Type: UINT32

Number of Filter/Volume contexts to allocate.

*numDmaContexts*\
Type: UINT32

Number of Direct Memory Access (DMA) contexts to allocate.

*numXmaContexts*\
Type: UINT32

Number of XBOX Media Audio (XMA) contexts to allocate.

*numPcmContexts*\
Type: UINT32

Number of pulse-code modulation (PCM) contexts to allocate.

*srcContextArray*\
Type: SHAPE\_SRC\_CONTEXT\*

SRC context array.

*eqCompContextArray*\
Type: SHAPE\_EQCOMP\_CONTEXT\*

EQ/Comp context array.

*filtVolContextArray*\
Type: SHAPE\_FILTVOL\_CONTEXT\*

Filter/Volume context array.

*dmaContextArray*\
Type: SHAPE\_DMA\_CONTEXT\*

DMA context array.

*xmaContextArray*\
Type: SHAPE\_XMA\_CONTEXT\*

XMA context array.

*pcmContextArray*\
Type: SHAPE\_PCM\_CONTEXT\*

PCM context array.

*apuSrcContextArray*\
Type: APU\_ADDRESS

Physical address of the SRC context array.

*apuEqCompContextArray*\
Type: APU\_ADDRESS

Physical address of the EQ/Comp context array.

*apuFiltVolContextArray*\
Type: APU\_ADDRESS

Physical address of the Filter/Volume context array.

*apuDmaContextArray*\
Type: APU\_ADDRESS

Physical address of the DMA context array.

*apuXmaContextArray*\
Type: APU\_ADDRESS

Physical address of the XMA context array.

*apuPcmContextArray*\
Type: APU\_ADDRESS

Physical address of the PCM context array.

## Remarks

This structure is used by the [AcpHalAllocateShapeContexts](/reference/audio/acphal/functions/acphalallocateshapecontexts) function. The structure specifies sizes of new context arrays and contains allocated arrays returned by the function.

Refer to the following structures:

* [SHAPE\_DMA\_CONTEXT](/reference/audio/shapedmacontext/structs/shape_dma_context)
* [SHAPE\_EQCOMP\_CONTEXT](/reference/audio/shapeeqcompcontext/structs/shape_eqcomp_context)
* [SHAPE\_FILTVOL\_CONTEXT](/reference/audio/shapefiltvolcontext/structs/shape_filtvol_context)
* [SHAPE\_PCM\_CONTEXT](/reference/audio/shapepcmcontext/structs/shape_pcm_context)
* [SHAPE\_SRC\_CONTEXT](/reference/audio/shapesrccontext/structs/shape_src_context)
* [SHAPE\_XMA\_CONTEXT](/reference/audio/shapexmacontext/structs/shape_xma_context)

## Requirements

**Header:** acphal.h

**Supported platforms:** XBOX One family consoles and XBOX Series consoles

## See also

[AcpHalAllocateShapeContexts](/reference/audio/acphal/functions/acphalallocateshapecontexts)\
[AcpHal](/reference/audio/acphal/acphal_members)


## Related topics

- [SHARED_SHAPE_CONTEXTS](/reference/audio/acphal/structs/shared_shape_contexts.md)
- [AcpHalAllocateShapeContexts](/reference/audio/acphal/functions/acphalallocateshapecontexts.md)
- [AcpHal](/reference/audio/acphal/acphal_members.md)
- [ShapeContexts](/reference/audio/shapecontexts/shapecontexts_members.md)
- [ShapePeakMagnitudeToDecibel](/reference/audio/shapecontexts/functions/shapepeakmagnitudetodecibel.md)
