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 | DVDFileSeek_ (dvd_file_t *dvd_file, uint32_t offset) |
| 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] |
| static int ifoRead_VTS | ( | ifo_handle_t * | ifofile | ) | [static] |
| static int ifoRead_PGC | ( | ifo_handle_t * | ifofile, | |
| pgc_t * | pgc, | |||
| unsigned int | offset | |||
| ) | [static] |
Definition at line 624 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] |
| static int ifoRead_PGC_PROGRAM_MAP | ( | ifo_handle_t * | ifofile, | |
| pgc_program_map_t * | program_map, | |||
| unsigned int | nr, | |||
| unsigned int | offset | |||
| ) | [static] |
| static int ifoRead_CELL_PLAYBACK_TBL | ( | ifo_handle_t * | ifofile, | |
| cell_playback_t * | cell_playback, | |||
| unsigned int | nr, | |||
| unsigned int | offset | |||
| ) | [static] |
| static int ifoRead_CELL_POSITION_TBL | ( | ifo_handle_t * | ifofile, | |
| cell_position_t * | cell_position, | |||
| unsigned int | nr, | |||
| unsigned int | offset | |||
| ) | [static] |
| static int ifoRead_VTS_ATTRIBUTES | ( | ifo_handle_t * | ifofile, | |
| vts_attributes_t * | vts_attributes, | |||
| unsigned int | offset | |||
| ) | [static] |
| static int ifoRead_C_ADT_internal | ( | ifo_handle_t * | ifofile, | |
| c_adt_t * | c_adt, | |||
| unsigned int | sector | |||
| ) | [static] |
Definition at line 1366 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 1500 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] |
| static void ifoFree_PGC | ( | pgc_t * | pgc | ) | [static] |
Definition at line 765 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] |
| static void ifoFree_PGCIT_internal | ( | pgcit_t * | pgcit | ) | [static] |
Definition at line 1659 of file ifo_read.c.
Referenced by ifoFree_PGCI_UT(), ifoFree_PGCIT(), and ifoRead_PGCI_UT().
| static int DVDFileSeek_ | ( | dvd_file_t * | dvd_file, | |
| uint32_t | offset | |||
| ) | [inline, static] |
Definition at line 92 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_VOBU_ADMAP_internal(), ifoRead_VTS(), ifoRead_VTS_ATRT(), ifoRead_VTS_ATTRIBUTES(), ifoRead_VTS_PTT_SRPT(), and ifoRead_VTS_TMAPT().
| 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 97 of file ifo_read.c.
Referenced by DVDProbe::probe(), and DVDThread::ripTitle().
| 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 182 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 209 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 244 of file ifo_read.c.
Referenced by ifoOpen(), ifoOpenNewVTSI(), ifoOpenVMGI(), ifoOpenVTSI(), DVDProbe::probe(), DVDThread::ripTitle(), vm_free_copy(), 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 738 of file ifo_read.c.
Referenced by ifoOpen(), and vm_reset().
| void ifoFree_FP_PGC | ( | ifo_handle_t * | ifofile | ) |
| 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 789 of file ifo_read.c.
Referenced by ifoOpen(), and vm_reset().
| void ifoFree_TT_SRPT | ( | ifo_handle_t * | ifofile | ) |
| 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 889 of file ifo_read.c.
Referenced by ifoOpen(), and ifoOpenNewVTSI().
| void ifoFree_VTS_PTT_SRPT | ( | ifo_handle_t * | ifofile | ) |
| 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 1029 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 1157 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 1173 of file ifo_read.c.
Referenced by ifoOpen().
| void ifoFree_VTS_TMAPT | ( | ifo_handle_t * | ifofile | ) |
| 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 1310 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 1335 of file ifo_read.c.
Referenced by ifoOpen().
| static void ifoFree_C_ADT_internal | ( | c_adt_t * | c_adt | ) | [static] |
Definition at line 1422 of file ifo_read.c.
Referenced by ifoFree_C_ADT(), and ifoFree_TITLE_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 * | ) |
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 1445 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 1469 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 1538 of file ifo_read.c.
Referenced by ifoFree_TITLE_VOBU_ADMAP(), and ifoFree_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 * | ) |
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 1561 of file ifo_read.c.
Referenced by ifoOpen(), and ifoOpenNewVTSI().
| void ifoFree_PGCIT | ( | ifo_handle_t * | ifofile | ) |
| 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 1680 of file ifo_read.c.
Referenced by ifoOpen(), ifoOpenNewVTSI(), and vm_reset().
| void ifoFree_PGCI_UT | ( | ifo_handle_t * | ifofile | ) |
| 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 1876 of file ifo_read.c.
Referenced by ifoOpen(), and vm_reset().
| void ifoFree_VTS_ATRT | ( | ifo_handle_t * | ifofile | ) |
| 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 1977 of file ifo_read.c.
Referenced by ifoOpen().
| void ifoFree_TXTDT_MGI | ( | ifo_handle_t * | ifofile | ) |
const uint8_t my_friendly_zeros[2048] [static] |
1.5.5