Go to the source code of this file.
Functions | |
| static int | ifoRead_VMG (ifo_handle_t *ifofile) |
| static int | ifoRead_VTS (ifo_handle_t *ifofile) |
| static int | ifoRead_PGC (ifo_handle_t *ifofile, pgc_t *pgc, unsigned int offset) |
| static int | ifoRead_PGC_COMMAND_TBL (ifo_handle_t *ifofile, pgc_command_tbl_t *cmd_tbl, unsigned int offset) |
| static int | ifoRead_PGC_PROGRAM_MAP (ifo_handle_t *ifofile, pgc_program_map_t *program_map, unsigned int nr, unsigned int offset) |
| static int | ifoRead_CELL_PLAYBACK_TBL (ifo_handle_t *ifofile, cell_playback_t *cell_playback, unsigned int nr, unsigned int offset) |
| static int | ifoRead_CELL_POSITION_TBL (ifo_handle_t *ifofile, cell_position_t *cell_position, unsigned int nr, unsigned int offset) |
| static int | ifoRead_VTS_ATTRIBUTES (ifo_handle_t *ifofile, vts_attributes_t *vts_attributes, unsigned int offset) |
| static int | ifoRead_C_ADT_internal (ifo_handle_t *ifofile, c_adt_t *c_adt, unsigned int sector) |
| static int | ifoRead_VOBU_ADMAP_internal (ifo_handle_t *ifofile, vobu_admap_t *vobu_admap, unsigned int sector) |
| static int | ifoRead_PGCIT_internal (ifo_handle_t *ifofile, pgcit_t *pgcit, unsigned int offset) |
| static void | ifoFree_PGC (pgc_t *pgc) |
| static void | ifoFree_PGC_COMMAND_TBL (pgc_command_tbl_t *cmd_tbl) |
| static void | ifoFree_PGCIT_internal (pgcit_t *pgcit) |
| static int | DVDFileSeekForce_ (dvd_file_t *dvd_file, uint32_t offset, int force_size) |
| static int | DVDFileSeek_ (dvd_file_t *dvd_file, uint32_t offset) |
| static void | read_video_attr (video_attr_t *va) |
| static void | read_audio_attr (audio_attr_t *aa) |
| static void | read_multichannel_ext (multichannel_ext_t *me) |
| static void | read_subp_attr (subp_attr_t *sa) |
| static void | read_user_ops (user_ops_t *uo) |
| static void | read_pgci_srp (pgci_srp_t *ps) |
| static void | read_cell_playback (cell_playback_t *cp) |
| static void | read_playback_type (playback_type_t *pt) |
| static void | free_ptl_mait (ptl_mait_t *ptl_mait, int num_entries) |
| ifo_handle_t * | ifoOpen (dvd_reader_t *dvd, int title) |
| handle = ifoOpen(dvd, title); | |
| ifo_handle_t * | ifoOpenVMGI (dvd_reader_t *dvd) |
| handle = ifoOpenVMGI(dvd); | |
| ifo_handle_t * | ifoOpenVTSI (dvd_reader_t *dvd, int title) |
| handle = ifoOpenVTSI(dvd, title); | |
| void | ifoClose (ifo_handle_t *ifofile) |
| ifoClose(ifofile); Cleans up the IFO information. | |
| int | ifoRead_FP_PGC (ifo_handle_t *ifofile) |
| okay = ifoRead_FP_PGC(ifofile); | |
| void | ifoFree_FP_PGC (ifo_handle_t *ifofile) |
| int | ifoRead_TT_SRPT (ifo_handle_t *ifofile) |
| okay = ifoRead_TT_SRPT(ifofile); | |
| void | ifoFree_TT_SRPT (ifo_handle_t *ifofile) |
| int | ifoRead_VTS_PTT_SRPT (ifo_handle_t *ifofile) |
| okay = ifoRead_VTS_PTT_SRPT(ifofile); | |
| void | ifoFree_VTS_PTT_SRPT (ifo_handle_t *ifofile) |
| int | ifoRead_PTL_MAIT (ifo_handle_t *ifofile) |
| The following functions are for reading only part of the VMGI/VTSI files. | |
| void | ifoFree_PTL_MAIT (ifo_handle_t *ifofile) |
| The following functions are used for freeing parsed sections of the ifo_handle_t structure and the allocated substructures. | |
| int | ifoRead_VTS_TMAPT (ifo_handle_t *ifofile) |
| okay = ifoRead_VTS_TMAPT(ifofile); | |
| void | ifoFree_VTS_TMAPT (ifo_handle_t *ifofile) |
| int | ifoRead_TITLE_C_ADT (ifo_handle_t *ifofile) |
| okay = ifoRead_TITLE_C_ADT(ifofile); | |
| int | ifoRead_C_ADT (ifo_handle_t *ifofile) |
| okay = ifoRead_C_ADT(ifofile); | |
| static void | ifoFree_C_ADT_internal (c_adt_t *c_adt) |
| void | ifoFree_C_ADT (ifo_handle_t *ifofile) |
| void | ifoFree_TITLE_C_ADT (ifo_handle_t *ifofile) |
| int | ifoRead_TITLE_VOBU_ADMAP (ifo_handle_t *ifofile) |
| okay = ifoRead_TITLE_VOBU_ADMAP(ifofile); | |
| int | ifoRead_VOBU_ADMAP (ifo_handle_t *ifofile) |
| okay = ifoRead_VOBU_ADMAP(ifofile); | |
| static void | ifoFree_VOBU_ADMAP_internal (vobu_admap_t *vobu_admap) |
| void | ifoFree_VOBU_ADMAP (ifo_handle_t *ifofile) |
| void | ifoFree_TITLE_VOBU_ADMAP (ifo_handle_t *ifofile) |
| int | ifoRead_PGCIT (ifo_handle_t *ifofile) |
| okay = ifoRead_PGCIT(ifofile); | |
| void | ifoFree_PGCIT (ifo_handle_t *ifofile) |
| int | ifoRead_PGCI_UT (ifo_handle_t *ifofile) |
| okay = ifoRead_PGCI_UT(ifofile); | |
| void | ifoFree_PGCI_UT (ifo_handle_t *ifofile) |
| int | ifoRead_VTS_ATRT (ifo_handle_t *ifofile) |
| okay = ifoRead_VTS_ATRT(ifofile); | |
| void | ifoFree_VTS_ATRT (ifo_handle_t *ifofile) |
| int | ifoRead_TXTDT_MGI (ifo_handle_t *ifofile) |
| okay = ifoRead_TXTDT_MGI(ifofile); | |
| void | ifoFree_TXTDT_MGI (ifo_handle_t *ifofile) |
Variables | |
| static const uint8_t | my_friendly_zeros [2048] |
| static int ifoRead_VMG | ( | ifo_handle_t * | ifofile | ) | [static] |
Definition at line 520 of file ifo_read.c.
Referenced by ifoOpen(), and ifoOpenVMGI().
| static int ifoRead_VTS | ( | ifo_handle_t * | ifofile | ) | [static] |
Definition at line 611 of file ifo_read.c.
Referenced by ifoOpen(), and ifoOpenVTSI().
| static int ifoRead_PGC | ( | ifo_handle_t * | ifofile, | |
| pgc_t * | pgc, | |||
| unsigned int | offset | |||
| ) | [static] |
Definition at line 870 of file ifo_read.c.
Referenced by ifoRead_FP_PGC(), and ifoRead_PGCIT_internal().
| static int ifoRead_PGC_COMMAND_TBL | ( | ifo_handle_t * | ifofile, | |
| pgc_command_tbl_t * | cmd_tbl, | |||
| unsigned int | offset | |||
| ) | [static] |
Definition at line 726 of file ifo_read.c.
Referenced by ifoRead_PGC().
| static int ifoRead_PGC_PROGRAM_MAP | ( | ifo_handle_t * | ifofile, | |
| pgc_program_map_t * | program_map, | |||
| unsigned int | nr, | |||
| unsigned int | offset | |||
| ) | [static] |
Definition at line 811 of file ifo_read.c.
Referenced by ifoRead_PGC().
| static int ifoRead_CELL_PLAYBACK_TBL | ( | ifo_handle_t * | ifofile, | |
| cell_playback_t * | cell_playback, | |||
| unsigned int | nr, | |||
| unsigned int | offset | |||
| ) | [static] |
Definition at line 825 of file ifo_read.c.
Referenced by ifoRead_PGC().
| static int ifoRead_CELL_POSITION_TBL | ( | ifo_handle_t * | ifofile, | |
| cell_position_t * | cell_position, | |||
| unsigned int | nr, | |||
| unsigned int | offset | |||
| ) | [static] |
Definition at line 850 of file ifo_read.c.
Referenced by ifoRead_PGC().
| static int ifoRead_VTS_ATTRIBUTES | ( | ifo_handle_t * | ifofile, | |
| vts_attributes_t * | vts_attributes, | |||
| unsigned int | offset | |||
| ) | [static] |
Definition at line 2078 of file ifo_read.c.
Referenced by ifoRead_VTS_ATRT().
| static int ifoRead_C_ADT_internal | ( | ifo_handle_t * | ifofile, | |
| c_adt_t * | c_adt, | |||
| unsigned int | sector | |||
| ) | [static] |
Definition at line 1615 of file ifo_read.c.
Referenced by ifoRead_C_ADT(), and ifoRead_TITLE_C_ADT().
| static int ifoRead_VOBU_ADMAP_internal | ( | ifo_handle_t * | ifofile, | |
| vobu_admap_t * | vobu_admap, | |||
| unsigned int | sector | |||
| ) | [static] |
Definition at line 1749 of file ifo_read.c.
Referenced by ifoRead_TITLE_VOBU_ADMAP(), and ifoRead_VOBU_ADMAP().
| static int ifoRead_PGCIT_internal | ( | ifo_handle_t * | ifofile, | |
| pgcit_t * | pgcit, | |||
| unsigned int | offset | |||
| ) | [static] |
Definition at line 1835 of file ifo_read.c.
Referenced by ifoRead_PGCI_UT(), and ifoRead_PGCIT().
| static void ifoFree_PGC | ( | pgc_t * | pgc | ) | [static] |
Definition at line 1016 of file ifo_read.c.
Referenced by ifoFree_FP_PGC(), ifoFree_PGCIT_internal(), ifoRead_PGC(), and ifoRead_PGCIT_internal().
| static void ifoFree_PGC_COMMAND_TBL | ( | pgc_command_tbl_t * | cmd_tbl | ) | [static] |
Definition at line 799 of file ifo_read.c.
Referenced by ifoFree_PGC(), and ifoRead_PGC().
| static void ifoFree_PGCIT_internal | ( | pgcit_t * | pgcit | ) | [static] |
Definition at line 1911 of file ifo_read.c.
Referenced by ifoFree_PGCI_UT(), ifoFree_PGCIT(), and ifoRead_PGCI_UT().
| static int DVDFileSeekForce_ | ( | dvd_file_t * | dvd_file, | |
| uint32_t | offset, | |||
| int | force_size | |||
| ) | [inline, static] |
Definition at line 94 of file ifo_read.c.
Referenced by ifoRead_VOBU_ADMAP_internal().
| static int DVDFileSeek_ | ( | dvd_file_t * | dvd_file, | |
| uint32_t | offset | |||
| ) | [inline, static] |
Definition at line 98 of file ifo_read.c.
Referenced by ifoRead_C_ADT_internal(), ifoRead_CELL_PLAYBACK_TBL(), ifoRead_CELL_POSITION_TBL(), ifoRead_PGC(), ifoRead_PGC_COMMAND_TBL(), ifoRead_PGC_PROGRAM_MAP(), ifoRead_PGCI_UT(), ifoRead_PGCIT_internal(), ifoRead_PTL_MAIT(), ifoRead_TT_SRPT(), ifoRead_TXTDT_MGI(), ifoRead_VMG(), ifoRead_VTS(), ifoRead_VTS_ATRT(), ifoRead_VTS_ATTRIBUTES(), ifoRead_VTS_PTT_SRPT(), and ifoRead_VTS_TMAPT().
| static void read_video_attr | ( | video_attr_t * | va | ) | [static] |
Definition at line 102 of file ifo_read.c.
Referenced by ifoRead_VMG(), ifoRead_VTS(), and ifoRead_VTS_ATTRIBUTES().
| static void read_audio_attr | ( | audio_attr_t * | aa | ) | [static] |
Definition at line 121 of file ifo_read.c.
Referenced by ifoRead_VMG(), ifoRead_VTS(), and ifoRead_VTS_ATTRIBUTES().
| static void read_multichannel_ext | ( | multichannel_ext_t * | me | ) | [static] |
Definition at line 146 of file ifo_read.c.
Referenced by ifoRead_VTS().
| static void read_subp_attr | ( | subp_attr_t * | sa | ) | [static] |
Definition at line 173 of file ifo_read.c.
Referenced by ifoRead_VMG(), ifoRead_VTS(), and ifoRead_VTS_ATTRIBUTES().
| static void read_user_ops | ( | user_ops_t * | uo | ) | [static] |
Definition at line 188 of file ifo_read.c.
Referenced by ifoRead_PGC().
| static void read_pgci_srp | ( | pgci_srp_t * | ps | ) | [static] |
Definition at line 222 of file ifo_read.c.
Referenced by ifoRead_PGCIT_internal().
| static void read_cell_playback | ( | cell_playback_t * | cp | ) | [static] |
Definition at line 236 of file ifo_read.c.
Referenced by ifoRead_CELL_PLAYBACK_TBL().
| static void read_playback_type | ( | playback_type_t * | pt | ) | [static] |
Definition at line 265 of file ifo_read.c.
Referenced by ifoRead_TT_SRPT().
| static void free_ptl_mait | ( | ptl_mait_t * | ptl_mait, | |
| int | num_entries | |||
| ) | [static] |
Definition at line 281 of file ifo_read.c.
Referenced by ifoRead_PTL_MAIT().
| ifo_handle_t* ifoOpen | ( | dvd_reader_t * | , | |
| int | ||||
| ) |
handle = ifoOpen(dvd, title);
Opens an IFO and reads in all the data for the IFO file corresponding to the given title. If title 0 is given, the video manager IFO file is read. Returns a handle to a completely parsed structure.
Definition at line 290 of file ifo_read.c.
Referenced by ifo_print(), and vm_get_title_ifo().
| ifo_handle_t* ifoOpenVMGI | ( | dvd_reader_t * | ) |
handle = ifoOpenVMGI(dvd);
Opens an IFO and reads in _only_ the vmgi_mat data. This call can be used together with the calls below to read in each segment of the IFO file on demand.
Definition at line 427 of file ifo_read.c.
Referenced by vm_reset().
| ifo_handle_t* ifoOpenVTSI | ( | dvd_reader_t * | , | |
| int | ||||
| ) |
handle = ifoOpenVTSI(dvd, title);
Opens an IFO and reads in _only_ the vtsi_mat data. This call can be used together with the calls below to read in each segment of the IFO file on demand.
Definition at line 454 of file ifo_read.c.
Referenced by ifoOpenNewVTSI().
| void ifoClose | ( | ifo_handle_t * | ) |
ifoClose(ifofile); Cleans up the IFO information.
This will free all data allocated for the substructures.
Definition at line 489 of file ifo_read.c.
Referenced by ifo_print(), ifoOpen(), ifoOpenNewVTSI(), ifoOpenVMGI(), ifoOpenVTSI(), vm_free_copy(), vm_ifo_close(), vm_merge(), and vm_stop().
| int ifoRead_FP_PGC | ( | ifo_handle_t * | ) |
okay = ifoRead_FP_PGC(ifofile);
Reads in the first play program chain data, filling the ifofile->first_play_pgc structure. This data is only located in the video manager information file (VMGI). This structure is optional.
Definition at line 989 of file ifo_read.c.
Referenced by ifoOpen(), and vm_reset().
| void ifoFree_FP_PGC | ( | ifo_handle_t * | ifofile | ) |
Definition at line 1028 of file ifo_read.c.
Referenced by ifoClose().
| int ifoRead_TT_SRPT | ( | ifo_handle_t * | ) |
okay = ifoRead_TT_SRPT(ifofile);
Reads the title info for the main menu, filling the ifofile->tt_srpt structure and its substructures. This data is only located in the video manager information file. This structure is mandatory in the IFO file.
Definition at line 1040 of file ifo_read.c.
Referenced by ifoOpen(), and vm_reset().
| void ifoFree_TT_SRPT | ( | ifo_handle_t * | ifofile | ) |
Definition at line 1129 of file ifo_read.c.
Referenced by ifoClose(), and ifoRead_TT_SRPT().
| int ifoRead_VTS_PTT_SRPT | ( | ifo_handle_t * | ) |
okay = ifoRead_VTS_PTT_SRPT(ifofile);
Reads in the part of title search pointer table, filling the ifofile->vts_ptt_srpt structure and its substructures. This data is only located in the video title set information file. This structure is mandatory, and must be included in the VTSI file.
Definition at line 1141 of file ifo_read.c.
Referenced by ifoOpen(), and ifoOpenNewVTSI().
| void ifoFree_VTS_PTT_SRPT | ( | ifo_handle_t * | ifofile | ) |
Definition at line 1267 of file ifo_read.c.
Referenced by ifoClose().
| int ifoRead_PTL_MAIT | ( | ifo_handle_t * | ) |
The following functions are for reading only part of the VMGI/VTSI files.
Returns 1 if the data was successfully read and 0 on error. okay = ifoRead_PLT_MAIT(ifofile); Read in the Parental Management Information table, filling the ifofile->ptl_mait structure and its substructures. This data is only located in the video manager information file. This fills the ifofile->ptl_mait structure and all its substructures.
Definition at line 1283 of file ifo_read.c.
Referenced by ifoOpen(), and vm_reset().
| void ifoFree_PTL_MAIT | ( | ifo_handle_t * | ) |
The following functions are used for freeing parsed sections of the ifo_handle_t structure and the allocated substructures.
The free calls below are safe: they will not mind if you attempt to free part of an IFO file which was not read in or which does not exist.
Definition at line 1406 of file ifo_read.c.
Referenced by ifoClose().
| int ifoRead_VTS_TMAPT | ( | ifo_handle_t * | ) |
okay = ifoRead_VTS_TMAPT(ifofile);
Reads in the VTS Time Map Table, this data is only located in the video title set information file. This fills the ifofile->vts_tmapt structure and all its substructures. When pressent enables VOBU level time-based seeking for One_Sequential_PGC_Titles.
Definition at line 1422 of file ifo_read.c.
Referenced by ifoOpen().
| void ifoFree_VTS_TMAPT | ( | ifo_handle_t * | ifofile | ) |
Definition at line 1541 of file ifo_read.c.
Referenced by ifoClose(), and ifoRead_VTS_TMAPT().
| int ifoRead_TITLE_C_ADT | ( | ifo_handle_t * | ) |
okay = ifoRead_TITLE_C_ADT(ifofile);
Reads in the cell address table for the video title set corresponding to this IFO file. This data is only located in the video title set information file. This structure is mandatory, and must be included in the VTSI file. This call fills the ifofile->vts_c_adt structure and its substructures.
Definition at line 1559 of file ifo_read.c.
Referenced by ifoOpen().
| int ifoRead_C_ADT | ( | ifo_handle_t * | ) |
okay = ifoRead_C_ADT(ifofile);
Reads in the cell address table for the menu VOB. For the video manager, this corresponds to the VIDEO_TS.VOB file, and for each title set, this corresponds to the VTS_XX_0.VOB file. This data is located in both the video manager and video title set information files. For VMGI files, this fills the ifofile->vmgm_c_adt structure and all its substructures. For VTSI files, this fills the ifofile->vtsm_c_adt structure.
Definition at line 1584 of file ifo_read.c.
Referenced by ifoOpen().
| static void ifoFree_C_ADT_internal | ( | c_adt_t * | c_adt | ) | [static] |
Definition at line 1671 of file ifo_read.c.
Referenced by ifoFree_C_ADT(), and ifoFree_TITLE_C_ADT().
| void ifoFree_C_ADT | ( | ifo_handle_t * | ifofile | ) |
Definition at line 1678 of file ifo_read.c.
Referenced by ifoClose().
| void ifoFree_TITLE_C_ADT | ( | ifo_handle_t * | ifofile | ) |
Definition at line 1686 of file ifo_read.c.
Referenced by ifoClose().
| int ifoRead_TITLE_VOBU_ADMAP | ( | ifo_handle_t * | ) |
okay = ifoRead_TITLE_VOBU_ADMAP(ifofile);
Reads in the VOBU address map for the associated video title set. This data is only located in the video title set information file. This structure is mandatory, and must be included in the VTSI file. Fills the ifofile->vts_vobu_admap structure and its substructures.
Definition at line 1694 of file ifo_read.c.
Referenced by ifoOpen(), and ifoOpenNewVTSI().
| int ifoRead_VOBU_ADMAP | ( | ifo_handle_t * | ) |
okay = ifoRead_VOBU_ADMAP(ifofile);
Reads in the VOBU address map for the menu VOB. For the video manager, this corresponds to the VIDEO_TS.VOB file, and for each title set, this corresponds to the VTS_XX_0.VOB file. This data is located in both the video manager and video title set information files. For VMGI files, this fills the ifofile->vmgm_vobu_admap structure and all its substructures. For VTSI files, this fills the ifofile->vtsm_vobu_admap structure.
Definition at line 1718 of file ifo_read.c.
Referenced by ifoOpen(), ifoOpenNewVTSI(), and vm_reset().
| static void ifoFree_VOBU_ADMAP_internal | ( | vobu_admap_t * | vobu_admap | ) | [static] |
Definition at line 1787 of file ifo_read.c.
Referenced by ifoFree_TITLE_VOBU_ADMAP(), and ifoFree_VOBU_ADMAP().
| void ifoFree_VOBU_ADMAP | ( | ifo_handle_t * | ifofile | ) |
Definition at line 1794 of file ifo_read.c.
Referenced by ifoClose().
| void ifoFree_TITLE_VOBU_ADMAP | ( | ifo_handle_t * | ifofile | ) |
Definition at line 1802 of file ifo_read.c.
Referenced by ifoClose().
| int ifoRead_PGCIT | ( | ifo_handle_t * | ) |
okay = ifoRead_PGCIT(ifofile);
Reads in the program chain information table for the video title set. Fills in the ifofile->vts_pgcit structure and its substructures, which includes the data for each program chain in the set. This data is only located in the video title set information file. This structure is mandatory, and must be included in the VTSI file.
Definition at line 1810 of file ifo_read.c.
Referenced by ifoOpen(), and ifoOpenNewVTSI().
| void ifoFree_PGCIT | ( | ifo_handle_t * | ifofile | ) |
Definition at line 1923 of file ifo_read.c.
Referenced by ifoClose().
| int ifoRead_PGCI_UT | ( | ifo_handle_t * | ) |
okay = ifoRead_PGCI_UT(ifofile);
Reads in the menu PGCI unit table for the menu VOB. For the video manager, this corresponds to the VIDEO_TS.VOB file, and for each title set, this corresponds to the VTS_XX_0.VOB file. This data is located in both the video manager and video title set information files. For VMGI files, this fills the ifofile->vmgi_pgci_ut structure and all its substructures. For VTSI files, this fills the ifofile->vtsm_pgci_ut structure.
Definition at line 1935 of file ifo_read.c.
Referenced by ifoOpen(), ifoOpenNewVTSI(), and vm_reset().
| void ifoFree_PGCI_UT | ( | ifo_handle_t * | ifofile | ) |
Definition at line 2061 of file ifo_read.c.
Referenced by ifoClose().
| int ifoRead_VTS_ATRT | ( | ifo_handle_t * | ) |
okay = ifoRead_VTS_ATRT(ifofile);
Read in the attribute table for the main menu vob, filling the ifofile->vts_atrt structure and its substructures. Only located in the video manager information file. This fills in the ifofile->vts_atrt structure and all its substructures.
Definition at line 2131 of file ifo_read.c.
Referenced by ifoOpen(), and vm_reset().
| void ifoFree_VTS_ATRT | ( | ifo_handle_t * | ifofile | ) |
Definition at line 2219 of file ifo_read.c.
Referenced by ifoClose().
| int ifoRead_TXTDT_MGI | ( | ifo_handle_t * | ) |
okay = ifoRead_TXTDT_MGI(ifofile);
Reads in the text data strings for the DVD. Fills the ifofile->txtdt_mgi structure and all its substructures. This data is only located in the video manager information file. This structure is mandatory, and must be included in the VMGI file.
Definition at line 2232 of file ifo_read.c.
Referenced by ifoOpen().
| void ifoFree_TXTDT_MGI | ( | ifo_handle_t * | ifofile | ) |
Definition at line 2266 of file ifo_read.c.
Referenced by ifoClose().
const uint8_t my_friendly_zeros[2048] [static] |
Definition at line 56 of file ifo_read.c.
Referenced by ifoRead_TT_SRPT().
1.6.3