links

The Unofficial DVD-Audio Specification

AUDIO_TS.IFO

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
012Identifier string"DVDAUDIO-AMG"
124Relative 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
1612Padding(0)
284Relative sector pointer to last sector in AMGI (i.e. the last sector of AUDIO_TS.IFO)
322DVD Specifications Version0x0012
344Padding(0)
382Number of Volumes 0x0001
402Current Volume0x0001
421Disc Side0x01
434Padding(0)
471Unknown00 without autoplay, 0x01 with autoplay.
484Relative 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
5210Padding(0)
621Number of video titlesets. The video titlesets considered are not those of Video zone. Are only considered the video titlesets within audio zone.
631Number of audio titlesets/groups. Video linking groups are considered to be normal audio groups here.
6432Unknown(0)
968Unknown(0)
10424Padding(0)
1284End Byte Address of AMGI_MAT - i.e. the end byte of this block of data 0x07ff
1324Unknown(0)



Table 1b	First sector table -- continued
Offset Size (bytes) Description Value
1922(optional) indicates presence of a menu0x4
1982undocumented0x01
2022number of zones?0x02
2062(optional) indicates presence of a menu0x03
2561apparently 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
3361(optional) indicates presence of a menu0x01
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

  1. Table 1a is invariable when the number of groups/titlesets is fixed. It does not depend on audio characteristics or on the titleset numbers linked to.
  2. Table 1b appears to only depend on the existence or absence of a menu, not on number of audio zone/video zone groups/titlesets, or their nature (linking-non linking).
  3. Offsets 12-16 of Table 1 must be equal to offets 10-14 of Table 2 for the first audio group minus 1. This has been verified in a few cases.
  4. At offset 47, the menu is a still image in the single-track, single-group case, and there may be no links in menu buttons. 0x01 should consequently indicate the existence of virtual machine commands encoded with menu buttons.
  5. The rest of sector 1 may be padded with 0 even in the presence of an AUDIO_TS.VOB.
  6. The possible values indicated here are not fully identified yet and appear to be in any case independent of number of audio groups, video groups in video zone, video link groups in audio zone, or menu.
  7. Perfectly navigable DVD-H (see navigation issues below) were put out with Table 1b reduced to the default case (no menus) , i.e. with regular dvda-author output.

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
02Number 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.
22Byte 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.
04First 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
44Total length of title in audio zone in PTS ticks, sorted by group (titleset) and title. [1]
81Rank of the group containing the title
91Rank of the title within its group (titleset)
104Relative 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.
02 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]
21Number of visible chapters in title
31Padding(0)
44Total length of title (in PTS ticks) [1]
81Video Titleset number XX in VTS_XX_.IFO
91Title number within video titleset [2]
104Relative pointer to VTS_XX_0.IFO expressed in sectors(&[VTS_XX_0.IFO] -&[ AUDIO_TS.IFO]) / 0x800

Explanatory notes

  1. These two fields allow to exactly compute the “padding loss” of burning high-quality audio to video zone rather than audio zone. This loss may be caused by various padding techniques in the video stream to align audio and video streams seamlessly.

    Example :

    Using Lplex in “seamless” mode, for the same 24 bit-48 kHz audio zone track mirrored in video zone, PTS length was in audio zone 0x77 42 A0 = 86,84 s and in video zone 0x77 79 F0 =87 s (exactly). Difference is 14 160 PTS ticks, i.e. 0,15 s, or about 45 kB of data. Approximately 500 bytes were lost per second on average.

  2. Owing to dvd-author/Lplex limitations, tests were only performed with video titlesets which did not offer visibility of titles : a VTS with several « titles » was only recognized as a one-title titleset. Consequently, third byte is always equal to 1 in tests (to be developped).



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