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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
0f892cd714b2 Use standard license header.
diego
parents: 26138
diff changeset
4 * Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
0f892cd714b2 Use standard license header.
diego
parents: 26138
diff changeset
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
0f892cd714b2 Use standard license header.
diego
parents: 26138
diff changeset
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
0f892cd714b2 Use standard license header.
diego
parents: 26138
diff changeset
9 * it under the terms of the GNU General Public License as published by
0f892cd714b2 Use standard license header.
diego
parents: 26138
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
0f892cd714b2 Use standard license header.
diego
parents: 26138
diff changeset
11 * (at your option) any later version.
0f892cd714b2 Use standard license header.
diego
parents: 26138
diff changeset
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
0f892cd714b2 Use standard license header.
diego
parents: 26138
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0f892cd714b2 Use standard license header.
diego
parents: 26138
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0f892cd714b2 Use standard license header.
diego
parents: 26138
diff changeset
16 * GNU General Public License for more details.
0f892cd714b2 Use standard license header.
diego
parents: 26138
diff changeset
17 *
0f892cd714b2 Use standard license header.
diego
parents: 26138
diff changeset
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
0f892cd714b2 Use standard license header.
diego
parents: 26138
diff changeset
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
0f892cd714b2 Use standard license header.
diego
parents: 26138
diff changeset
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
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
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
de4a66d99f41 Libass interface reworked:
eugeni
parents: 20446
diff changeset
45 extern ass_library_t* ass_library;
18937
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
46 extern int ass_enabled;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
47 extern float ass_font_scale;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
48 extern float ass_line_spacing;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
49 extern int ass_top_margin;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
50 extern int ass_bottom_margin;
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
51 extern int extract_embedded_fonts;
19495
31ac2e1a5695 New cmdline option: -ass-force-style.
eugeni
parents: 19401
diff changeset
52 extern char **ass_force_style_list;
19563
661d6c8a4adb Add -(no)ass-use-margins option.
eugeni
parents: 19495
diff changeset
53 extern int ass_use_margins;
19646
e6cdf80eb941 ass-color and ass-border-color options.
eugeni
parents: 19643
diff changeset
54 extern char* ass_color;
e6cdf80eb941 ass-color and ass-border-color options.
eugeni
parents: 19643
diff changeset
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
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents:
diff changeset
58
20477
de4a66d99f41 Libass interface reworked:
eugeni
parents: 20446
diff changeset
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
de4a66d99f41 Libass interface reworked:
eugeni
parents: 20446
diff changeset
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
71b3e04d0555 "()" to "(void)" function param list fixes
uau
parents: 21506
diff changeset
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
ba7bd4f7e322 Add global ass_force_reload flag.
eugeni
parents: 25535
diff changeset
72 extern int ass_force_reload;
ba7bd4f7e322 Add global ass_force_reload flag.
eugeni
parents: 25535
diff changeset
73 ass_image_t* ass_mp_render_frame(ass_renderer_t *priv, ass_track_t* track, long long now, int* detect_change);
ba7bd4f7e322 Add global ass_force_reload flag.
eugeni
parents: 25535
diff changeset
74
25897
aaebaf255b23 Consistently give all libass multiple inclusion guards a LIBASS_ prefix.
diego
parents: 25813
diff changeset
75 #endif /* LIBASS_MP_H */