====== Video Manager Group (VMG) ====== * [[DVD Structure]] * [[libdvdread]] * Video Manager Group (VMG) * [[VMGI|Video Manager Group IFO]] (VMGI): ''VIDEO_TS.IFO'', ''VIDEO_TS.BUP'' * [[VMGM|Video Manager Group Menu]] (VMGM): ''VIDEO_TS.VOB'' * [[http://stnsoft.com/DVD/ifo.html]] Using above link, ''ifo_types.h'' and ''ifo_print.c'' as references. <code> ifo_handle_t *ifo_zero; ifo_zero = ifoOpen(dvdread_dvd, 0); </code> ** VMG ID ** * Example: DVDVIDEO-VMG <code> char *id; id = ifo_zero->vmgi_mat->vmg_identifier; </code> ** Last sector of VMG set ** The last sector of the BUP. <code> uint32t i; i = ifo_zero->vmgi_mat->vmg_last_sector; </code> ** Last sector of IFO ** Current IFO? Not sure... <code> uint32t i; i = ifo_zero->vmgi_mat->vmgi_last_sector; </code> ** Version number ** * [[http://stnsoft.com/DVD/ifo.html#ver]] <code> uint8t i; i = ifo_zero->vmgi_mat->specification_version; </code> ** VMG category ** <code> uint32_t i; i = ifo_zero->vmgi_mat->vmg_category; </code> ** Number of volumes ** Not sure if I've seen this one yet, where it is positvely set (todo: search IFOs). It's the number of volumes for an entire set of the DVDs that this one is a part of a collection. <code> uint16_t i; i = ifo_zero->vmgi_mat->vmg_nr_of_volumes </code> ** Volume number ** <code> uint16_t i; i = ifo_zero->vmgi_mat->vmg_this_volume_nr; </code> ** Disc side ** This should obviously be a 1 or a 2. <code> uint8t i; i = ifo_zero->vmgi_mat->disc_side; </code> ** Number of title sets ** Number of VTSs, aka IFOs. **For debugging**, this number should match the actual amount of IFOs on a DVD. <code> uint16_t i; i = ifo_zero->vmgi_mat->vmg_nr_of_title_sets; </code> ** Provider ID ** Example: ''DEFENDERS_OF_THE_EARTH_V2D2A''. Often blank. 32 characters not including a NULL terminator. <code> char *id; id = ifo_zero->vmgi_mat->provider_identifier; </code> ** VMG POS ** Dunno what this one is. 8-bytes. <code> uint64_t i; i = ifo_zero->vmgi_mat->vmg_pos_code; </code> ** Last byte of VMG IFO (IFO Zero) ** <code> uint32_t i; i = ifo_zero->vmgi_mat->vmgi_last_byte; </code> ** Start address of first PGC ** First Play program chain. * [[http://stnsoft.com/DVD/pgc.html]] <code> uint32_t i; i = ifo_zero->vmgi_mat->first_play_pgc; </code> ** Start sector of menu VOB ** Dunno what this is yet. <code> uint32_t i; i = ifo_zero->vmgi_mat->vmgm_vobs; </code> ** Sector pointer to TT_SRPT, table of titles ** * [[http://stnsoft.com/DVD/ifo_vmg.html#tt]] <code> uint32_t i; i = ifo_zero->vmgi_mat->tt_srpt; </code> ** Sector pointer to Menu Program Chain Table (VMGM_PGCI_UT) ** * [[http://stnsoft.com/DVD/ifo_vmg.html#pgciut]] <code> uint32_t i; i = ifo_zero->vmgi_mat->vmgm_pgci_ut; </code> ** Sector pointer to Parental Management masks (VMG_PTL_MAIT) ** * [[http://stnsoft.com/DVD/ifo_vmg.html#mait]] <code> uint32_t i; i = ifo_zero->vmgi_mat->ptl_mait; </code> ** Sector pointer to copies of VTS audio/sub-picture attributes (VMG_VTS_ATRT) ** * [[http://stnsoft.com/DVD/ifo_vmg.html#atrt]] <code> uint32_t i; i = ifo_zero->vmgi_mat->vts_atrt; </code> ** Sector pointer to VMG_TXTDT_MG ** Text data. No idea what this one is. <code> uint32_t i; i = ifo_zero->vmgi_mat->txtdt_mgi; </code> ** Sector pointer to menu cell address table (VMGM_C_ADT) ** * [[http://stnsoft.com/DVD/ifo.html#c_adt]] <code> uint32_t i; i = ifo_zero->vmgi_mat->vmgm_c_adt; </code> ** Sector pointer to menu VOBU address map (VMGM_VOBU_ADMAP) ** * [[http://stnsoft.com/DVD/ifo.html#vam]] <code> uint32_t i; i = ifo_zero->vmgi_mat->vmgm_vobu_admap; </code> ** Video attributes of menu VOBs (VMGM_VOBS) ** * [[http://stnsoft.com/DVD/ifo.html#vidatt]] <code> video_attr_t *a; a = ifo_zero->vmgi_mat->vmgm_video_attr; </code> ** Number of audio streams in menu VOBs (VMGM_VOBS) ** Should be 0 or 1 (**debugging checks**). <code> uint8_t i; i = ifo_zero->vmgi_mat->nr_of_vmgm_audio_streams; </code> ** Audio attributes of menu VOBs (VMGM_VOBS) ** * [[http://stnsoft.com/DVD/ifo.html#maudatt]] For //channels// the most common integer value (from my findings) is 0 or 1. Need to find out if that means integer + 1 (so, 0 = mono, 1 = stereo) or what. <code> audio_attr_t *a; a = ifo_zero->vmgi_mat->vmgm_audio_attr; </code> ** Number of subpicture streams in menu VOBs (VMGM_VOBS) ** Should be 0 or 1 (**debugging checks**). <code> uint8_t i; i = ifo_zero->vmgi_mat->nr_of_vmgm_subp_streams; </code> ** Subpicture attributes of menu VOBs (VMGM_VOBS) ** <code> subp_attr_t *a; a = ifo_zero->vmgi_mat->vmgm_subp_attr; </code>
Trace:
•
regionset
•
dlna
Article
Show pagesource
Log In
Search
Toolbox
What links here
Media Manager
Site index
Permanent link
Cite this article