GetShapeDmaMixBufferPeakMagnitude
DMA(Direct Memory Access) 믹스 버퍼의 피크 크기를 가져옵니다.Syntax
Parameters
context _In_Type: SHAPE_DMA_CONTEXT* SHAPE_DMA_CONTEXT 구조체에 대한 포인터입니다.
Return value
Type: float 피크 크기입니다.Remarks
타이틀 오디오 엔진에서 헤드룸을 관리하는 것은 매우 어려울 수 있습니다. 이러한 이유로 각 SHAPE 블록은 신호 오버헤드 및 게인과 관련된 상태를 유지합니다. 각 블록(샘플 레이트 변환기[SRC] 블록 제외)은 처리 중 내부 포화가 발생했는지 여부를 기록합니다. 내부 포화 플래그 외에도 각 하드웨어 블록은 하드웨어 블록의 출력 크기를 나타내는 두 개의 4비트 숫자도 유지합니다. 크기는 오디오 프레임 동안의 피크 출력을 결정하고 피크의 절댓값의 선행 0을 세어 계산됩니다. 4비트 숫자 하나는 지속되는 피크 크기로 유지되며, 다른 하나는 각 오디오 프레임마다 하드웨어에 의해 재설정됩니다. 각 개별 하드웨어 블록의 피크 크기를 모니터링하는 것 외에도 믹스 버퍼의 피크 크기도 유지됩니다. 하드웨어 블록의 출력이 믹스 버퍼에 추가되면 동일한 방식(선행 0 세기)으로 피크 크기가 계산됩니다. 각 하드웨어 블록의 상태는 4비트 피크 크기 값 쌍을 추가로 유지합니다. 이 값은 하드웨어 블록의 출력이 믹스 버퍼에 누적된 후의 믹스 버퍼의 피크 크기를 나타냅니다. 4비트 숫자 하나는 지속되는 피크 크기를 나타내며, 다른 하나는 매 오디오 프레임마다 업데이트됩니다. 실제로는 믹스 버퍼 상태를 나타내지만 피크 크기 값은 SHAPE 블록의 컨텍스트에 저장됩니다. 피크 크기는 다음 표에 따라 인코딩됩니다.
오버헤드를 관리하고 오버플로 및 포화를 방지하는 데 도움이 되도록, 세밀한 게인 설정 외에도 하드웨어 블록의 출력을 출력 믹스 버퍼에 누적하기 전에 0에서 7비트의 오른쪽 시프트를 수행할 수 있습니다. 이는 각 SHAPE 하드웨어 블록의 컨텍스트에 지정되어 있습니다.
Requirements
Header: shapedmacontext.h 지원 플랫폼: XBOX One 제품군 콘솔 및 XBOX Series 콘솔See also
SHAPE 개요ShapeDmaContext
