Difference between revisions of "APU"

From xboxdevwiki
Jump to: navigation, search
(Voice Processor (VP))
(Encode Processor (EP))
Line 11: Line 11:
  
 
== Encode Processor (EP) ==
 
== Encode Processor (EP) ==
 +
 +
The EP encodes the final AC3 stream for SPDIF. {{FIXME|reason=It might do more than just that; what does it do in analog mode for example?}}
 +
It is not used during the [[Boot Animation]].
  
 
* EPS = EP Scratch (?)
 
* EPS = EP Scratch (?)

Revision as of 10:50, 26 June 2017

The MCPX contains an APU (Audio Processing Unit).

  • SSL = Stream Segment List
  • SGE = Scatter Gather Entry
  • PRD = Physical Resource Descriptor (Same thing as SGE?!)

Global Processor (GP)

  • GPS = GP Scratch (?)
  • GPF = GP FIFO

Encode Processor (EP)

The EP encodes the final AC3 stream for SPDIF. [FIXME] It is not used during the Boot Animation.

  • EPS = EP Scratch (?)
  • EPF = EP FIFO

Voice Processor (VP)

A powerful voice processor. There can be up to 256 voices[citation needed] and 64[citation needed] of those can be 3D.

Per-voice settings:

There are 32 bins which these voices will be mixed into.

Memory sections

  • VPV = VP Voices
  • VPHT = VP HRTF Target
  • VPHC = VP HRTF Current
  • VPSGE = VP SGEs
  • VPSSL = VP SSLs

Voice lists

The voices are kept in a single-linked list. There are 3 voice lists:

  • 2D
  • 3D
  • MP (Multipass?)

Voice structure

This is 0x80 bytes

Pitch calculation

The 16 bit signed pitch value (p) can be converted to and from a unsigned frequency in Hz (f) using the following formulas:

p = 4096 * log2(f / 48000)
f = pow2(p / 4096) * 48000

Related