Program Chain structure

This is the usual order of tables within one PGC.
PGC
 PGC header 
 command table 
 program map 
 cell playback information 
 cell position (VOBidn & CELLidn) 

PGC header

OffsetLabelsizeContents
0000 2 
0002 1number of programs
0003 1number of cells
0004 4playback time, BCD, hh:mm:ss:ff with bits 7&6 of frame (last) byte indicating frame rate
11 = 30 fps, 10 = illegal, 01 = 25 fps, 00 = illegal
0008 4prohibited user ops
000CPGC_AST_CTL8*2
Audio Stream Control, each entry:
byte76543210
01 = stream available
reserved
Stream number (MPEG audio) or Substream number (all others)
1
reserved
001CPGC_SPST_CTL32*4
Subpicture Stream Control, each entry:
byte76543210
01 = stream available
reserved
Stream number for 4:3
1
reserved
Stream number for wide
2
reserved
Stream number for letterbox
3
reserved
Stream number for pan&scan
009C 2next PGCN
FP - Not allowed, VMGM & VTSM - must be in the same domain, VTST - must be in the same title.
009E 2prev PGCN
FP, VMGM, & VTSM - Not allowed, VTST - must be in the same title.
00A0 2goup PGCN
FP - Not allowed, VMGM & VTSM - must be in the same domain, VTST - must be in the same title.
If this is a menu PGC goup PGCN may be set to 0xFFFF indicating "resume".
00A2 1PG playback mode, 0=sequential, otherwise bit7 indicates random (0) or shuffle (1), and the program count-1 is in bits6-0 (minimum program count is 2)
00A3 1PGC still time, 255=infinite
00A4 16*4Color LookUp Table (CLUT) (0, Y, Cr, Cb)
00E4 2offset within PGC to commands
00E6 2offset within PGC to program map
00E8 2offset within PGC to cell playback information table
00EA 2offset within PGC to cell position information table

command table

OffsetLabelsizeContents
0000 2number of pre commands
0002 2number of post commands
0004 2number of cell commands
0006 2end address relative to command table
0008 pre*8pre commands
0008+pre*8 post*8post commands
0008+(pre+post)*8 cell*8cell commands
* The total number of pre+post+cell commands must be 128 or less

program map entry (one per program, pad to word boundary with zero)

OffsetLabelsizeContents
0000 1entry cell number
* Program and Cell numbers begin at 1.

cell playback information table entry (one per cell)

OffsetLabelsizeContents
0000 4
cell category
byte76543210
0cell type 00=normal, 01=first of angle block, 10=middle of angle block, 11=last of angle block Block Type 00 = normal, 01 = angle block 1 = seamless multiplex 1 = interleaved 1 = SCR discontinuity 1 = seamless angle linked in DSI
1reserved 1 = VOBU still mode 1 = restricted (stops trick play)
Application Cell Type, see below for karaoke meanings
2
cell still time
3
cell command #
0004 4cell playback time, BCD, hh:mm:ss:ff with bits 7&6 of frame (last) byte indicating frame rate
11 = 30 fps, 10 = illegal, 01 = 25 fps, 00 = illegal
0008 4first VOBU start sector
000C 4first ILVU end sector
0010 4last VOBU start sector
0014 4last VOBU end sector

Karaoke Application Cell Types

valuemeaningvaluemeaningvaluemeaningvaluemeaning
0no cell type is designated4song part of the first climax 8song part for mixed voices12first ending
1title picture5song part of the second climax 9interlude part (instrumental)13second ending
2introduction6song part for a male vocal 10fade-in of the interlude14-31not defined
3song part other than a climax (bridge)7song part for a female vocal 11fade-out of the interlude

cell position information table entry (one per cell)

OffsetLabelsizeContents
0000 2VOB id
0002 1reserved
0003 1Cell id
DVD-Video info home Copyright © 2001 - 2014 MPUCoder, all rights reserved.