How IFO Files Map Chapters to VOB Sectors
DVD-Video playback relies on IFO (Information) files to control navigation and translate user actions into physical disc reads. This article details the internal data structures that DVD players use to bridge the gap between abstract user selections—such as choosing a chapter from a menu—and the exact Logical Block Addressing (LBA) sector addresses located within associated Video Object (VOB) files.
1. Chapter Request to Part-of-Title (PTT)
When a user selects a chapter, the playback device does not query the
VOB file directly. Instead, it queries the Video Title Set Information
file (VTS_XX_0.IFO). Within this file, chapters are
formally designated as Parts-of-Title (PTT).
The player accesses the Title Set Part-of-Title Search Pointer Table
(VTS_PTT_SRPT). This lookup table maps the selected Title
number and Chapter (PTT) number to two critical identifiers:
- PGCN (Program Chain Number): Identifies which Program Chain contains the presentation data.
- PGN (Program Number): Identifies the specific Program (the logical chapter unit) within that Program Chain.
2. Program Chain
Information Table (VTS_PGCITI)
Once the player identifies the correct PGC and Program number, it
traverses to the Program Chain Information Table
(VTS_PGCITI), which houses the specific Program Chain
Information (VTS_PGCI) block.
Inside the target PGC structure, the player consults the Program Map
(PGC_PGMAP). This map acts as an index converting the
Program Number (PGN) into an entry-level Cell Number.
In DVD architecture, a Program is composed of one or more sequential
Cells, with the first Cell representing the starting point of the
chapter.
3. Cell Playback Information
(C_PBI)
To convert the Cell number into a physical disc location, the IFO
reader accesses the Cell Playback Information Table
(C_PBIT) inside the active PGC. Each Cell entry contains
exact byte and sector coordinates for media playback, including:
C_FVOBU_SA(Cell First VOBU Start Address): A 4-byte value defining the starting sector of the Cell's first Video Object Unit (VOBU).C_LVOBU_SA(Cell Last VOBU Start Address): A 4-byte value defining the starting sector of the Cell’s final VOBU.
The C_FVOBU_SA value represents a relative sector offset
from the beginning of the Title Set's VOB file group
(VTS_XX_1.VOB through VTS_XX_N.VOB). Because
the DVD file system views these split VOB segments as one continuous
stream of 2,048-byte sectors, this relative sector value directly
identifies the exact block where video decoding must begin.
4. Sector Resolution and Navigation Packs
The optical drive adds the relative C_FVOBU_SA sector
offset to the base physical start sector of the VTS VOB files on the
disc. The drive head jumps directly to this absolute Logical Block
Address (LBA).
At this sector, the VOB stream always begins with a Navigation Pack (NV_PCK). The NV_PCK contains:
- PCI (Presentation Control Information): Handles real-time display timestamps, angles, and subpicture display parameters.
- DSI (Data Search Information): Re-confirms relative sector pointers to neighboring VOBUs and GOPs (Group of Pictures), allowing the MPEG-2 decoder to synchronize video and audio buffers immediately upon arrival at the chapter mark.