Some notes on Hybrids and DVD audio formats
In what follows, comparisons were made with commercially available discs containing both audio (AUDIO_TS) and video zones (VIDEO_TS) filled with audio content. This kind of configuration will be called hybrid-DVD. The term is actually ambiguous as it is used in various contexts to refer to:
- DVD containing data and video and/or audio ;
- DVD-Audio discs containing not only audio tracks in AUDIO_TS but also video tracks (either for menu presentation or as a bonus);
- discs that may be compliant to DVD and blue disc/HDDVD standards;
- SACD+other formats, generally plain CD-DA.
The term Universal being even more ambiguous, I shall use the unofficial term DVD-H (for hybrid DVD) to refer to the above-mentioned combination of non-empty AUDIO_TS and non-empty VIDEO_TS. The tables that follow are partly derived from Dave Chapman's original tables, revised between June and September 2007 by Fab Nicol.
Reminders
This section is intended for readers who are not well-versed in DVD and MPEG specifications and would like to know more. Readers conversant with the norms can skip this section.
- PTS ticks
There are 90 000 PTS ticks to one second. Hence for instance the hexadecimal sequence 0x1666DD0 is equal to 261 s or 4 min 21 s. This describes the audio file (AOB) playback length. - Sector
A UDF DVD structure contains sectors of 2 048 bytes. - Ordering of files within a DVD-H. Optional components are italicized.
AUDIO_PP.IFO
AUDIO_TS.IFO Audio zone
AUDIO_TS.VOB
AUDIO_TS.BUP
AUDIO_SV.IFO
AUDIO_SV.VOB
AUDIO_SV.BUP
ATS_01_0.IFO
ATS_01_0.AOB
ATS_01_0.BUP
_____________
VTS.IFO
VTS.BUP
VTS_01_0.IFO Video zone
... VTS_XX_0.IFO
Video zone immediately follows the end of the last BUP file in audio zone. BUP files are backup files, so they have the same size as the IFO originals.
- Pointers
Pointers from audio zone to video zone make it possible to jump from one zone to another. Pointers are bytes that contain the address of the target files on the disc. The address may be absolute or relative, and the unit count may vary. Local sector pointers just need the last two (or three) bytes of the address so take up less than 4 bytes and refer to the offset. Global pointers are generally relative and expressed in sectors. They indicate how many sectors are necessary to get from a given sector (start or end) to another sector (start of end). In the DVD-Audio system space, AUDIO_TS.IFO (in bold red above) contains pointers to video zone titles (IFO files in bold blue), when video-linking is activated.
Scrutinizing the data
This section introduces hexadecimal differential comparisons (henceforth hex comp) of DVD image structures. DVD file structures are ordered and formatted in the UDF filesystem by a variety of tools.
The commonly used open source tool is mkisofs. Hplex uses a slightly modified version of mkisofs version 2.01, which combines Dave's -dvd-audio switch and the original mkisofs -dvd-video switch into a -dvd-hybrid option.
Commercial software generally use home-made ISO-creating applications that leave more padding space before the first offsets of “useful” data (e.g. AUDIO_TS.PP in a DVD-H).
This state of affairs makes it harder to just bit-by-bit duplicate blocks from one ISO to another, as absolute pointers may vary according to the amount of initial padding, notably those present in the UDF boot structure.
However, it remains possible to duplicate data from one ISO to another in as much as there are only relative pointers in the data copied, and the size of DVD files is exactly the same for both source and target structures.
Example with two similar DVD-Hs (same audio/video content, index 1 refers to an Hplex-made disc and index 2 refers to a commercially-authored disc)
Table A
Sizes are given in decimal sectors (one sector = 0x800 = 2048 bytes). Start offsets are hexadecimal.
Size1 refers to the (decimal number) of sectors in Hplex-made disc, Size2 to the number of sectors in commercially-authored disc.
| Files | start offset1 | start offset2 | size1 | size2 | size Diff 2-1 |
| AUDIO_PP.IFO | 90800 | 157800 | 64 | 64 | = |
| AUDIO_TS.IFO | B0800 | 177800 | 3 | 4 | +1 |
| AUDIO_TS.VOB | (none) | 179800 | 18 | +18 | |
| AUDIO_TS.BUP | B2000 | 182800 | 3 | 4 | +1 |
| ATS_01_0.IFO | B3800 | 184800 | 3 | 2 | -1 |
| ATS_01_0.AOB | B5000 | 185800 | 12481 | 12481 | = |
| ATS_01_0.BUP | 1915800 | 19E6000 | 3 | 2 | -1 |
| TOTAL DVD files in sectors | 12557 | 12575 | 18 | ||
| BOOT SECTOR | 0 | 0 | 289 | 687 | 398 |
| TOTAL audio part of ISO | 12846 | 13262 | 416 |
| ||
| VTS.IFO | 1917000 | 19E7000 |
As is clear from Table A, sizes of system space files (.IFO/BUP) may also differ, here the ATS_01_0.IFO. However, size differences essentially seem to arise from padding options and are not related to differences in operational information. DVD-A author thus introduces one extra sector in comparison with a reference commercially-authored disc of comparable content.
Next: Some notes on Hybrids 2: navigation and gapless playback