Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
libdvdread [2015/01/16 18:55] beandoglibdvdread [2015/01/16 23:21] (current) beandog
Line 185: Line 185:
           * **''vm_cmd_t''** ''cell_cmds''           * **''vm_cmd_t''** ''cell_cmds''
             * ''bytes[8]''             * ''bytes[8]''
 +        * **''pgc_program_map_t''** ''program_map'' - PGC program map (simple typedef of uint8_t)
 +        * **''cell_playback_t''** ''cell_playback''
 +          * ''block_mode''
 +          * ''block_type''
 +          * ''seamless_play''
 +          * ''interleaved''
 +          * ''stc_discontinuity''
 +          * ''seamless_angle''
 +          * ''playback_mode''
 +          * ''restricted''
 +          * ''unknown2''
 +          * ''still_time''
 +          * ''cell_cmd_nr''
 +          * **''dvd_time_t''** ''playback_time''
 +            * ''hour''
 +            * ''minute''
 +            * ''second''
 +            * ''frame_u''
 +          * ''first_sector''
 +          * ''first_ilvu_end_sector''
 +          * ''last_vobu_start_sector''
 +          * ''last_sector''
 +        * **''cell_position_t''** ''cell_position'' - cell position information
 +          * ''vob_id_nr''
 +          * ''zero_1''
 +          * ''cell_nr''
 +        * ''ref_count''
       * **''ptl_mait_t''** ''ptl_mait'' - **VMG IFO ONLY**, parental management information table       * **''ptl_mait_t''** ''ptl_mait'' - **VMG IFO ONLY**, parental management information table
         * ''nr_of_countries'' - number of countries         * ''nr_of_countries'' - number of countries
Line 254: Line 281:
               * **''pgc_t''** ''pgc'' (see above)               * **''pgc_t''** ''pgc'' (see above)
             * ''ref_count''             * ''ref_count''
 +      * **''c_adt_t''** ''menu_c_adt'' - **VMG and VTS IFOs**, Cell Address Table
 +        * ''nr_of_vobs'' - number of VOBs (max 99)
 +        * ''zero_1''
 +        * ''last_byte''
 +        * **''cell_adr_t''** ''cell_adr_table''
 +          * ''vob_id''
 +          * ''cell_id''
 +          * ''zero_1''
 +          * ''start_sector''
 +          * ''last_sector''
 +      * **''vobu_admap_t''** ''menu_vobu_admap'' - **VMG and VTS IFOs**, VOBU Address Map
 +        * ''last_byte''
 +        * ''vobu_start_sectors''
 +      * **''vtsi_mat_t''** ''vtsi_mat'' - **VTS IFOs only**, Video Title Set Information Management Table
 +        * ''vts_identifier[12]'' - VTS identifier
 +        * ''vts_last_sector'' - last sector of VTS (BUP)
 +        * ''zero_1[12]'' - reserved / unknown
 +        * ''vtsi_last_sector'' - last sector of VTS IFO
 +        * ''zero_2''
 +        * ''specification_version''
 +        * ''vts_category'' - VTS category
 +          * 0: unspecified
 +          * 1: karaoke
 +        * ''zero_3''
 +        * ''zero_4''
 +        * ''zero_5''
 +        * ''zero_6[19]''
 +        * ''zero_7''
 +        * ''zero_8[32]''
 +        * ''zero_9''
 +        * ''zero_10[24]''
 +        * ''vtsi_last_byte'' - last byte of VTS IFO
 +        * ''zero_11''
 +        * ''zero_12[56]''
 +        * ''vtsm_vobs'' - starting sector of VTS Menu VOBs
 +        * ''vtstt_vobs'' - starting sector of table of titles
 +      * **''vts_ptt_srpt_t''** ''vts_ptt_srpt'' - **VTS IFOs only**, Part of Title Search Pointer Table
 +        * ''nr_of_srpts''
 +        * ''zero_1''
 +        * ''last_byte''
 +        * **''ttu_t''** title
 +        * ''ttu_offset''
 +      * **''pgcit_t''** ''vts_pgcit'' - **VTS IFOs only**, Program Chain Information Table (see above)      
 +      * **''vts_tmapt_t''** ''vts_tmapt'' - **VTS IFOs only**, time maps for each PGC
 +        * ''nr_of_tmaps'' - number of program chains
 +        * ''zero_1''
 +        * ''last_byte'' - end address (last byte of last VTS_TMAP)
 +        * **''vts_tmap_t''** ''tmap''
 +          * ''tmu'' - time unit, in seconds
 +          * ''zero_1'' - reserved / unknown / safe to ignore
 +          * ''nr_of_entries'' - number of entries in map; ''0'' for empty map
 +          * **''map_ent_t''** ''map_ent'' - time map entry (typedef as uint32_t)
 +      * **''c_adt_t''** ''vts_c_adt'' **VTS IFOs only**, VTS cell address table
 +      * **''vobu_admap_t''** ''vts_vobu_admap''
     * [[VMGM]]     * [[VMGM]]
       * ''VIDEO_TS.VOB''       * ''VIDEO_TS.VOB''
- 
-  * **[[VMG]]** 
-    * 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 
-  * **[[VTS]]** 
-    * vtsi_mat_t 
-    * ptt_info_t 
-    * ttu_t 
-    * vts_ptt_srpt_t 
-    * map_ent_t 
-    * vts_tmap_t 
-    * vts_tmapt_t 
-  * **All [[IFO|IFOs]]** 
-    * ifo_handle_t 
- 
-<code> 
-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; 
-</code>