This is an old revision of the document!
libdvdread
- VMG - Video Manager Group
ifo_handle_tifofiledvd_file_tfile-
vmg_identifier[12]-DVDVIDEO-VMGvmg_last_sector- last sector of VMG set (last sector ofVIDEO_TS.BUP)zero_1[12]- reserved / unknownvmgi_last_sectorlast sector ofVIDEO_TS.IFOzero_2- reserved / unknownspecification_version- version numbervmg_category- VMG category; byte1=prohibited region maskvmg_nr_of_volumes- number of volumes, as in physical sets of discs (metadata)vmg_this_volume_nr- volume number this disc belongs to (metadata)disc_side- physical side of this disc (metadata)zero_3[19]- reserved / unknownvmg_nr_of_title_sets- number of title sets (VTS, or non-VMG IFOs)provider_identifier- 32 character string of provider id (metadata), usually blankvmg_pos_code- VMG POS (?)zero_4[24]- reserved / unknownvmgi_last_byte- end byte address ofVMGI_MATfirst_play_pgc- start address ofFP_PGC, the first, and only, and optional PGC for this (VMG) IFOzero_5[56]- reserved / unknownvmgm_vobs- starting sector of Menu VOBtt_srpt- starting sector of table of titles,TT_SRPTvmgm_pgci_ut- starting sector of menu program chain table,VMGM_PGCI_UTptl_mait- starting sector of parental management masks,VMG_PTL_MAITvts_atrt- starting sector of audio, subtitle attributes,VMG_VTS_ATRTtxtdt_mgi- starting sector of text data,VMG_TXTDT_MGvmgm_c_adt- starting sector of menu cell address table,VMGM_C_ADTvmgm_vobu_admap- starting sector of menu VOBU address map,VMGM_VOBU_ADMAPzero_6[32]- reserved / unknownvideo_attr_tvmgm_video_attr- VMG VOBs video attributesmpeg_version- MPEG version- 0: MPEG-1
- 1: MPEG-2
video_format- Video format- 0: NTSC
- 2: PAL
display_aspect_ratio- aspect ratio- 0: 4:3
- 1: reserved
- 2: reserved
- 3: 16:9
permitted_df- permitted display formats (?)line21_cc_1- CC for line 21 field 1 in GOP (NTSC only)line21_cc_2- CC for line 22 field 1 in GOP (NTSC only)unknown1- reserved / unknownbit_rate- ?picture_size- video resolution- If format is NTSC:
- 0: 720×480
- 1: 704×480
- 2: 352×480
- 3: 352×240
- If format is PAL:
- 0: 720×576
- 1: 704×576
- 2: 352×576
- 3: 352×288
letterboxed- 0: no
- 1: yes
film_mode(if PAL)- 0: camera
- 1: film
zero_7- reserved / unknownnr_of_vmgm_audio_streams- number of audio streams in VMG VOBS, must be 0 or 1audio_attr_tvmgm_audio_attr- VMG VOBs audio attributesaudio_format- audio codec- 0: AC3 (Dolby Digital)
- 1: unknown
- 2: MPEG-1
- 3: MPEG-2EXT
- 4: LPCM
- 5: unknown
- 6: DTS
- 7: unknown
multichannel_extension- multichannel extension exists or not for karaoke modelang_type- language type (?)- 0: unspecified
- 1: “per bytes 2&3” (DVD info spec)
application_mode(?)- 0: unspecified
- 1: karaoke
- 2: surround
quantization- quantization / dynamic range control (DRC)- If audio codec is MPEG-1 (2) or MPEG2-EXT (3), then
- 0: No DRC
- 1: DRC
- If audio codec is LPCM (4), then
- 0: 16 bps
- 1: 20 bps
- 2: 24 bps
sample_frequency- sample rate- 0: 48 Kbps
unknown1- reserved / unknownchannels- number of audio channels, 6 (5.1 surround sound) is maximumlang_code- language codelang_extension- reserved for language code extensioncode_extension- code extension- 0: unspecified
- 1: normal
- 2: for visually impaired
- 3: director's comments
- 4: alternate director's comments
unknown3- reserved / unknown
audio_attr_tzero_8[7]- reserved for audio streams, max 8zero_9[17]- reserved / unknownnr_of_vmgm_subp_streams- number of sub-picture streams in VMG VOBS, must be 0 or 1subp_attr_tvmgm_subp_attr- VMG VOBs sub-picture attributescode_mode- coding mode- 0: run length
- 1: extended
- 2: other
zero1- reserved / unknown / ignoredtype- language type- 0: unspecified
- 1: language
- 2: other
zero2- reserved / unknown / ignoredlang_code- language codelang_extension- language code extensioncode_extension- code extension
subp_attr_tzero_10[27]- reserved / unknown
tt_srpt_ttt_srpt- VMG IFO ONLY, pointers to all the tables on the disknr_of_srpts- number of titleszero_1- reservedlast_byte- end address, last byte of last entrytitle_info_ttitleplayback_type_tpb_tyzero_1multi_or_random_pgc_titlejlc_exists_in_cell_cmdjlc_exists_in_prepost_cmdjlc_exists_in_button_cmdjlc_exists_in_tt_domchapter_search_or_playtitle_or_time_play
nr_of_angles- number of anglesnr_of_ptts- number of chapters (PTTs)parental_id- parental management masktitle_set_nr- VTS number (VTSN)vts_ttn- title number within VTS, VTS_TTNtitle_set_sector- starting sector for VTS
-
VIDEO_TS.VOB
-
- vmgi_mat_t
- playback_type_t
- title_info_t
- tt_srpt_t
- pf_level_t
- ptl_mait_country_t
- ptl_mait_t
- vts_attributes_t
- vts_atrt_t
- txtdt_t
- txtdt_lu_t
- txtdt_mgi_t
-
- vtsi_mat_t
- ptt_info_t
- ttu_t
- vts_ptt_srpt_t
- map_ent_t
- vts_tmap_t
- vts_tmapt_t
- All IFOs
- ifo_handle_t
typedef struct {
dvd_file_t *file;
/* VMGI */
vmgi_mat_t *vmgi_mat;
tt_srpt_t *tt_srpt;
pgc_t *first_play_pgc;
ptl_mait_t *ptl_mait;
vts_atrt_t *vts_atrt;
txtdt_mgi_t *txtdt_mgi;
/* Common */
pgci_ut_t *pgci_ut;
c_adt_t *menu_c_adt;
vobu_admap_t *menu_vobu_admap;
/* VTSI */
vtsi_mat_t *vtsi_mat;
vts_ptt_srpt_t *vts_ptt_srpt;
pgcit_t *vts_pgcit;
vts_tmapt_t *vts_tmapt;
c_adt_t *vts_c_adt;
vobu_admap_t *vts_vobu_admap;
} ifo_handle_t;