links

The Unofficial DVD-Audio Specification

ATS_XX_0.IFO

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
012Identifier string - "DVDAUDIO-ATS"
124Relative sector pointer to last sector in ATS (i.e. the last sector of ATS_XX_0.BUP)
1612Padding (zero)
284Relative sector pointer to last sector in ATSI (i.e. the last sector of ATS_XX_0.IFO)
322DVD Specifications Version (e.g. 0x0012)
344??Unknown (e.g. 0x00000000) - VTS Category in VTSI
3890Padding (zero)
1284End byte address of ATSI_MAT
13260Padding (zero)
1924??Padding (Start sector of VTSM_VOBS in VTSI)
1964Start sector of ATST_AOBS (e.g. 0x00000002) (Start sector of VTST_VOBS in VTSI)
2004??Padding (Start sector of VTS_PTT_SRPT in VTSI)
2044Start sector of ATS_PGCI_UT (e.g. 0x00000001) (Start sector of VTS_PGCI_UT in VTSI)
2084??Padding (Start sector of VTSM_PGCI_UT in VTSI)
2124??Padding (Start sector of VTS_TMAPT in VTSI)
2164??Padding (Start sector of VTSM_C_ADT in VTSI)
2204??Padding (Start sector of VTSM_VOBU_ADMA in VTSI)
2244??Padding (Start sector of VTS_C_ADT in VTSI)
2284??Padding (Start sector of VTS_VOBU_ADMAP in VTSI)
23224Padding (zero)
One record for each title in file containing audio format (starts at offset 256)
02??0x0000 on an LPCM disk, 0x0100 on an MLP disk??
24Audio format - e.g. 0x0f0f0100
610Padding (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.
38416Example 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
02Number of titles in the ATS
22Padding (zero)
44Address of last byte in this table
Repeat the following index records for each title
02?? Unknown - e.g. 0x8100 for first title, 0x8200 for second etc etc
22??unknown (e.g. 0x0000 or 0x0100)
44Byte offset to record in following table (relative to the start of this sector)
The following records are then repeated for each title:
02?Unknown (e.g. 0x0000)
22???Number of tracks in title (repeated - e.g. 0x0303 for 3 tracks, 0x0b0b for 12 tracks)
44Length of track in PTS ticks
82?Unknown (e.g. 0x0000)
102?Unknown (e.g. 0x0000)
122?Unknown (e.g. 0x0010)
142Byte pointer to start of sector pointers table (relative to the start of this title record)
02?Unknown (e.g. 0x0000)
The following 20-byte "timestamp" records are repeated for each track:
02?Unknown (e.g. 0xc010 for first track, and 0x0010 for subsequent)
22?Unknown (e.g. 0x0000)
41Track number in title
51?Unknown (e.g. 0x00)
64First PTS of track
104Length of track in PTS ticks
146Padding (zero)
After all the timestamp records, there are a set of 12-byte sector pointer records, one per track:
04?? Unknown (e.g. 0x01000000)
44Relative sector pointer to first sector of track (relative to the start of the first .AOB file)
84Relative sector pointer to last sector of track (relative to the start of the first .AOB file)