Mercurial > mplayer.hg
annotate vobsub.h @ 30017:7119354805e7
Use on-stack subtitle struct for temporary storage for passing subtitles on
for rendering by libass.
This avoids mangling the static subtitle struct that is supposed to contain
the subtitles that will actually be displayed and it also minimally reduces
memory usage by freeing the subtitle lines again as early as possible.
author | reimar |
---|---|
date | Fri, 18 Dec 2009 19:29:33 +0000 |
parents | 9e739bdb049c |
children | c1a3f1bbba26 |
rev | line source |
---|---|
4080 | 1 #ifndef MPLAYER_VOBSUB_H |
2 #define MPLAYER_VOBSUB_H | |
3 | |
28051 | 4 void *vobsub_open(const char *subname, const char *const ifo, const int force, void** spu); |
5 void vobsub_reset(void *vob); | |
6 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); | |
7 int vobsub_get_packet(void *vobhandle, float pts,void** data, int* timestamp); | |
8 int vobsub_get_next_packet(void *vobhandle, void** data, int* timestamp); | |
9 void vobsub_close(void *this); | |
10 unsigned int vobsub_get_indexes_count(void * /* vobhandle */); | |
11 char *vobsub_get_id(void * /* vobhandle */, unsigned int /* index */); | |
4080 | 12 |
25251
80804f0631f4
Skip empty vobsub streams when selecting subtitles.
ulion
parents:
11589
diff
changeset
|
13 /// Get vobsub id by its index in the valid streams. |
28051 | 14 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
|
15 /// Get index in the valid streams by vobsub id. |
28051 | 16 int vobsub_get_index_by_id(void *vobhandle, int id); |
25251
80804f0631f4
Skip empty vobsub streams when selecting subtitles.
ulion
parents:
11589
diff
changeset
|
17 |
25292
a6a49a7a4be0
Move vobsub palette->yuv convert code into a common function.
ulion
parents:
25251
diff
changeset
|
18 /// Convert palette value in idx file to yuv. |
a6a49a7a4be0
Move vobsub palette->yuv convert code into a common function.
ulion
parents:
25251
diff
changeset
|
19 unsigned int vobsub_palette_to_yuv(unsigned int pal); |
25305 | 20 /// Convert rgb value to yuv. |
21 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
|
22 |
28051 | 23 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); |
24 void vobsub_out_output(void *me, const unsigned char *packet, int len, double pts); | |
25 void vobsub_out_close(void *me); | |
26 int vobsub_set_from_lang(void *vobhandle, unsigned char * lang); | |
27 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
|
28 |
4384 | 29 #endif /* MPLAYER_VOBSUB_H */ |
6674
f8551f89dd48
MEncoder vobsub ripping support, currently not compatible with windows vobsub, some bugs to be fixed. However it already works with mplayer, so it's a start.
atmos4
parents:
6110
diff
changeset
|
30 |