Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vmg [2014/05/16 19:01]
beandog
vmg [2015/01/16 09:49] (current)
beandog
Line 4: Line 4:
   * [[libdvdread]]   * [[libdvdread]]
  
-  * Video Manager Group (VMG+The VMG is the collection of both the primary ​IFO and VOB It is the first IFO on the disc.
-    * [[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]]+  * [[VMGI|Video Manager Group IFO]] (VMGI)''​VIDEO_TS.IFO'',​ ''​VIDEO_TS.BUP''​ 
 +  * [[VMGM|Video Manager Group Menu]] (VMGM): ''​VIDEO_TS.VOB''​
  
-Using above link, ''​ifo_types.h''​ and ''​ifo_print.c''​ as references. +  ​[[VMG]] 
- +    * [[VMGI]] 
-<​code>​ +      * ''​VIDEO_TS.BUP'
-ifo_handle_t *ifo_zero;​ +      * ''​VIDEO_TS.IFO''​ 
-ifo_zero = ifoOpen(dvdread_dvd,​ 0); +    * [[VMGM]] 
-</​code>​ +      ''​VIDEO_TS.VOB''​
- +
-** 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>​+

Navigation