How DVD Authoring Tools Calculate Sector Pointers
DVD authoring tools calculate sector pointers through a deterministic
pre-mastering process that maps data to fixed 2,048-byte logical blocks
before writing to physical media. By simulating the precise disc layout
through a two-pass multiplexing and virtual allocation system, the
software determines the exact Logical Block Addressing (LBA) coordinates
for all titles, chapters, and navigation packs. This predictive mapping
ensures that DVD-Video navigation files (.IFO) and internal
stream pointers within Video Object (.VOB) files seamlessly
synchronize playback operations prior to the burn phase.
The Foundation: Fixed-Size Logical Blocks
The DVD-Video specification mandates that all disc data is arranged
in uniform sectors of exactly 2,048 bytes (2 KB). Every asset—including
the Video Manager (VIDEO_TS.IFO), Video Title Sets
(VTS_xx_x.IFO), menu VOBs, title VOBs, and backup files
(.BUP)—must align strictly with these sector boundaries.
Because sector sizes are strictly fixed, the physical offset of any byte
sequence on a disc can be converted directly to a sector address:
\[\text{LBA} = \frac{\text{Byte Offset}}{2048}\]
Virtual File System Layout (Pass 1)
Before calculating individual stream pointers, the authoring tool performs a layout reservation pass. It models the target disc filesystem (typically a UDF/ISO 9660 Bridge format) by calculating the space requirements for:
- Lead-In and File System Descriptors: Sector offsets for the Primary Volume Descriptor, Volume Recognition Sequence, and UDF Anchor Points.
- Video Manager Assets:
VIDEO_TS.IFO, its menu VOBs (VIDEO_TS.VOB), and its backup (VIDEO_TS.BUP). - Video Title Set Boundaries: The exact starting LBA
for every
VTS_xx_0.IFOand its associated title VOB files (VTS_xx_1.VOBthroughVTS_xx_n.VOB).
Because the sizes of file system descriptors and video streams are known during or immediately after the asset multiplexing phase, the authoring engine constructs an absolute disc allocation table. This table fixes the base starting LBA for every VOB sequence on the disc.
VOBU Generation and Navigation Packs
DVD video streams are broken into Video Object Units (VOBUs),
typically representing 0.4 to 1.0 seconds of playback (corresponding to
a Group of Pictures, or GOP). Every VOBU must begin with a 2,048-byte
Navigation Pack (NV_PCK), which contains two critical data
structures:
- PCI (Presentation Control Information): Handles real-time playback parameters, user operations, and angles.
- DSI (Data Search Information): Contains forward and backward seek pointers across the video stream to support fast-forward, rewind, and seamless branching.
During multiplexing, the authoring tool keeps a running tally of
generated sectors. Because it creates packets in a continuous 2,048-byte
stream, it knows the exact relative distance between the current VOBU
and surrounding VOBUs (such as \(+1, +2, +4,
+8\dots\) VOBUs ahead, and \(-1, -2,
-4, -8\dots\) VOBUs behind). By combining the relative offset of
each VOBU with the VTS file's base LBA determined during the layout
pass, the tool embeds explicit sector-accurate navigation addresses
directly into the DSI tables of each NV_PCK.
Synchronizing IFO Tables and Cells
Once the VOB assets are multiplexed and the final sector counts are
locked, the authoring tool writes the metadata to the .IFO
files. The .IFO files store the primary entry points used
by the DVD player's optical pickup, including:
- VTS_PTT_SRPT (Part-of-Title Search Table): The sector offsets corresponding to chapter markers.
- VTS_PGCI (Program Chain Information): Sector-accurate start and end addresses for Cells and Programs.
- VTS_VOBU_ADMAP (VOBU Address Map): An explicit list of starting sector offsets for every single VOBU inside the title set's VOB files.
Because .IFO files must contain the final sector
addresses of the .VOB files, and .BUP files
must mirror .IFO files while being placed at distinct
sector locations (to prevent simultaneous read corruption), the
authoring engine updates all pointer references in memory first.
Final Verification and Image Assembly
With all sector offsets established:
- The authoring tool writes out the finalized
NV_PCKheaders inside the VOB files. - It generates the finalized
.IFOfiles containing the absolute LBA maps. - It places the
.BUPfiles at an offset that meets specification requirements—usually ensuring a minimum distance from the corresponding.IFO(often at least one ECC block, or 16 sectors, away) to provide hardware redundancy. - For dual-layer (DVD-9) media, the tool ensures that the Layer Break falls on a valid Cell boundary aligned to an Error Correction Code (ECC) block boundary (a multiple of 16 sectors), adjusting dummy sectors or padding if necessary.
Once every table contains verified, non-conflicting LBA coordinates, the multiplexed sectors are written sequentially to an ISO image or burned directly to the optical disc.