Mercurial > mplayer.hg
annotate vobsub.h @ 31816:ab9824b6acc7
dvd: Improve seeking by chapters.
The current code seeks to the start of the chapter. From this position, it then
tries to figure out the starting cell. This is completely suboptimal and error
prone since the starting cell can be directly deduced from the chapter.
patch by Olivier Rolland, billl users.sourceforge net
author | diego |
---|---|
date | Sun, 01 Aug 2010 22:51:15 +0000 |
parents | 32725ca88fed |
children |
rev | line source |
---|---|
30429
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
1 /* |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
2 * This file is part of MPlayer. |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
3 * |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
4 * MPlayer is free software; you can redistribute it and/or modify |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
5 * it under the terms of the GNU General Public License as published by |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
6 * the Free Software Foundation; either version 2 of the License, or |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
7 * (at your option) any later version. |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
8 * |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
9 * MPlayer is distributed in the hope that it will be useful, |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
12 * GNU General Public License for more details. |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
13 * |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
14 * You should have received a copy of the GNU General Public License along |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
15 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
17 */ |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
28051
diff
changeset
|
18 |
4080 | 19 #ifndef MPLAYER_VOBSUB_H |
20 #define MPLAYER_VOBSUB_H | |
21 | |
28051 | 22 void *vobsub_open(const char *subname, const char *const ifo, const int force, void** spu); |
23 void vobsub_reset(void *vob); | |
24 int vobsub_parse_ifo(void* this, const char *const name, unsigned int *palette, unsigned int *width, unsigned int *height, int force, int sid, char *langid); | |
25 int vobsub_get_packet(void *vobhandle, float pts,void** data, int* timestamp); | |
26 int vobsub_get_next_packet(void *vobhandle, void** data, int* timestamp); | |
27 void vobsub_close(void *this); | |
28 unsigned int vobsub_get_indexes_count(void * /* vobhandle */); | |
29 char *vobsub_get_id(void * /* vobhandle */, unsigned int /* index */); | |
4080 | 30 |
25251
80804f0631f4
Skip empty vobsub streams when selecting subtitles.
ulion
parents:
11589
diff
changeset
|
31 /// Get vobsub id by its index in the valid streams. |
28051 | 32 int vobsub_get_id_by_index(void *vobhandle, unsigned int index); |
25251
80804f0631f4
Skip empty vobsub streams when selecting subtitles.
ulion
parents:
11589
diff
changeset
|
33 /// Get index in the valid streams by vobsub id. |
28051 | 34 int vobsub_get_index_by_id(void *vobhandle, int id); |
25251
80804f0631f4
Skip empty vobsub streams when selecting subtitles.
ulion
parents:
11589
diff
changeset
|
35 |
25292
a6a49a7a4be0
Move vobsub palette->yuv convert code into a common function.
ulion
parents:
25251
diff
changeset
|
36 /// Convert palette value in idx file to yuv. |
a6a49a7a4be0
Move vobsub palette->yuv convert code into a common function.
ulion
parents:
25251
diff
changeset
|
37 unsigned int vobsub_palette_to_yuv(unsigned int pal); |
25305 | 38 /// Convert rgb value to yuv. |
39 unsigned int vobsub_rgb_to_yuv(unsigned int rgb); | |
25292
a6a49a7a4be0
Move vobsub palette->yuv convert code into a common function.
ulion
parents:
25251
diff
changeset
|
40 |
28051 | 41 void *vobsub_out_open(const char *basename, const unsigned int *palette, unsigned int orig_width, unsigned int orig_height, const char *id, unsigned int index); |
42 void vobsub_out_output(void *me, const unsigned char *packet, int len, double pts); | |
43 void vobsub_out_close(void *me); | |
44 int vobsub_set_from_lang(void *vobhandle, unsigned char * lang); | |
45 void vobsub_seek(void * vobhandle, float pts); | |
10917
d45870f67728
Forced subtitles patch by Arne Driescher <driescher@mpi-magdeburg.mpg.de>
attila
parents:
8535
diff
changeset
|
46 |
4384 | 47 #endif /* MPLAYER_VOBSUB_H */ |