Mercurial > mplayer.hg
annotate dvdread/ifo_read.h @ 27409:e2de11109139
If (has outline) blur(outline) else blur(glyph).
If there is an outline, the glyph itself should not be blurred. Keeps
the border between glyph and outline clear (unblurred), which is
probably how it should be.
Patch by Diogo Franco (diogomfranco gmail com).
author | eugeni |
---|---|
date | Thu, 07 Aug 2008 22:20:58 +0000 |
parents | 1542693b2a30 |
children |
rev | line source |
---|---|
24050
1542693b2a30
Sync libdvdread with version 0.9.5 (cosmetic changes).
diego
parents:
20983
diff
changeset
|
1 /* -*- c-basic-offset: 2; indent-tabs-mode: nil -*- */ |
7029 | 2 #ifndef IFO_READ_H_INCLUDED |
3 #define IFO_READ_H_INCLUDED | |
4 | |
5 /* | |
6 * Copyright (C) 2000, 2001, 2002 Björn Englund <d4bjorn@dtek.chalmers.se>, | |
7 * Håkan Hjort <d95hjort@dtek.chalmers.se> | |
8 * | |
9 * This program is free software; you can redistribute it and/or modify | |
10 * it under the terms of the GNU General Public License as published by | |
11 * the Free Software Foundation; either version 2 of the License, or | |
12 * (at your option) any later version. | |
13 * | |
14 * This program is distributed in the hope that it will be useful, | |
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 * GNU General Public License for more details. | |
18 * | |
19 * You should have received a copy of the GNU General Public License | |
20 * along with this program; if not, write to the Free Software | |
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
22 */ | |
23 | |
20983 | 24 #include <dvdread/ifo_types.h> |
25 #include <dvdread/dvd_reader.h> | |
7029 | 26 |
27 #ifdef __cplusplus | |
28 extern "C" { | |
29 #endif | |
30 | |
31 /** | |
32 * handle = ifoOpen(dvd, title); | |
33 * | |
34 * Opens an IFO and reads in all the data for the IFO file corresponding to the | |
35 * given title. If title 0 is given, the video manager IFO file is read. | |
36 * Returns a handle to a completely parsed structure. | |
37 */ | |
38 ifo_handle_t *ifoOpen(dvd_reader_t *, int ); | |
39 | |
40 /** | |
41 * handle = ifoOpenVMGI(dvd); | |
42 * | |
43 * Opens an IFO and reads in _only_ the vmgi_mat data. This call can be used | |
44 * together with the calls below to read in each segment of the IFO file on | |
45 * demand. | |
46 */ | |
47 ifo_handle_t *ifoOpenVMGI(dvd_reader_t *); | |
48 | |
49 /** | |
50 * handle = ifoOpenVTSI(dvd, title); | |
51 * | |
52 * Opens an IFO and reads in _only_ the vtsi_mat data. This call can be used | |
53 * together with the calls below to read in each segment of the IFO file on | |
54 * demand. | |
55 */ | |
56 ifo_handle_t *ifoOpenVTSI(dvd_reader_t *, int); | |
57 | |
58 /** | |
59 * ifoClose(ifofile); | |
60 * Cleans up the IFO information. This will free all data allocated for the | |
61 * substructures. | |
62 */ | |
63 void ifoClose(ifo_handle_t *); | |
64 | |
65 /** | |
66 * The following functions are for reading only part of the VMGI/VTSI files. | |
67 * Returns 1 if the data was successfully read and 0 on error. | |
68 */ | |
69 | |
70 /** | |
71 * okay = ifoRead_PLT_MAIT(ifofile); | |
72 * | |
73 * Read in the Parental Management Information table, filling the | |
74 * ifofile->ptl_mait structure and its substructures. This data is only | |
75 * located in the video manager information file. This fills the | |
76 * ifofile->ptl_mait structure and all its substructures. | |
77 */ | |
78 int ifoRead_PTL_MAIT(ifo_handle_t *); | |
79 | |
80 /** | |
81 * okay = ifoRead_VTS_ATRT(ifofile); | |
82 * | |
83 * Read in the attribute table for the main menu vob, filling the | |
84 * ifofile->vts_atrt structure and its substructures. Only located in the | |
85 * video manager information file. This fills in the ifofile->vts_atrt | |
86 * structure and all its substructures. | |
87 */ | |
88 int ifoRead_VTS_ATRT(ifo_handle_t *); | |
89 | |
90 /** | |
91 * okay = ifoRead_TT_SRPT(ifofile); | |
92 * | |
93 * Reads the title info for the main menu, filling the ifofile->tt_srpt | |
94 * structure and its substructures. This data is only located in the video | |
95 * manager information file. This structure is mandatory in the IFO file. | |
96 */ | |
97 int ifoRead_TT_SRPT(ifo_handle_t *); | |
98 | |
99 /** | |
100 * okay = ifoRead_VTS_PTT_SRPT(ifofile); | |
101 * | |
102 * Reads in the part of title search pointer table, filling the | |
103 * ifofile->vts_ptt_srpt structure and its substructures. This data is only | |
104 * located in the video title set information file. This structure is | |
105 * mandatory, and must be included in the VTSI file. | |
106 */ | |
107 int ifoRead_VTS_PTT_SRPT(ifo_handle_t *); | |
108 | |
109 /** | |
110 * okay = ifoRead_FP_PGC(ifofile); | |
111 * | |
112 * Reads in the first play program chain data, filling the | |
113 * ifofile->first_play_pgc structure. This data is only located in the video | |
15874 | 114 * manager information file (VMGI). This structure is optional. |
7029 | 115 */ |
116 int ifoRead_FP_PGC(ifo_handle_t *); | |
117 | |
118 /** | |
119 * okay = ifoRead_PGCIT(ifofile); | |
120 * | |
121 * Reads in the program chain information table for the video title set. Fills | |
122 * in the ifofile->vts_pgcit structure and its substructures, which includes | |
123 * the data for each program chain in the set. This data is only located in | |
124 * the video title set information file. This structure is mandatory, and must | |
125 * be included in the VTSI file. | |
126 */ | |
127 int ifoRead_PGCIT(ifo_handle_t *); | |
128 | |
129 /** | |
130 * okay = ifoRead_PGCI_UT(ifofile); | |
131 * | |
132 * Reads in the menu PGCI unit table for the menu VOB. For the video manager, | |
133 * this corresponds to the VIDEO_TS.VOB file, and for each title set, this | |
134 * corresponds to the VTS_XX_0.VOB file. This data is located in both the | |
135 * video manager and video title set information files. For VMGI files, this | |
136 * fills the ifofile->vmgi_pgci_ut structure and all its substructures. For | |
137 * VTSI files, this fills the ifofile->vtsm_pgci_ut structure. | |
138 */ | |
139 int ifoRead_PGCI_UT(ifo_handle_t *); | |
15874 | 140 |
141 /** | |
142 * okay = ifoRead_VTS_TMAPT(ifofile); | |
143 * | |
144 * Reads in the VTS Time Map Table, this data is only located in the video | |
145 * title set information file. This fills the ifofile->vts_tmapt structure | |
146 * and all its substructures. When pressent enables VOBU level time-based | |
147 * seeking for One_Sequential_PGC_Titles. | |
148 */ | |
149 int ifoRead_VTS_TMAPT(ifo_handle_t *); | |
150 | |
7029 | 151 /** |
152 * okay = ifoRead_C_ADT(ifofile); | |
153 * | |
154 * Reads in the cell address table for the menu VOB. For the video manager, | |
155 * this corresponds to the VIDEO_TS.VOB file, and for each title set, this | |
156 * corresponds to the VTS_XX_0.VOB file. This data is located in both the | |
157 * video manager and video title set information files. For VMGI files, this | |
158 * fills the ifofile->vmgm_c_adt structure and all its substructures. For VTSI | |
159 * files, this fills the ifofile->vtsm_c_adt structure. | |
160 */ | |
161 int ifoRead_C_ADT(ifo_handle_t *); | |
162 | |
163 /** | |
164 * okay = ifoRead_TITLE_C_ADT(ifofile); | |
165 * | |
166 * Reads in the cell address table for the video title set corresponding to | |
167 * this IFO file. This data is only located in the video title set information | |
168 * file. This structure is mandatory, and must be included in the VTSI file. | |
169 * This call fills the ifofile->vts_c_adt structure and its substructures. | |
170 */ | |
171 int ifoRead_TITLE_C_ADT(ifo_handle_t *); | |
172 | |
173 /** | |
174 * okay = ifoRead_VOBU_ADMAP(ifofile); | |
175 * | |
176 * Reads in the VOBU address map for the menu VOB. For the video manager, this | |
177 * corresponds to the VIDEO_TS.VOB file, and for each title set, this | |
178 * corresponds to the VTS_XX_0.VOB file. This data is located in both the | |
179 * video manager and video title set information files. For VMGI files, this | |
180 * fills the ifofile->vmgm_vobu_admap structure and all its substructures. For | |
181 * VTSI files, this fills the ifofile->vtsm_vobu_admap structure. | |
182 */ | |
183 int ifoRead_VOBU_ADMAP(ifo_handle_t *); | |
184 | |
185 /** | |
186 * okay = ifoRead_TITLE_VOBU_ADMAP(ifofile); | |
187 * | |
188 * Reads in the VOBU address map for the associated video title set. This data | |
189 * is only located in the video title set information file. This structure is | |
190 * mandatory, and must be included in the VTSI file. Fills the | |
191 * ifofile->vts_vobu_admap structure and its substructures. | |
192 */ | |
193 int ifoRead_TITLE_VOBU_ADMAP(ifo_handle_t *); | |
194 | |
195 /** | |
196 * okay = ifoRead_TXTDT_MGI(ifofile); | |
197 * | |
198 * Reads in the text data strings for the DVD. Fills the ifofile->txtdt_mgi | |
199 * structure and all its substructures. This data is only located in the video | |
200 * manager information file. This structure is mandatory, and must be included | |
201 * in the VMGI file. | |
202 */ | |
203 int ifoRead_TXTDT_MGI(ifo_handle_t *); | |
204 | |
205 /** | |
206 * The following functions are used for freeing parsed sections of the | |
207 * ifo_handle_t structure and the allocated substructures. The free calls | |
208 * below are safe: they will not mind if you attempt to free part of an IFO | |
209 * file which was not read in or which does not exist. | |
210 */ | |
211 void ifoFree_PTL_MAIT(ifo_handle_t *); | |
212 void ifoFree_VTS_ATRT(ifo_handle_t *); | |
213 void ifoFree_TT_SRPT(ifo_handle_t *); | |
214 void ifoFree_VTS_PTT_SRPT(ifo_handle_t *); | |
215 void ifoFree_FP_PGC(ifo_handle_t *); | |
216 void ifoFree_PGCIT(ifo_handle_t *); | |
217 void ifoFree_PGCI_UT(ifo_handle_t *); | |
15874 | 218 void ifoFree_VTS_TMAPT(ifo_handle_t *); |
7029 | 219 void ifoFree_C_ADT(ifo_handle_t *); |
220 void ifoFree_TITLE_C_ADT(ifo_handle_t *); | |
221 void ifoFree_VOBU_ADMAP(ifo_handle_t *); | |
222 void ifoFree_TITLE_VOBU_ADMAP(ifo_handle_t *); | |
223 void ifoFree_TXTDT_MGI(ifo_handle_t *); | |
224 | |
225 #ifdef __cplusplus | |
226 }; | |
227 #endif | |
228 #endif /* IFO_READ_H_INCLUDED */ |