DSP AAC Decoder: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
''Note that everything below may vary depending on the exact DSP firmware used and different variants have slightly different behaviours.'' | ''Note that everything below may vary depending on the exact DSP firmware used and different variants have slightly different behaviours.'' | ||
''Also note that some things about the AAC firmware still need to be properly tested and/or reverse engineered.'' | |||
=Summary= | =Summary= | ||
Line 52: | Line 52: | ||
|- | |- | ||
| SaveState | | SaveState | ||
| 4 | |||
|} | |||
=Request/Response Data= | |||
The 24-byte "request/response data" chunk can take on one of the formats listed below, depending on what sort of message it's found in. | |||
'''AAC Decode command response''' | |||
Size : 24 bytes | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset in bytes | |||
! Type | |||
! Description | |||
|- | |||
| 0x0 | |||
| enum SampleRate | |||
| Sample rate of the decoded AAC stream (Note: This is an enum, NOT a numerical value for the sample rate) | |||
|- | |||
| 0x4 | |||
| u32 | |||
| Channel count (?) | |||
|- | |||
| 0x8 | |||
| u32 | |||
| Size | |||
|- | |||
| 0xC | |||
| u32 | |||
| Unknown? | |||
|- | |||
| 0x10 | |||
| u32 | |||
| Unknown? | |||
|- | |||
| 0x14 | |||
| u32 | |||
| Number of decoded samples (?) | |||
|- | |||
|} | |||
=Sample rate enum= | |||
'''enum SampleRate : u32''' | |||
{| class="wikitable" border="1" | |||
|- | |||
! Enum | |||
! Value | |||
|- | |||
| 48000Hz (48KHz) | |||
| 0 | |||
|- | |||
| 44100Hz (44.1KHz) | |||
| 1 | |||
|- | |||
| 32000Hz (32KHz) | |||
| 2 | |||
|- | |||
| 24000Hz (24KHz) | |||
| 3 | | 3 | ||
|- | |||
| 22050Hz (22.05KHz) | |||
| 4 | |||
|- | |||
| 16000Hz (16KHz) | |||
| 5 | |||
|- | |||
| 12000Hz (12KHz) | |||
| 6 | |||
|- | |||
| 11025Hz (11.025KHz) | |||
| 7 | |||
|- | |||
| 8000Hz (8KHz) | |||
| 8 | |||
|- | |||
|} | |} |