The Audio Titleset Information (ATSI) is stored in the ATS_XX_0.IFO file (where XX is the titleset number). This is typically 4096 bytes (two sectors) in length.
Offset | Size (bytes) | Description |
---|---|---|
0 | 12 | Identifier string - "DVDAUDIO-ATS" |
12 | 4 | Relative sector pointer to last sector in ATS (i.e. the last sector of ATS_XX_0.BUP) |
16 | 12 | Padding (zero) |
28 | 4 | Relative sector pointer to last sector in ATSI (i.e. the last sector of ATS_XX_0.IFO) |
32 | 2 | DVD Specifications Version (e.g. 0x0012) |
34 | 4 | ??Unknown (e.g. 0x00000000) - VTS Category in VTSI |
38 | 90 | Padding (zero) |
128 | 4 | End byte address of ATSI_MAT |
132 | 60 | Padding (zero) |
192 | 4 | ??Padding (Start sector of VTSM_VOBS in VTSI) |
196 | 4 | Start sector of ATST_AOBS (e.g. 0x00000002) (Start sector of VTST_VOBS in VTSI) |
200 | 4 | ??Padding (Start sector of VTS_PTT_SRPT in VTSI) |
204 | 4 | Start sector of ATS_PGCI_UT (e.g. 0x00000001) (Start sector of VTS_PGCI_UT in VTSI) |
208 | 4 | ??Padding (Start sector of VTSM_PGCI_UT in VTSI) |
212 | 4 | ??Padding (Start sector of VTS_TMAPT in VTSI) |
216 | 4 | ??Padding (Start sector of VTSM_C_ADT in VTSI) |
220 | 4 | ??Padding (Start sector of VTSM_VOBU_ADMA in VTSI) |
224 | 4 | ??Padding (Start sector of VTS_C_ADT in VTSI) |
228 | 4 | ??Padding (Start sector of VTS_VOBU_ADMAP in VTSI) |
232 | 24 | Padding (zero) |
One record for each title in file containing audio format (starts at offset 256) | ||
0 | 2 | ??0x0000 on an LPCM disk, 0x0100 on an MLP disk?? |
2 | 4 | Audio format - e.g. 0x0f0f0100 |
6 | 10 | Padding (zero) |
The rest of the sector is padded with zeros, apart from the following record which always appears at offset 384, which implies a maximum of 8 of the previous records | ||
Downmix co-efficients - an ATS can contain up to 16 of the following records, and each track of each title can choose one of them. | ||
384 | 16 | Example is: 0000 1eff ff1e 2d2d 3cff ff3c 4b4b 0000 |
The second sector in the ATSI contains information on the titles contained in this titleset - including PTS timestamps and sector pointers
Offset | Size (bytes) | Description |
---|---|---|
0 | 2 | Number of titles in the ATS |
2 | 2 | Padding (zero) |
4 | 4 | Address of last byte in this table |
Repeat the following index records for each title | ||
0 | 2 | ?? Unknown - e.g. 0x8100 for first title, 0x8200 for second etc etc |
2 | 2 | ??unknown (e.g. 0x0000 or 0x0100) |
4 | 4 | Byte offset to record in following table (relative to the start of this sector) |
The following records are then repeated for each title: | ||
0 | 2 | ?Unknown (e.g. 0x0000) |
2 | 2 | ???Number of tracks in title (repeated - e.g. 0x0303 for 3 tracks, 0x0b0b for 12 tracks) |
4 | 4 | Length of track in PTS ticks |
8 | 2 | ?Unknown (e.g. 0x0000) |
10 | 2 | ?Unknown (e.g. 0x0000) |
12 | 2 | ?Unknown (e.g. 0x0010) |
14 | 2 | Byte pointer to start of sector pointers table (relative to the start of this title record) |
0 | 2 | ?Unknown (e.g. 0x0000) |
The following 20-byte "timestamp" records are repeated for each track: | ||
0 | 2 | ?Unknown (e.g. 0xc010 for first track, and 0x0010 for subsequent) |
2 | 2 | ?Unknown (e.g. 0x0000) |
4 | 1 | Track number in title |
5 | 1 | ?Unknown (e.g. 0x00) |
6 | 4 | First PTS of track |
10 | 4 | Length of track in PTS ticks |
14 | 6 | Padding (zero) |
After all the timestamp records, there are a set of 12-byte sector pointer records, one per track: | ||
0 | 4 | ?? Unknown (e.g. 0x01000000) |
4 | 4 | Relative sector pointer to first sector of track (relative to the start of the first .AOB file) |
8 | 4 | Relative sector pointer to last sector of track (relative to the start of the first .AOB file) |