2 * This file is part of MPlayer.
4 * MPlayer is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * MPlayer is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License along
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 #ifndef MPLAYER_VOBSUB_H
20 #define MPLAYER_VOBSUB_H
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 */);
31 /// Get vobsub id by its index in the valid streams.
32 int vobsub_get_id_by_index(void *vobhandle
, unsigned int index
);
33 /// Get index in the valid streams by vobsub id.
34 int vobsub_get_index_by_id(void *vobhandle
, int id
);
36 /// Convert palette value in idx file to yuv.
37 unsigned int vobsub_palette_to_yuv(unsigned int pal
);
38 /// Convert rgb value to yuv.
39 unsigned int vobsub_rgb_to_yuv(unsigned int rgb
);
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
);
47 #endif /* MPLAYER_VOBSUB_H */