How UDF Indexes Multi-Gigabyte VOB Sequences
This article examines how the Universal Disk Format (UDF) file system manages and indexes multi-gigabyte Video Object (VOB) streams. It explains the relationship between the 1 GB file segmentation imposed by DVD-Video specifications and the underlying UDF architecture, detailing how File Entries, Allocation Descriptors, and extent-based block mapping allow optical drives and media players to access contiguous media sequences efficiently.
The 1 GB VOB File Boundary
Although the UDF specification natively supports files well into
exabytes, standard DVD-Video implementations (typically using UDF 1.02)
enforce a 1 GB (1,073,741,824 bytes) maximum limit on individual
.VOB files (such as VTS_01_1.VOB,
VTS_01_2.VOB). This restriction was primarily established
to ensure compatibility with older 32-bit operating systems, legacy C
runtimes using signed 32-bit integers, and hybrid UDF/ISO 9660 (UDF
Bridge) disc layouts.
Consequently, a multi-gigabyte video stream is stored not as a single massive file in the file system table, but as a sequential series of split files that together constitute a continuous Video Title Set (VTS).
Extent-Based Allocation and File Entries
UDF indexes files using an extent-based allocation model rather than a cluster chain table (like FAT) or direct inode blocks (like standard Unix file systems). Every file on a UDF partition corresponds to a File Entry (FE) descriptor:
- File Identifier Descriptor (FID): When a directory
is read, UDF scans the directory's stream of FIDs. Each FID maps a file
name (e.g.,
VTS_01_1.VOB) to the Logical Block Address (LBA) of that file's File Entry. - File Entry (FE): The File Entry contains metadata (permissions, timestamps, file length) and an Allocation Descriptor field.
- Allocation Descriptors (AD): DVD implementations
predominantly use Short Allocation Descriptors (
short_ad). Ashort_adspecifies two 32-bit values:- Extent Length: The byte size of the contiguous run of data.
- Extent Position: The starting Logical Block Number within the partition.
If a file is physically fragmented, its File Entry contains an array of these allocation descriptors, each pointing to the start and length of a subsequent contiguous block segment.
Physical Contiguity and Seamless Sequencing
To avoid buffer underruns during optical playback, disc mastering authoring software writes the extents of sequential VOB files contiguously onto the physical sectors of the disc.
- The last sector of
VTS_01_1.VOBis immediately followed by the first sector ofVTS_01_2.VOB. - While each file has its own discrete File Entry and directory record within UDF, the actual storage blocks form an unbroken physical sequence.
- The Allocation Descriptors in
VTS_01_2.VOBbegin at the precise LBA directly adjacent to the termination LBA described inVTS_01_1.VOB.
This layout allows the optical drive pickup to read across the file boundary without performing a mechanical seek operation.
Filesystem Indexing vs. DVD Navigation
The UDF file system provides the low-level indexing that translates
file names and byte offsets into physical disc sectors, but it works in
tandem with DVD-Video navigation files (.IFO files) to
present the multi-gigabyte sequence as a unified timeline:
- Sector Translation: The playback software uses UDF descriptors to locate the absolute starting sector (LBA) of the sequence.
- VOBU Indexing: The corresponding
.IFOfile contains Video Object Unit (VOBU) address maps. These maps use relative sector offsets rather than file-specific coordinates. - Boundary Bridging: Because the DVD player calculates sector offsets relative to the entire Title Set, it bypasses continuous file-level UDF queries during playback. It relies on UDF primarily for the initial file mount and sector resolution, treating the contiguous sequence of 1 GB VOB files as a single linear stream mapped across the disc.