Mercurial > mplayer.hg
annotate mpcommon.h @ 35024:60c7713b1061
Support subrip format subtitles.
Patch by Philip Langdale [philipl overt org].
author | reimar |
---|---|
date | Sat, 25 Aug 2012 10:52:00 +0000 |
parents | c52940fe54dd |
children | 3edaed3c1d60 |
rev | line source |
---|---|
30429
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
30065
diff
changeset
|
1 /* |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
30065
diff
changeset
|
2 * This file is part of MPlayer. |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
30065
diff
changeset
|
3 * |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
30065
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:
30065
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:
30065
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:
30065
diff
changeset
|
7 * (at your option) any later version. |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
30065
diff
changeset
|
8 * |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
30065
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:
30065
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:
30065
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:
30065
diff
changeset
|
12 * GNU General Public License for more details. |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
30065
diff
changeset
|
13 * |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
30065
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:
30065
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:
30065
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:
30065
diff
changeset
|
17 */ |
c1a3f1bbba26
Add license header to all top-level files missing them.
diego
parents:
30065
diff
changeset
|
18 |
26029 | 19 #ifndef MPLAYER_MPCOMMON_H |
20 #define MPLAYER_MPCOMMON_H | |
25553
6ac1ece1f9fe
Add multiple inclusion guards to all header files that lack them.
diego
parents:
24165
diff
changeset
|
21 |
32063
bfd3e0d9ab9d
Move mconfig extern variable declaration to mpcommon.h.
diego
parents:
32062
diff
changeset
|
22 #include "m_config.h" |
31430
a2c6762a9adc
Move noconfig_opts extern variable declaration to mpcommon.h.
diego
parents:
30907
diff
changeset
|
23 #include "m_option.h" |
32454
69d3be4d52a2
Create a new directory, "sub", for subtitles and OSD related code.
cigaes
parents:
32383
diff
changeset
|
24 #include "sub/subreader.h" |
26131
83c95bd31aab
Add necessary #includes to pass 'make checkheaders'.
diego
parents:
26090
diff
changeset
|
25 #include "libmpdemux/demuxer.h" |
32461 | 26 #include "sub/ass_mp.h" |
26131
83c95bd31aab
Add necessary #includes to pass 'make checkheaders'.
diego
parents:
26090
diff
changeset
|
27 |
32664 | 28 #define ROUND(x) ((int)((x) < 0 ? (x) - 0.5 : (x) + 0.5)) |
29 | |
33577
c111d9e9cfb0
Move init_vo_spudec to mp_common.c and reuse it in mencoder.
reimar
parents:
32864
diff
changeset
|
30 struct stream; |
32864
ccdfd500453c
Apply forgotten part of previous patch, adding calc_a_pts to mpcommon.h.
reimar
parents:
32773
diff
changeset
|
31 struct sh_audio; |
32171
d15f1bca9ae0
Replace libmpdemux/stheader.h #include by 'struct sh_video' declaration.
diego
parents:
32170
diff
changeset
|
32 struct sh_video; |
33577
c111d9e9cfb0
Move init_vo_spudec to mp_common.c and reuse it in mencoder.
reimar
parents:
32864
diff
changeset
|
33 struct sh_sub; |
32171
d15f1bca9ae0
Replace libmpdemux/stheader.h #include by 'struct sh_video' declaration.
diego
parents:
32170
diff
changeset
|
34 |
22233
5bf6c178f09a
Move some subtitle handling from mplayer.c to mpcommon.c and share it with mencoder.c
reimar
parents:
diff
changeset
|
35 extern double sub_last_pts; |
31792
55dacfca4a43
Rename libass types to match upstream libass >= 0.9.7
greg
parents:
31511
diff
changeset
|
36 extern ASS_Track *ass_track; |
22233
5bf6c178f09a
Move some subtitle handling from mplayer.c to mpcommon.c and share it with mencoder.c
reimar
parents:
diff
changeset
|
37 extern subtitle *vo_sub_last; |
33577
c111d9e9cfb0
Move init_vo_spudec to mp_common.c and reuse it in mencoder.
reimar
parents:
32864
diff
changeset
|
38 extern char *spudec_ifo; |
c111d9e9cfb0
Move init_vo_spudec to mp_common.c and reuse it in mencoder.
reimar
parents:
32864
diff
changeset
|
39 extern int forced_subs_only; |
28325 | 40 |
32043
f6249bc89c38
Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents:
32032
diff
changeset
|
41 extern int sub_auto; |
31489 | 42 extern float sub_delay; |
43 extern float sub_fps; | |
32032 | 44 extern char **sub_name; |
32773 | 45 extern char **sub_paths; |
32043
f6249bc89c38
Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents:
32032
diff
changeset
|
46 extern char *font_name; |
f6249bc89c38
Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents:
32032
diff
changeset
|
47 extern char *sub_font_name; |
32060
c3b7fc7eb796
Move audio_lang / dvdsub_lang extern variable declarations to mpcommon.h.
diego
parents:
32043
diff
changeset
|
48 extern char *audio_lang; |
c3b7fc7eb796
Move audio_lang / dvdsub_lang extern variable declarations to mpcommon.h.
diego
parents:
32043
diff
changeset
|
49 extern char *dvdsub_lang; |
c3b7fc7eb796
Move audio_lang / dvdsub_lang extern variable declarations to mpcommon.h.
diego
parents:
32043
diff
changeset
|
50 |
32043
f6249bc89c38
Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents:
32032
diff
changeset
|
51 extern float font_factor; |
f6249bc89c38
Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents:
32032
diff
changeset
|
52 extern double force_fps; |
32061
dcdcbe7f6713
Move video_time_usage / vout_time_usage extern var declarations to mpcommon.h.
diego
parents:
32060
diff
changeset
|
53 extern double video_time_usage; |
dcdcbe7f6713
Move video_time_usage / vout_time_usage extern var declarations to mpcommon.h.
diego
parents:
32060
diff
changeset
|
54 extern double vout_time_usage; |
31489 | 55 |
32029
b81172c6dd5c
cosmetics: Group all extern variable declarations together.
diego
parents:
31792
diff
changeset
|
56 extern int disable_system_conf; |
b81172c6dd5c
cosmetics: Group all extern variable declarations together.
diego
parents:
31792
diff
changeset
|
57 extern int disable_user_conf; |
32043
f6249bc89c38
Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents:
32032
diff
changeset
|
58 extern int audio_id; |
f6249bc89c38
Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents:
32032
diff
changeset
|
59 extern int video_id; |
f6249bc89c38
Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents:
32032
diff
changeset
|
60 extern int dvdsub_id; |
f6249bc89c38
Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents:
32032
diff
changeset
|
61 extern int vobsub_id; |
32029
b81172c6dd5c
cosmetics: Group all extern variable declarations together.
diego
parents:
31792
diff
changeset
|
62 |
32062
734f9a57c186
Move stream_cache_* extern variable declarations to mpcommon.h.
diego
parents:
32061
diff
changeset
|
63 extern int stream_cache_size; |
734f9a57c186
Move stream_cache_* extern variable declarations to mpcommon.h.
diego
parents:
32061
diff
changeset
|
64 extern float stream_cache_min_percent; |
734f9a57c186
Move stream_cache_* extern variable declarations to mpcommon.h.
diego
parents:
32061
diff
changeset
|
65 extern float stream_cache_seek_min_percent; |
734f9a57c186
Move stream_cache_* extern variable declarations to mpcommon.h.
diego
parents:
32061
diff
changeset
|
66 |
31511
13ca93203358
Factorize MPlayer/MEncoder version string handling.
diego
parents:
31489
diff
changeset
|
67 extern const char *mencoder_version; |
13ca93203358
Factorize MPlayer/MEncoder version string handling.
diego
parents:
31489
diff
changeset
|
68 extern const char *mplayer_version; |
13ca93203358
Factorize MPlayer/MEncoder version string handling.
diego
parents:
31489
diff
changeset
|
69 |
32063
bfd3e0d9ab9d
Move mconfig extern variable declaration to mpcommon.h.
diego
parents:
32062
diff
changeset
|
70 extern m_config_t *mconfig; |
31430
a2c6762a9adc
Move noconfig_opts extern variable declaration to mpcommon.h.
diego
parents:
30907
diff
changeset
|
71 extern const m_option_t noconfig_opts[]; |
a2c6762a9adc
Move noconfig_opts extern variable declaration to mpcommon.h.
diego
parents:
30907
diff
changeset
|
72 |
28325 | 73 void print_version(const char* name); |
33577
c111d9e9cfb0
Move init_vo_spudec to mp_common.c and reuse it in mencoder.
reimar
parents:
32864
diff
changeset
|
74 void init_vo_spudec(struct stream *stream, struct sh_video *sh_video, struct sh_sub *sh_sub); |
32095
96bdac8d878d
Remove stheader.h include from mpcommon.h since it
reimar
parents:
32063
diff
changeset
|
75 void update_subtitles(struct sh_video *sh_video, double refpts, demux_stream_t *d_dvdsub, int reset); |
96bdac8d878d
Remove stheader.h include from mpcommon.h since it
reimar
parents:
32063
diff
changeset
|
76 void update_teletext(struct sh_video *sh_video, demuxer_t *demuxer, int reset); |
26090
c585e2ad8ebf
Select audio stream in mplayer and mencoder, overriding demuxer decision.
eugeni
parents:
26029
diff
changeset
|
77 int select_audio(demuxer_t* demuxer, int audio_id, char* audio_lang); |
29670
2e3751815a21
Add support for displaying subtitles on the command-line when playing
reimar
parents:
29669
diff
changeset
|
78 void set_osd_subtitle(subtitle *subs); |
25553
6ac1ece1f9fe
Add multiple inclusion guards to all header files that lack them.
diego
parents:
24165
diff
changeset
|
79 |
33877
c52940fe54dd
Move cfg_inc_verbose and cfg_include into mpcommon.c.
diego
parents:
33577
diff
changeset
|
80 int cfg_inc_verbose(m_option_t *conf); |
c52940fe54dd
Move cfg_inc_verbose and cfg_include into mpcommon.c.
diego
parents:
33577
diff
changeset
|
81 int cfg_include(m_option_t *conf, const char *filename); |
c52940fe54dd
Move cfg_inc_verbose and cfg_include into mpcommon.c.
diego
parents:
33577
diff
changeset
|
82 |
32383
f6e78eef2e1b
Avoid duplicating common init code between MPlayer and mencoder.
reimar
parents:
32209
diff
changeset
|
83 void common_preinit(void); |
f6e78eef2e1b
Avoid duplicating common init code between MPlayer and mencoder.
reimar
parents:
32209
diff
changeset
|
84 int common_init(void); |
f6e78eef2e1b
Avoid duplicating common init code between MPlayer and mencoder.
reimar
parents:
32209
diff
changeset
|
85 |
32864
ccdfd500453c
Apply forgotten part of previous patch, adding calc_a_pts to mpcommon.h.
reimar
parents:
32773
diff
changeset
|
86 double calc_a_pts(struct sh_audio *sh_audio, demux_stream_t *d_audio); |
ccdfd500453c
Apply forgotten part of previous patch, adding calc_a_pts to mpcommon.h.
reimar
parents:
32773
diff
changeset
|
87 |
26029 | 88 #endif /* MPLAYER_MPCOMMON_H */ |