In addition to the Simple Audio Manager (SAMG) stored in the AUDIO_PP.IFO file, there is a second audio manager stored on a DVD-Audio disk known as the Audio Manager (AMG). This is the information stored in the AUDIO_TS.IFO file.
In a so-called "Universal" or "Hybrid" disc, the AMG will contain pointers to Video IFO files located in the VIDEO_TS zone on the disk. My understanding is that a DVD-Audio player will use the Audio Manager (AMG - AUDIO_TS.*) to control playback (using both ATS and VTS files), and that a DVD-Video only player will use the Video Manager (VMG - VIDEO_TS.*) to control playback (using only the VTS files).
The AMG consists of the AUDIO_TS.IFO file, optionally followed by an AUDIO_TS.VOB file, followed by the backup AUDIO_TS.BUP file.
The structure and contents of the AUDIO_TS.IFO is very similar to a VIDEO_TS.IFO file.
Compiling previously released data and new info gives the following corrected tables. First offsets are indicated with relative values, 0 representing the first byte in the file. Subsequent offsets, when indicated, are given with relative values to the end of the preceding block. The second sector of AUDIO_TS.IFO contains pointers to both ATS and VTS titles, but the third sector only contains pointers to ATS titles.
In what follows the ampersand & indicates the address (offset) of the start of the operand file.
AUDIO_TS.IFO Version 2.2.1 Table [Jun 2009, F. Nicol from original work by D. Chapman] Table 1a First sector table
Offset | Size (bytes) | Description | Value |
---|---|---|---|
0 | 12 | Identifier string | "DVDAUDIO-AMG" |
12 | 4 | Relative sector pointer to start sector in AMG. The count must include the optional AUDIO_TS.VOB/AUDIO_SV.IFO | (&[ AUDIO_SV.IFO] -&[AUDIO_TS.IFO])/0x800-1 or (&[ ATS_01_0.IFO]-&[AUDIO_TS.IFO])/0x800-1 if there is no AUDIO_SV.IFO |
16 | 12 | Padding | (0) |
28 | 4 | Relative sector pointer to last sector in AMGI (i.e. the last sector of AUDIO_TS.IFO) | |
32 | 2 | DVD Specifications Version | 0x0012 |
34 | 4 | Padding | (0) |
38 | 2 | Number of Volumes | 0x0001 |
40 | 2 | Current Volume | 0x0001 |
42 | 1 | Disc Side | 0x01 |
43 | 4 | Padding | (0) |
47 | 1 | Unknown | 00 without autoplay, 0x01 with autoplay. |
48 | 4 | Relative sector pointer from start of AUDIO_TS.IFO to start of AUDIO_SV.IFO, zero if there is no AUDIO_SV.IFO on the disk | |
52 | 10 | Padding | (0) |
62 | 1 | Number of video titlesets. The video titlesets considered are not those of Video zone. Are only considered the video titlesets within audio zone. | |
63 | 1 | Number of audio titlesets/groups. Video linking groups are considered to be normal audio groups here. | |
64 | 32 | Unknown | (0) |
96 | 8 | Unknown | (0) |
104 | 24 | Padding | (0) |
128 | 4 | End Byte Address of AMGI_MAT - i.e. the end byte of this block of data | 0x07ff |
132 | 4 | Unknown | (0) |
Offset | Size (bytes) | Description | Value |
---|---|---|---|
192 | 2 | (optional) indicates presence of a menu | 0x4 |
198 | 2 | undocumented | 0x01 |
202 | 2 | number of zones? | 0x02 |
206 | 2 | (optional) indicates presence of a menu | 0x03 |
256 | 1 | apparently sector pointer from start of audio zone (AUDIO_PP.IFO to last sector of audio system space (here AUDIO_TS.IFO), only necessary if a menu is generated | |
336 | 1 | (optional) indicates presence of a menu | 0x01 |
TO DO: More data exists if there are still images or an AUDIO_TS.AOB. However, it is all zero if those elements do not exist. |
Explanatory notes
The second and third sectors both contain very similar tables. For disks without a Video Zone, both tables are identical, if there is a linked Video Zone, then the second sector contains pointers to both ATS and VTS titles, but the third sector only contains pointers to ATS titles.
Table 2 Second sector table
Offset | Size (bytes) | Description | Value |
---|---|---|---|
0 | 2 | Number of titles : number of video titles linked to in video zone plus number of audio titles in audio zone. Gapless tracks are audio chapters considered as merged with “contiguous” chapters, and the bunch of gapless tracks counts for one title here. | |
2 | 2 | Byte pointer to last byte of data in this table | e.g. 0x0057 to indicate the last byte is at 0x0857 in this file |
The following 12 bytes describe audio zone titles and are repeated for each audio zone title, sorted by increasing group number. | |||
0 | 4 | First byte First nibble: - groups WITH VOB MENUS in audio zone (linked or not) : 0xC for titles that come last in group, 0x8 for audio titles that do not come last in group Single-title groups are coded with 0xC - groups with no VOB menu 0x8 for all titles Second nibble: audio GROUP rank NUMBER (1 to 9), whatever the preceding nibble may be Second byte 0x1, arguably “single-chapter title”, followed by 0 padding. 0xX, arguably “number of chapters in title”, followed by 0 padding | |
4 | 4 | Total length of title in audio zone in PTS ticks, sorted by group (titleset) and title. [1] | |
8 | 1 | Rank of the group containing the title | |
9 | 1 | Rank of the title within its group (titleset) | |
10 | 4 | Relative pointer to ATS_XX_0.IFO expressed in sectors | (&[ ATS_XX_0.IFO] -&[ AUDIO_TS.IFO]) / 0x800 |
The following bytes describe video zone tracks. Table offsets are relative to end of previous block The following table repeats once for each titleset. Title links are considered as plain titles. | |||
0 | 2 | First byte First nibble 0x4 for last title in the video linking group 0x0 for non-last title in the video linking group Second nibble audio GROUP rank NUMBER (1 to 9) Second byte Number of chapters within video zone title [2] | 0x4[1-9][01-63] 0x0[1-9][01-63] |
2 | 1 | Number of visible chapters in title | |
3 | 1 | Padding | (0) |
4 | 4 | Total length of title (in PTS ticks) [1] | |
8 | 1 | Video Titleset number | XX in VTS_XX_.IFO |
9 | 1 | Title number within video titleset [2] | |
10 | 4 | Relative pointer to VTS_XX_0.IFO expressed in sectors | (&[VTS_XX_0.IFO] -&[ AUDIO_TS.IFO]) / 0x800 |
Explanatory notes
Table 3 Third sector table
No information pertaining to video linking is to be found here and the output from dvda-author and commercial software is comparable. Prior results may apply readily. Oddly, code 0xC is no longer used to indicate closure of audio zone groups in the presence of a Vob menu.
Offset | Size (bytes) | Description |
0 | 2 | (linked video titles considered as titles even here, so for example 1 audio title + 3 video title links =4) |
2 | 2 | Byte pointer to last byte of data in this table (e.g. 0x003B to indicate the last byte is at 0x083B in this file) |
For each audio title, sorted by group: | ||
0 | 4 | First byte First nibble: for all audio titles (with or without on-screen menu) Second nibble: audio GROUP rank NUMBER (1 to 9), whatever the preceding nibble is Second byte arguably “single-chapter title”, followed by 0 padding. arguably “X chapters in title” followed by 0 padding. |
4 | 4 | Length of title in audio zone in PTS ticks, sorted by group and title. |
8 | 1 | Rank of the group containing the title |
9 | 1 | Rank of the title within its group (titleset). |
10 | 4 | Relative pointer to ATS_XX_0.IFO expressed in sectors = (&[ATS_XX_0.IFO] -&[ AUDIO_TS.IFO]) / 0x800 |
Fourth sector
Information concerning the AUDIO_TS.VOB file (and possibly the still pictures) are in the subsequent sectors. Apparently these sectors do not depend on the audio characteristics of tracks, or on the number of tracks, or on the existence or absence of video linking.
Yet differences have been found in the subsequent VOB file wrt these criteria. This points to the fact the VOB menu encodes information on video-linking (titlesets linked to and number of tracks in the linking group).
AUDIO_TS.VOB, when present, exhibits differences on how video titlesets are linked to, which confirms the presence of Virtual Machine commands encoded in the VOB structure, arguably in the buttons.
This sector and possible extra sectors are not yet fully documented.
Next: ATS_XX_0.IFO