Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
libdvdread [2015/01/16 11:55] beandog |
libdvdread [2015/01/16 16: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> |