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
pgc_tfirst_play_pgc- VMG IFO ONLY, first (and only possible) PGC for VMG IFOzero_1- reserved / unusednr_of_programs- number of programsnr_of_cellsnumber of cellsdvd_time_tplayback_timehourminutesecondframe_u- the two high bits are the framerate
user_ops_tprohibited_ops- (skipping display of
user_ops_there, see source code)
audio_control[8]- audio stream controlsubp_control[32]- sub-picture stream controlnext_pgc_nr- next PGCNprev_pgc_nr- previous PGCNgoup_pgc_nr- group PGCNstill_time- PGC still time, 255 = infinitepg_playback_mode- PG playback mode, 0=sequential, otherwise bit7 indicates random (0) or shuffle (1), and the program count is in bits6-0palette[16]- palette (0, Y, Cr, Cb)command_tbl_offset- offset within PGC to commandsprogram_map_offset- offset within PGC to program mapcell_playback_offset- offset within PGC to cell playback information tablecell_position_offset- offset within PGC to cell position information tablepgc_command_tbl_tcommand_tblnr_of_pre- number of pre commandsnr_of_post- number of post commandsnr_of_cell- number of cell commandszero_1- end address relative to command tablevm_cmd_tpre_cmdsbytes[8]
vm_cmd_tpost_cmdsbytes[8]
vm_cmd_tcell_cmdsbytes[8]
pgc_program_map_tprogram_map- PGC program map (simple typedef of uint8_t)cell_playback_tcell_playbackblock_modeblock_typeseamless_playinterleavedstc_discontinuityseamless_angleplayback_moderestrictedunknown2still_timecell_cmd_nrdvd_time_tplayback_timehourminutesecondframe_u
first_sectorfirst_ilvu_end_sectorlast_vobu_start_sectorlast_sector
cell_position_tcell_position- cell position informationvob_id_nrzero_1cell_nr
ref_count
ptl_mait_tptl_mait- VMG IFO ONLY, parental management information tablenr_of_countries- number of countriesnr_of_vtss- number of title setslast_byte- end address, last byte of PTL_MAITptl_mait_country_tcountriescountry_codezero_1pf_ptl_mai_start_bytezero_2pf_level_tpf_ptl_mai
vts_atrt_tvts_atrt- VMG IFO ONLY, VTS Attribution Tablenr_of_vtss- number of title setszero_1last_byte- end address (last byte of last VTS_ATRT)vts_attributes_tvts- VTS attributeslast_byte- end addressvts_catvideo_attr_tvtsm_vobs_attr- video attributes (see above)nr_of_vtsm_audio_streams- limited to maximum of 1 for VMG IFOaudio_attr_tvtsm_audio_attr- audio attributes (see above)audio_attr_tzero_2[7]zero_3[16]zero_4nr_of_vtsm_subp_streams- number of sub-picture streamssubp_attr_tvtsm_subp_attr- sub-picture attributes (see above)subp_attr_tzero_5[27]zero_6[2]video_attr_tvtstt_vobs_video_attrzero_7nr_of_vtstt_audio_streamsaudio_attr_tvtstt_audio_attr[8]zero_8[16]zero_9nr_of_vtstt_subp_streamssubp_attr_t- vtstt_subp_attr[32]
vts_atrt_offsets- offsets table for each vts_attributes
txtdt_mgi_ttxtdt_mgi- VMG IFO ONLY, Text Data Manager Informationdisc_name[14]- ?nr_of_language_units- number of language unitslast_bytetxtdt_lu_tlu- language unitlang_codeunknowntxtdt_start_byte- prt, rel start of vmg_txtdt_mgitxtdt_ttxtdtlast_byteoffsets[100]
pgci_ut_tpgci_ut- VMG AND VTS, Menu PGCI Unit Tablenr_of_lus- number of language unitszero_1last_bytepgci_lu_tlu- Menu PGCI Language Unitlang_codelang_extensionexistslang_start_bytepgcit_tpgcit- Program Chain Information Tablenr_of_pgci_srpzero_1last_bytepgci_srp_tpgci_srp- Program Chain Information Search Pointerentry_idblock_modeblock_typeunknown1ptl_id_maskpgc_start_bytepgc_tpgc(see above)
ref_count
c_adt_tmenu_c_adt- VMG and VTS IFOs, Cell Address Tablenr_of_vobs- number of VOBs (max 99)zero_1last_bytecell_adr_tcell_adr_tablevob_idcell_idzero_1start_sectorlast_sector
vobu_admap_tmenu_vobu_admap- VMG and VTS IFOs, VOBU Address Maplast_bytevobu_start_sectors
vtsi_mat_tvtsi_mat- VTS IFOs only, Video Title Set Information Management Tablevts_identifier[12]- VTS identifiervts_last_sector- last sector of VTS (BUP)zero_1[12]- reserved / unknownvtsi_last_sector- last sector of VTS IFOzero_2specification_versionvts_category- VTS category- 0: unspecified
- 1: karaoke
zero_3zero_4zero_5zero_6[19]zero_7zero_8[32]zero_9zero_10[24]vtsi_last_byte- last byte of VTS IFOzero_11zero_12[56]vtsm_vobs- starting sector of VTS Menu VOBsvtstt_vobs- starting sector of table of titles
vts_ptt_srpt_tvts_ptt_srpt- VTS IFOs only, Part of Title Search Pointer Tablenr_of_srptszero_1last_bytettu_ttitlettu_offset
pgcit_tvts_pgcit- VTS IFOs only, Program Chain Information Table (see above)vts_tmapt_tvts_tmapt- VTS IFOs only, time maps for each PGCnr_of_tmaps- number of program chainszero_1last_byte- end address (last byte of last VTS_TMAP)vts_tmap_ttmaptmu- time unit, in secondszero_1- reserved / unknown / safe to ignorenr_of_entries- number of entries in map;0for empty mapmap_ent_tmap_ent- time map entry (typedef as uint32_t)
c_adt_tvts_c_adtVTS IFOs only, VTS cell address tablevobu_admap_tvts_vobu_admap
-
VIDEO_TS.VOB