> ## 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.

# GetShapeDmaMixBufferPeakMagnitude

> GetShapeDmaMixBufferPeakMagnitude

# GetShapeDmaMixBufferPeakMagnitude

DMA(Direct Memory Access) 믹스 버퍼의 피크 크기를 가져옵니다.

## Syntax

```cpp theme={null}
float GetShapeDmaMixBufferPeakMagnitude(  
         const SHAPE_DMA_CONTEXT* context  
)  
```

### Parameters

*context*   \_In\_\
Type: [SHAPE\_DMA\_CONTEXT\*](/reference/audio/shapedmacontext/structs/shape_dma_context)

[SHAPE\_DMA\_CONTEXT](/reference/audio/shapedmacontext/structs/shape_dma_context) 구조체에 대한 포인터입니다.

### Return value

Type: float

피크 크기입니다.

## Remarks

타이틀 오디오 엔진에서 헤드룸을 관리하는 것은 매우 어려울 수 있습니다. 이러한 이유로 각 [SHAPE](/build/console-features/audio/overviews/shape-overview) 블록은 신호 오버헤드 및 게인과 관련된 상태를 유지합니다. 각 블록(샘플 레이트 변환기\[SRC] 블록 제외)은 처리 중 내부 포화가 발생했는지 여부를 기록합니다.

내부 포화 플래그 외에도 각 하드웨어 블록은 하드웨어 블록의 출력 크기를 나타내는 두 개의 4비트 숫자도 유지합니다. 크기는 오디오 프레임 동안의 피크 출력을 결정하고 피크의 절댓값의 선행 0을 세어 계산됩니다. 4비트 숫자 하나는 지속되는 피크 크기로 유지되며, 다른 하나는 각 오디오 프레임마다 하드웨어에 의해 재설정됩니다.

각 개별 하드웨어 블록의 피크 크기를 모니터링하는 것 외에도 믹스 버퍼의 피크 크기도 유지됩니다. 하드웨어 블록의 출력이 믹스 버퍼에 추가되면 동일한 방식(선행 0 세기)으로 피크 크기가 계산됩니다. 각 하드웨어 블록의 상태는 4비트 피크 크기 값 쌍을 추가로 유지합니다. 이 값은 하드웨어 블록의 출력이 믹스 버퍼에 누적된 후의 믹스 버퍼의 피크 크기를 나타냅니다. 4비트 숫자 하나는 지속되는 피크 크기를 나타내며, 다른 하나는 매 오디오 프레임마다 업데이트됩니다. 실제로는 믹스 버퍼 상태를 나타내지만 피크 크기 값은 SHAPE 블록의 컨텍스트에 저장됩니다.

피크 크기는 다음 표에 따라 인코딩됩니다.

| 이진 값             | 설명                                                                                                                                                                 |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 0B0000           | 포화: 출력을 생성하기 위한 계산의 값이 부호 있는 24비트 범위를 초과하여 가장 가까운 극값으로 대체되었습니다. 구체적으로 8,388,607(0x7F\_FFFF)보다 큰 값은 8,388,607로, -8,388,608(0x80\_0000)보다 작은 값은 -8,388,608로 대체되었습니다. |
| 0B0001           | 피크의 절댓값이 MAX >> 1 (0x3F\_FFFF)보다 큽니다.                                                                                                                              |
| 0B0010           | 피크의 절댓값이 MAX >> 2 (0x1F\_FFFF)보다 큽니다.                                                                                                                              |
| 0B0011           | 피크의 절댓값이 MAX >> 3보다 큽니다.                                                                                                                                           |
| 0B0100           | 피크의 절댓값이 MAX >> 4보다 큽니다.                                                                                                                                           |
| 0B0101           | 피크의 절댓값이 MAX >> 5보다 큽니다.                                                                                                                                           |
| 0B0110 to 0B1101 | 위 설명과 유사하지만, 피크의 절댓값이 각각 MAX >> 6에서 13보다 큰 경우입니다.                                                                                                                  |
| 0B1110           | 피크의 절댓값이 MAX >> 14보다 큽니다.                                                                                                                                          |
| 0B1111           | 피크의 절댓값이 MAX >> 14 이하입니다.                                                                                                                                          |

오버헤드를 관리하고 오버플로 및 포화를 방지하는 데 도움이 되도록, 세밀한 게인 설정 외에도 하드웨어 블록의 출력을 출력 믹스 버퍼에 누적하기 전에 0에서 7비트의 오른쪽 시프트를 수행할 수 있습니다. 이는 각 SHAPE 하드웨어 블록의 컨텍스트에 지정되어 있습니다.

## Requirements

**Header:** shapedmacontext.h

**지원 플랫폼:** XBOX One 제품군 콘솔 및 XBOX Series 콘솔

## See also

[SHAPE 개요](/build/console-features/audio/overviews/shape-overview)\
[ShapeDmaContext](/reference/audio/shapedmacontext/shapedmacontext_members)


## Related topics

- [ShapeDmaContext](/ko/reference/audio/shapedmacontext/shapedmacontext_members.md)
- [GetShapeFiltVolMixBufferPeakMagnitude](/ko/reference/audio/shapefiltvolcontext/functions/getshapefiltvolmixbufferpeakmagnitude.md)
- [GetShapeEqCompMixBufferPeakMagnitude](/ko/reference/audio/shapeeqcompcontext/functions/getshapeeqcompmixbufferpeakmagnitude.md)
- [GetShapeSrcMixBufferPeakMagnitude0](/ko/reference/audio/shapesrccontext/functions/getshapesrcmixbufferpeakmagnitude0.md)
- [GetShapeSrcMixBufferPeakMagnitude1](/ko/reference/audio/shapesrccontext/functions/getshapesrcmixbufferpeakmagnitude1.md)
