Mercurial > mplayer.hg
annotate libass/ass_mp.h @ 30112:c26218c27e73
Deduplicate the mp_image planes allocation code.
The code in vf.c and mp_image.c is almost the same, though the one in vf.c
is more up-to-date/has more bug fixes and thus is used as the basis
(which is why the diff is so big).
author | reimar |
---|---|
date | Thu, 31 Dec 2009 23:09:35 +0000 |
parents | a2e4fd61dc4a |
children | 248d9886d0b0 |
rev | line source |
---|---|
20008
fa122b7c71c6
Add copyright notice and vim/emacs comments to libass and vf_ass.c.
eugeni
parents:
19652
diff
changeset
|
1 // -*- c-basic-offset: 8; indent-tabs-mode: t -*- |
fa122b7c71c6
Add copyright notice and vim/emacs comments to libass and vf_ass.c.
eugeni
parents:
19652
diff
changeset
|
2 // vim:ts=8:sw=8:noet:ai: |
fa122b7c71c6
Add copyright notice and vim/emacs comments to libass and vf_ass.c.
eugeni
parents:
19652
diff
changeset
|
3 /* |
26723 | 4 * Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com> |
5 * | |
26738
588ce97b44f2
Speak of libass instead of MPlayer in the libass license headers.
diego
parents:
26723
diff
changeset
|
6 * This file is part of libass. |
26723 | 7 * |
26738
588ce97b44f2
Speak of libass instead of MPlayer in the libass license headers.
diego
parents:
26723
diff
changeset
|
8 * libass is free software; you can redistribute it and/or modify |
26723 | 9 * it under the terms of the GNU General Public License as published by |
10 * the Free Software Foundation; either version 2 of the License, or | |
11 * (at your option) any later version. | |
12 * | |
26738
588ce97b44f2
Speak of libass instead of MPlayer in the libass license headers.
diego
parents:
26723
diff
changeset
|
13 * libass is distributed in the hope that it will be useful, |
26723 | 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 * GNU General Public License for more details. | |
17 * | |
18 * You should have received a copy of the GNU General Public License along | |
26738
588ce97b44f2
Speak of libass instead of MPlayer in the libass license headers.
diego
parents:
26723
diff
changeset
|
19 * with libass; if not, write to the Free Software Foundation, Inc., |
26723 | 20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
21 */ | |
20008
fa122b7c71c6
Add copyright notice and vim/emacs comments to libass and vf_ass.c.
eugeni
parents:
19652
diff
changeset
|
22 |
25897
aaebaf255b23
Consistently give all libass multiple inclusion guards a LIBASS_ prefix.
diego
parents:
25813
diff
changeset
|
23 #ifndef LIBASS_MP_H |
aaebaf255b23
Consistently give all libass multiple inclusion guards a LIBASS_ prefix.
diego
parents:
25813
diff
changeset
|
24 #define LIBASS_MP_H |
18937 | 25 |
19401
c0c3a2f8bb32
Add subdata to ass_track conversion for external subtitles.
eugeni
parents:
18937
diff
changeset
|
26 #include "subreader.h" |
30031
402038079faa
Fix compilation with internal ASS when no ass header is installed system-wide.
reimar
parents:
30026
diff
changeset
|
27 #ifdef CONFIG_ASS_INTERNAL |
26138
74055622161d
Add missing header #includes to fix 'make checkheaders'.
diego
parents:
25897
diff
changeset
|
28 #include "ass.h" |
30026
868442ec038e
Make ass_mp.h use the system-libass headers when the internal one is disabled.
reimar
parents:
26738
diff
changeset
|
29 #else |
868442ec038e
Make ass_mp.h use the system-libass headers when the internal one is disabled.
reimar
parents:
26738
diff
changeset
|
30 #include <ass/ass.h> |
868442ec038e
Make ass_mp.h use the system-libass headers when the internal one is disabled.
reimar
parents:
26738
diff
changeset
|
31 #endif |
30065
d5d20b8256b7
Some ugly hacks to make compiling against a newer external version of libass work.
reimar
parents:
30031
diff
changeset
|
32 #if defined(LIBASS_VERSION) && LIBASS_VERSION >= 0x00908000 |
d5d20b8256b7
Some ugly hacks to make compiling against a newer external version of libass work.
reimar
parents:
30031
diff
changeset
|
33 #define ass_library_t ASS_Library |
d5d20b8256b7
Some ugly hacks to make compiling against a newer external version of libass work.
reimar
parents:
30031
diff
changeset
|
34 #define ass_track_t ASS_Track |
d5d20b8256b7
Some ugly hacks to make compiling against a newer external version of libass work.
reimar
parents:
30031
diff
changeset
|
35 #define ass_track_s ASS_Track |
d5d20b8256b7
Some ugly hacks to make compiling against a newer external version of libass work.
reimar
parents:
30031
diff
changeset
|
36 #define ass_renderer_t ASS_Renderer |
d5d20b8256b7
Some ugly hacks to make compiling against a newer external version of libass work.
reimar
parents:
30031
diff
changeset
|
37 #define ass_image_t ASS_Image |
d5d20b8256b7
Some ugly hacks to make compiling against a newer external version of libass work.
reimar
parents:
30031
diff
changeset
|
38 #define ass_style_t ASS_Style |
d5d20b8256b7
Some ugly hacks to make compiling against a newer external version of libass work.
reimar
parents:
30031
diff
changeset
|
39 #define ass_event_t ASS_Event |
30066
a2e4fd61dc4a
Revert renaming of process_force_style to restore compilation against
reimar
parents:
30065
diff
changeset
|
40 #define process_force_style(t) ass_process_force_style(t) |
a2e4fd61dc4a
Revert renaming of process_force_style to restore compilation against
reimar
parents:
30065
diff
changeset
|
41 #else |
a2e4fd61dc4a
Revert renaming of process_force_style to restore compilation against
reimar
parents:
30065
diff
changeset
|
42 void process_force_style(ass_track_t* track); |
30065
d5d20b8256b7
Some ugly hacks to make compiling against a newer external version of libass work.
reimar
parents:
30031
diff
changeset
|
43 #endif |
19401
c0c3a2f8bb32
Add subdata to ass_track conversion for external subtitles.
eugeni
parents:
18937
diff
changeset
|
44 |
20477 | 45 extern ass_library_t* ass_library; |
18937 | 46 extern int ass_enabled; |
47 extern float ass_font_scale; | |
48 extern float ass_line_spacing; | |
49 extern int ass_top_margin; | |
50 extern int ass_bottom_margin; | |
51 extern int extract_embedded_fonts; | |
19495 | 52 extern char **ass_force_style_list; |
19563 | 53 extern int ass_use_margins; |
19646 | 54 extern char* ass_color; |
55 extern char* ass_border_color; | |
19652
2c016957360a
Add -ass-styles option. It allows to load styles from a file and use them
eugeni
parents:
19646
diff
changeset
|
56 extern char* ass_styles_file; |
23134
1de2a46a0987
Add -ass-hinting option for setting font hinting method.
eugeni
parents:
22886
diff
changeset
|
57 extern int ass_hinting; |
18937 | 58 |
20477 | 59 ass_track_t* ass_default_track(ass_library_t* library); |
19643
f48d49b400cf
Add support for rendering matroska plaintext subtitles with libass.
eugeni
parents:
19563
diff
changeset
|
60 int ass_process_subtitle(ass_track_t* track, subtitle* sub); |
20477 | 61 ass_track_t* ass_read_subdata(ass_library_t* library, sub_data* subdata, double fps); |
19401
c0c3a2f8bb32
Add subdata to ass_track conversion for external subtitles.
eugeni
parents:
18937
diff
changeset
|
62 |
23134
1de2a46a0987
Add -ass-hinting option for setting font hinting method.
eugeni
parents:
22886
diff
changeset
|
63 void ass_configure(ass_renderer_t* priv, int w, int h, int hinting); |
20706
6ae01628975f
Initialize fontconfig in VFCTRL_INIT_EOSD handler.
eugeni
parents:
20502
diff
changeset
|
64 void ass_configure_fonts(ass_renderer_t* priv); |
22886 | 65 ass_library_t* ass_init(void); |
20446
e8adc3778348
Split ass_configure() into several smaller functions.
eugeni
parents:
20008
diff
changeset
|
66 |
21506
8174acbf0633
Speed up ASS subtitles display by detecting changes between two consecutive
eugeni
parents:
20706
diff
changeset
|
67 typedef struct { |
8174acbf0633
Speed up ASS subtitles display by detecting changes between two consecutive
eugeni
parents:
20706
diff
changeset
|
68 ass_image_t* imgs; |
8174acbf0633
Speed up ASS subtitles display by detecting changes between two consecutive
eugeni
parents:
20706
diff
changeset
|
69 int changed; |
8174acbf0633
Speed up ASS subtitles display by detecting changes between two consecutive
eugeni
parents:
20706
diff
changeset
|
70 } mp_eosd_images_t; |
8174acbf0633
Speed up ASS subtitles display by detecting changes between two consecutive
eugeni
parents:
20706
diff
changeset
|
71 |
25813 | 72 extern int ass_force_reload; |
73 ass_image_t* ass_mp_render_frame(ass_renderer_t *priv, ass_track_t* track, long long now, int* detect_change); | |
74 | |
25897
aaebaf255b23
Consistently give all libass multiple inclusion guards a LIBASS_ prefix.
diego
parents:
25813
diff
changeset
|
75 #endif /* LIBASS_MP_H */ |