summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@blackbox>2009-08-06 13:04:20 +0200
committerGrigori Goronzy <greg@blackbox>2009-08-06 13:15:17 +0200
commit892423a588aea8fb14e84bdb9527df97e945ec57 (patch)
treeca98694d710a7b276b79e278fe06579736a5cdc9
parent5ddad362f52080c4f2a46e78fc4cca4f8ca6a2b0 (diff)
downloadlibass-892423a588aea8fb14e84bdb9527df97e945ec57.tar.bz2
libass-892423a588aea8fb14e84bdb9527df97e945ec57.tar.xz
Rename typedefs (breaks API)
Rename all typedefs from the convention foo_bar_t, which can possibly conflict with POSIX types, to FooBar (and ASS_FooBar for public API typedefs). Fix formatting and stray comments while at it.
-rw-r--r--libass/ass.c128
-rw-r--r--libass/ass.h82
-rw-r--r--libass/ass_bitmap.c36
-rw-r--r--libass/ass_bitmap.h14
-rw-r--r--libass/ass_cache.c124
-rw-r--r--libass/ass_cache.h108
-rw-r--r--libass/ass_cache_template.h12
-rw-r--r--libass/ass_drawing.c54
-rw-r--r--libass/ass_drawing.h24
-rw-r--r--libass/ass_font.c44
-rw-r--r--libass/ass_font.h28
-rw-r--r--libass/ass_fontconfig.c36
-rw-r--r--libass/ass_fontconfig.h16
-rw-r--r--libass/ass_library.c18
-rw-r--r--libass/ass_library.h4
-rw-r--r--libass/ass_render.c441
-rw-r--r--libass/ass_types.h27
-rw-r--r--libass/ass_utils.c6
-rw-r--r--libass/ass_utils.h6
-rw-r--r--test/test.c14
20 files changed, 614 insertions, 608 deletions
diff --git a/libass/ass.c b/libass/ass.c
index 12d2451..6c28a97 100644
--- a/libass/ass.c
+++ b/libass/ass.c
@@ -38,11 +38,16 @@
#include "ass_utils.h"
#include "ass_library.h"
-typedef enum { PST_UNKNOWN =
- 0, PST_INFO, PST_STYLES, PST_EVENTS, PST_FONTS } parser_state_t;
+typedef enum {
+ PST_UNKNOWN = 0,
+ PST_INFO,
+ PST_STYLES,
+ PST_EVENTS,
+ PST_FONTS
+} ParserState;
struct parser_priv {
- parser_state_t state;
+ ParserState state;
char *fontname;
char *fontdata;
int fontdata_size;
@@ -52,7 +57,7 @@ struct parser_priv {
#define ASS_STYLES_ALLOC 20
#define ASS_EVENTS_ALLOC 200
-void ass_free_track(ass_track_t *track)
+void ass_free_track(ASS_Track *track)
{
int i;
@@ -84,7 +89,7 @@ void ass_free_track(ass_track_t *track)
/// \brief Allocate a new style struct
/// \param track track
/// \return style id
-int ass_alloc_style(ass_track_t *track)
+int ass_alloc_style(ASS_Track *track)
{
int sid;
@@ -93,20 +98,20 @@ int ass_alloc_style(ass_track_t *track)
if (track->n_styles == track->max_styles) {
track->max_styles += ASS_STYLES_ALLOC;
track->styles =
- (ass_style_t *) realloc(track->styles,
- sizeof(ass_style_t) *
- track->max_styles);
+ (ASS_Style *) realloc(track->styles,
+ sizeof(ASS_Style) *
+ track->max_styles);
}
sid = track->n_styles++;
- memset(track->styles + sid, 0, sizeof(ass_style_t));
+ memset(track->styles + sid, 0, sizeof(ASS_Style));
return sid;
}
/// \brief Allocate a new event struct
/// \param track track
/// \return event id
-int ass_alloc_event(ass_track_t *track)
+int ass_alloc_event(ASS_Track *track)
{
int eid;
@@ -115,19 +120,19 @@ int ass_alloc_event(ass_track_t *track)
if (track->n_events == track->max_events) {
track->max_events += ASS_EVENTS_ALLOC;
track->events =
- (ass_event_t *) realloc(track->events,
- sizeof(ass_event_t) *
- track->max_events);
+ (ASS_Event *) realloc(track->events,
+ sizeof(ASS_Event) *
+ track->max_events);
}
eid = track->n_events++;
- memset(track->events + eid, 0, sizeof(ass_event_t));
+ memset(track->events + eid, 0, sizeof(ASS_Event));
return eid;
}
-void ass_free_event(ass_track_t *track, int eid)
+void ass_free_event(ASS_Track *track, int eid)
{
- ass_event_t *event = track->events + eid;
+ ASS_Event *event = track->events + eid;
if (event->Name)
free(event->Name);
if (event->Effect)
@@ -138,9 +143,9 @@ void ass_free_event(ass_track_t *track, int eid)
free(event->render_priv);
}
-void ass_free_style(ass_track_t *track, int sid)
+void ass_free_style(ASS_Track *track, int sid)
{
- ass_style_t *style = track->styles + sid;
+ ASS_Style *style = track->styles + sid;
if (style->Name)
free(style->Name);
if (style->FontName)
@@ -173,7 +178,7 @@ static void rskip_spaces(char **str, char *limit)
* Returnes 0 if no styles found => expects at least 1 style.
* Parsing code always adds "Default" style in the end.
*/
-static int lookup_style(ass_track_t *track, char *name)
+static int lookup_style(ASS_Track *track, char *name)
{
int i;
if (*name == '*')
@@ -190,14 +195,14 @@ static int lookup_style(ass_track_t *track, char *name)
return i; // use the first style
}
-static uint32_t string2color(ass_library_t *library, char *p)
+static uint32_t string2color(ASS_Library *library, char *p)
{
uint32_t tmp;
(void) strtocolor(library, &p, &tmp);
return tmp;
}
-static long long string2timecode(ass_library_t *library, char *p)
+static long long string2timecode(ASS_Library *library, char *p)
{
unsigned h, m, s, ms;
long long tm;
@@ -294,14 +299,14 @@ static char *next_token(char **str)
* \param str string to parse, zero-terminated
* \param n_ignored number of format options to skip at the beginning
*/
-static int process_event_tail(ass_track_t *track, ass_event_t *event,
+static int process_event_tail(ASS_Track *track, ASS_Event *event,
char *str, int n_ignored)
{
char *token;
char *tname;
char *p = str;
int i;
- ass_event_t *target = event;
+ ASS_Event *target = event;
char *format = strdup(track->event_format);
char *q = format; // format scanning pointer
@@ -357,10 +362,10 @@ static int process_event_tail(ass_track_t *track, ass_event_t *event,
* \param track track to apply overrides to
* The format for overrides is [StyleName.]Field=Value
*/
-void ass_process_force_style(ass_track_t *track)
+void ass_process_force_style(ASS_Track *track)
{
char **fs, *eq, *dt, *style, *tname, *token;
- ass_style_t *target;
+ ASS_Style *target;
int sid;
char **list = track->library->style_overrides;
@@ -436,7 +441,7 @@ void ass_process_force_style(ass_track_t *track)
* \param str string to parse, zero-terminated
* Allocates a new style struct.
*/
-static int process_style(ass_track_t *track, char *str)
+static int process_style(ASS_Track *track, char *str)
{
char *token;
@@ -445,8 +450,8 @@ static int process_style(ass_track_t *track, char *str)
char *format;
char *q; // format scanning pointer
int sid;
- ass_style_t *style;
- ass_style_t *target;
+ ASS_Style *style;
+ ASS_Style *target;
if (!track->style_format) {
// no style format header
@@ -474,7 +479,8 @@ static int process_style(ass_track_t *track, char *str)
style = track->styles + sid;
target = style;
-// fill style with some default values
+
+ // fill style with some default values
style->ScaleX = 100.;
style->ScaleY = 100.;
@@ -482,8 +488,6 @@ static int process_style(ass_track_t *track, char *str)
NEXT(q, tname);
NEXT(p, token);
-// ALIAS(TertiaryColour,OutlineColour) // ignore TertiaryColour; it appears only in SSA, and is overridden by BackColour
-
if (0) { // cool ;)
STRVAL(Name)
if ((strcmp(target->Name, "Default") == 0)
@@ -539,7 +543,7 @@ static int process_style(ass_track_t *track, char *str)
}
-static int process_styles_line(ass_track_t *track, char *str)
+static int process_styles_line(ASS_Track *track, char *str)
{
if (!strncmp(str, "Format:", 7)) {
char *p = str + 7;
@@ -555,7 +559,7 @@ static int process_styles_line(ass_track_t *track, char *str)
return 0;
}
-static int process_info_line(ass_track_t *track, char *str)
+static int process_info_line(ASS_Track *track, char *str)
{
if (!strncmp(str, "PlayResX:", 9)) {
track->PlayResX = atoi(str + 9);
@@ -571,7 +575,7 @@ static int process_info_line(ass_track_t *track, char *str)
return 0;
}
-static void event_format_fallback(ass_track_t *track)
+static void event_format_fallback(ASS_Track *track)
{
track->parser_priv->state = PST_EVENTS;
if (track->track_type == TRACK_TYPE_SSA)
@@ -584,7 +588,7 @@ static void event_format_fallback(ass_track_t *track)
"No event format found, using fallback");
}
-static int process_events_line(ass_track_t *track, char *str)
+static int process_events_line(ASS_Track *track, char *str)
{
if (!strncmp(str, "Format:", 7)) {
char *p = str + 7;
@@ -596,7 +600,7 @@ static int process_events_line(ass_track_t *track, char *str)
// They have slightly different format and are parsed in ass_process_chunk,
// called directly from demuxer
int eid;
- ass_event_t *event;
+ ASS_Event *event;
str += 9;
skip_spaces(&str);
@@ -636,7 +640,7 @@ static unsigned char *decode_chars(unsigned char c1, unsigned char c2,
return dst;
}
-static int decode_font(ass_track_t *track)
+static int decode_font(ASS_Track *track)
{
unsigned char *p;
unsigned char *q;
@@ -684,7 +688,7 @@ static int decode_font(ass_track_t *track)
return 0;
}
-static int process_fonts_line(ass_track_t *track, char *str)
+static int process_fonts_line(ASS_Track *track, char *str)
{
int len;
@@ -730,7 +734,7 @@ static int process_fonts_line(ass_track_t *track, char *str)
* \param track track
* \param str string to parse, zero-terminated
*/
-static int process_line(ass_track_t *track, char *str)
+static int process_line(ASS_Track *track, char *str)
{
if (!strncasecmp(str, "[Script Info]", 13)) {
track->parser_priv->state = PST_INFO;
@@ -771,7 +775,7 @@ static int process_line(ass_track_t *track, char *str)
return 0;
}
-static int process_text(ass_track_t *track, char *str)
+static int process_text(ASS_Track *track, char *str)
{
char *p = str;
while (1) {
@@ -804,7 +808,7 @@ static int process_text(ass_track_t *track, char *str)
* \param data string to parse
* \param size length of data
*/
-void ass_process_data(ass_track_t *track, char *data, int size)
+void ass_process_data(ASS_Track *track, char *data, int size)
{
char *str = malloc(size + 1);
@@ -823,7 +827,7 @@ void ass_process_data(ass_track_t *track, char *data, int size)
* \param size length of data
CodecPrivate section contains [Stream Info] and [V4+ Styles] ([V4 Styles] for SSA) sections
*/
-void ass_process_codec_private(ass_track_t *track, char *data, int size)
+void ass_process_codec_private(ASS_Track *track, char *data, int size)
{
ass_process_data(track, data, size);
@@ -835,7 +839,7 @@ void ass_process_codec_private(ass_track_t *track, char *data, int size)
ass_process_force_style(track);
}
-static int check_duplicate_event(ass_track_t *track, int ReadOrder)
+static int check_duplicate_event(ASS_Track *track, int ReadOrder)
{
int i;
for (i = 0; i < track->n_events - 1; ++i) // ignoring last event, it is the one we are comparing with
@@ -852,14 +856,14 @@ static int check_duplicate_event(ass_track_t *track, int ReadOrder)
* \param timecode starting time of the event (milliseconds)
* \param duration duration of the event (milliseconds)
*/
-void ass_process_chunk(ass_track_t *track, char *data, int size,
+void ass_process_chunk(ASS_Track *track, char *data, int size,
long long timecode, long long duration)
{
char *str;
int eid;
char *p;
char *token;
- ass_event_t *event;
+ ASS_Event *event;
if (!track->event_format) {
ass_msg(track->library, MSGL_WARN, "Event format header missing");
@@ -908,7 +912,7 @@ void ass_process_chunk(ass_track_t *track, char *data, int size,
* \param size buffer size
* \return a pointer to recoded buffer, caller is responsible for freeing it
**/
-static char *sub_recode(ass_library_t *library, char *data, size_t size,
+static char *sub_recode(ASS_Library *library, char *data, size_t size,
char *codepage)
{
iconv_t icdsc;
@@ -987,7 +991,7 @@ static char *sub_recode(ass_library_t *library, char *data, size_t size,
* \param bufsize out: file size
* \return pointer to file contents. Caller is responsible for its deallocation.
*/
-static char *read_file(ass_library_t *library, char *fname, size_t *bufsize)
+static char *read_file(ASS_Library *library, char *fname, size_t *bufsize)
{
int res;
long sz;
@@ -1046,9 +1050,9 @@ static char *read_file(ass_library_t *library, char *fname, size_t *bufsize)
/*
* \param buf pointer to subtitle text in utf-8
*/
-static ass_track_t *parse_memory(ass_library_t *library, char *buf)
+static ASS_Track *parse_memory(ASS_Library *library, char *buf)
{
- ass_track_t *track;
+ ASS_Track *track;
int i;
track = ass_new_track(library);
@@ -1082,10 +1086,10 @@ static ass_track_t *parse_memory(ass_library_t *library, char *buf)
* \param codepage recode buffer contents from given codepage
* \return newly allocated track
*/
-ass_track_t *ass_read_memory(ass_library_t *library, char *buf,
- size_t bufsize, char *codepage)
+ASS_Track *ass_read_memory(ASS_Library *library, char *buf,
+ size_t bufsize, char *codepage)
{
- ass_track_t *track;
+ ASS_Track *track;
int need_free = 0;
if (!buf)
@@ -1111,7 +1115,7 @@ ass_track_t *ass_read_memory(ass_library_t *library, char *buf,
return track;
}
-static char *read_file_recode(ass_library_t *library, char *fname,
+static char *read_file_recode(ASS_Library *library, char *fname,
char *codepage, size_t *size)
{
char *buf;
@@ -1140,11 +1144,11 @@ static char *read_file_recode(ass_library_t *library, char *fname,
* \param codepage recode buffer contents from given codepage
* \return newly allocated track
*/
-ass_track_t *ass_read_file(ass_library_t *library, char *fname,
- char *codepage)
+ASS_Track *ass_read_file(ASS_Library *library, char *fname,
+ char *codepage)
{
char *buf;
- ass_track_t *track;
+ ASS_Track *track;
size_t bufsize;
buf = read_file_recode(library, fname, codepage, &bufsize);
@@ -1167,10 +1171,10 @@ ass_track_t *ass_read_file(ass_library_t *library, char *fname,
/**
* \brief read styles from file into already initialized track
*/
-int ass_read_styles(ass_track_t *track, char *fname, char *codepage)
+int ass_read_styles(ASS_Track *track, char *fname, char *codepage)
{
char *buf;
- parser_state_t old_state;
+ ParserState old_state;
size_t sz;
buf = read_file(track->library, fname, &sz);
@@ -1195,7 +1199,7 @@ int ass_read_styles(ass_track_t *track, char *fname, char *codepage)
return 0;
}
-long long ass_step_sub(ass_track_t *track, long long now, int movement)
+long long ass_step_sub(ASS_Track *track, long long now, int movement)
{
int i;
@@ -1227,11 +1231,11 @@ long long ass_step_sub(ass_track_t *track, long long now, int movement)
return ((long long) track->events[i].Start) - now;
}
-ass_track_t *ass_new_track(ass_library_t *library)
+ASS_Track *ass_new_track(ASS_Library *library)
{
- ass_track_t *track = calloc(1, sizeof(ass_track_t));
+ ASS_Track *track = calloc(1, sizeof(ASS_Track));
track->library = library;
track->ScaledBorderAndShadow = 1;
- track->parser_priv = calloc(1, sizeof(parser_priv_t));
+ track->parser_priv = calloc(1, sizeof(ASS_ParserPriv));
return track;
}
diff --git a/libass/ass.h b/libass/ass.h
index 879d041..d757c76 100644
--- a/libass/ass.h
+++ b/libass/ass.h
@@ -46,7 +46,7 @@ typedef struct ass_image {
int dst_x, dst_y; // Bitmap placement inside the video frame
struct ass_image *next; // Next image, or NULL
-} ass_image_t;
+} ASS_Image;
/*
* Hintint type. (see ass_set_hinting below)
@@ -60,19 +60,19 @@ typedef enum {
ASS_HINTING_LIGHT,
ASS_HINTING_NORMAL,
ASS_HINTING_NATIVE
-} ass_hinting_t;
+} ASS_Hinting;
/**
* \brief Initialize the library.
* \return library handle or NULL if failed
*/
-ass_library_t *ass_library_init(void);
+ASS_Library *ass_library_init(void);
/**
* \brief Finalize the library
* \param priv library handle
*/
-void ass_library_done(ass_library_t *priv);
+void ass_library_done(ASS_Library *priv);
/**
* \brief Set private font directory.
@@ -81,14 +81,14 @@ void ass_library_done(ass_library_t *priv);
* \param priv library handle
* \param fonts_dir private directory for font extraction
*/
-void ass_set_fonts_dir(ass_library_t *priv, const char *fonts_dir);
+void ass_set_fonts_dir(ASS_Library *priv, const char *fonts_dir);
/**
* \brief Whether fonts should be extracted from track data.
* \param priv library handle
* \param extract whether to extract fonts
*/
-void ass_set_extract_fonts(ass_library_t *priv, int extract);
+void ass_set_extract_fonts(ASS_Library *priv, int extract);
/**
* \brief Register style overrides with a library instance.
@@ -99,13 +99,13 @@ void ass_set_extract_fonts(ass_library_t *priv, int extract);
* \param priv library handle
* \param list NULL-terminated list of strings
*/
-void ass_set_style_overrides(ass_library_t *priv, char **list);
+void ass_set_style_overrides(ASS_Library *priv, char **list);
/**
* \brief Explicitly process style overrides for a track.
* \param track track handle
*/
-void ass_process_force_style(ass_track_t *track);
+void ass_process_force_style(ASS_Track *track);
/**
* \brief Register a callback for debug/info messages.
@@ -121,7 +121,7 @@ void ass_process_force_style(ass_track_t *track);
* \param msg_cb pointer to callback function
* \param data additional data, will be passed to callback
*/
-void ass_set_message_cb(ass_library_t *priv, void (*msg_cb)
+void ass_set_message_cb(ASS_Library *priv, void (*msg_cb)
(int level, const char *fmt, va_list args, void *data),
void *data);
@@ -130,13 +130,13 @@ void ass_set_message_cb(ass_library_t *priv, void (*msg_cb)
* \param priv library handle
* \return renderer handle or NULL if failed
*/
-ass_renderer_t *ass_renderer_init(ass_library_t *);
+ASS_Renderer *ass_renderer_init(ASS_Library *);
/**
* \brief Finalize the renderer.
* \param priv renderer handle
*/
-void ass_renderer_done(ass_renderer_t *priv);
+void ass_renderer_done(ASS_Renderer *priv);
/**
* \brief Set the frame size in pixels, including margins.
@@ -144,7 +144,7 @@ void ass_renderer_done(ass_renderer_t *priv);
* \param w width
* \param h height
*/
-void ass_set_frame_size(ass_renderer_t *priv, int w, int h);
+void ass_set_frame_size(ASS_Renderer *priv, int w, int h);
/**
* \brief Set frame margins. These values may be negative if pan-and-scan
@@ -155,14 +155,14 @@ void ass_set_frame_size(ass_renderer_t *priv, int w, int h);
* \param l left margin
* \param r right margin
*/
-void ass_set_margins(ass_renderer_t *priv, int t, int b, int l, int r);
+void ass_set_margins(ASS_Renderer *priv, int t, int b, int l, int r);
/**
* \brief Whether margins should be used for placing regular events.
* \param priv renderer handle
* \param use whether to use the margins
*/
-void ass_set_use_margins(ass_renderer_t *priv, int use);
+void ass_set_use_margins(ASS_Renderer *priv, int use);
/**
* \brief Set aspect ratio parameters.
@@ -170,28 +170,28 @@ void ass_set_use_margins(ass_renderer_t *priv, int use);
* \param dar display aspect ratio (DAR), prescaled for output PAR
* \param sar storage aspect ratio (SAR)
*/
-void ass_set_aspect_ratio(ass_renderer_t *priv, double dar, double sar);
+void ass_set_aspect_ratio(ASS_Renderer *priv, double dar, double sar);
/**
* \brief Set a fixed font scaling factor.
* \param priv renderer handle
* \param font_scale scaling factor, default is 1.0
*/
-void ass_set_font_scale(ass_renderer_t *priv, double font_scale);
+void ass_set_font_scale(ASS_Renderer *priv, double font_scale);
/**
* \brief Set font hinting method.
* \param priv renderer handle
* \param ht hinting method
*/
-void ass_set_hinting(ass_renderer_t *priv, ass_hinting_t ht);
+void ass_set_hinting(ASS_Renderer *priv, ASS_Hinting ht);
/**
* \brief Set line spacing. Will not be scaled with frame size.
* \param priv renderer handle
* \param line_spacing line spacing in pixels
*/
-void ass_set_line_spacing(ass_renderer_t *priv, double line_spacing);
+void ass_set_line_spacing(ASS_Renderer *priv, double line_spacing);
/**
* \brief Set font lookup defaults.
@@ -201,7 +201,7 @@ void ass_set_line_spacing(ass_renderer_t *priv, double line_spacing);
* \param update whether fontconfig cache should be built/updated now. Only
* relevant if fontconfig is used.
*/
-void ass_set_fonts(ass_renderer_t *priv, const char *default_font,
+void ass_set_fonts(ASS_Renderer *priv, const char *default_font,
const char *default_family, int fc, const char *config,
int update);
@@ -212,7 +212,7 @@ void ass_set_fonts(ass_renderer_t *priv, const char *default_font,
* \param priv renderer handle
* \return success
*/
-int ass_fonts_update(ass_renderer_t *priv);
+int ass_fonts_update(ASS_Renderer *priv);
/**
* \brief Set hard cache limits. Do not set, or set to zero, for reasonable
@@ -222,19 +222,19 @@ int ass_fonts_update(ass_renderer_t *priv);
* \param glyph_max maximum number of cached glyphs
* \param bitmap_max_size maximum bitmap cache size (in MB)
*/
-void ass_set_cache_limits(ass_renderer_t *priv, int glyph_max,
+void ass_set_cache_limits(ASS_Renderer *priv, int glyph_max,
int bitmap_max_size);
/**
- * \brief Render a frame, producing a list of ass_image_t.
+ * \brief Render a frame, producing a list of ASS_Image.
* \param priv renderer handle
* \param track subtitle track
* \param now video timestamp in milliseconds
* \param detect_change will be set to 1 if a change occured compared
* to the last invocation
*/
-ass_image_t *ass_render_frame(ass_renderer_t *priv, ass_track_t *track,
- long long now, int *detect_change);
+ASS_Image *ass_render_frame(ASS_Renderer *priv, ASS_Track *track,
+ long long now, int *detect_change);
/*
@@ -247,27 +247,27 @@ ass_image_t *ass_render_frame(ass_renderer_t *priv, ass_track_t *track,
* \param library handle
* \return pointer to empty track
*/
-ass_track_t *ass_new_track(ass_library_t *);
+ASS_Track *ass_new_track(ASS_Library *);
/**
* \brief Deallocate track and all its child objects (styles and events).
* \param track track to deallocate
*/
-void ass_free_track(ass_track_t *track);
+void ass_free_track(ASS_Track *track);
/**
* \brief Allocate new style.
* \param track track
* \return newly allocated style id
*/
-int ass_alloc_style(ass_track_t *track);
+int ass_alloc_style(ASS_Track *track);
/**
* \brief Allocate new event.
* \param track track
* \return newly allocated event id
*/
-int ass_alloc_event(ass_track_t *track);
+int ass_alloc_event(ASS_Track *track);
/**
* \brief Delete a style.
@@ -275,7 +275,7 @@ int ass_alloc_event(ass_track_t *track);
* \param sid style id
* Deallocates style data. Does not modify track->n_styles.
*/
-void ass_free_style(ass_track_t *track, int sid);
+void ass_free_style(ASS_Track *track, int sid);
/**
* \brief Delete an event.
@@ -283,7 +283,7 @@ void ass_free_style(ass_track_t *track, int sid);
* \param eid event id
* Deallocates event data. Does not modify track->n_events.
*/
-void ass_free_event(ass_track_t *track, int eid);
+void ass_free_event(ASS_Track *track, int eid);
/**
* \brief Parse a chunk of subtitle stream data.
@@ -291,7 +291,7 @@ void ass_free_event(ass_track_t *track, int eid);
* \param data string to parse
* \param size length of data
*/
-void ass_process_data(ass_track_t *track, char *data, int size);
+void ass_process_data(ASS_Track *track, char *data, int size);
/**
* \brief Parse Codec Private section of subtitle stream.
@@ -299,7 +299,7 @@ void ass_process_data(ass_track_t *track, char *data, int size);
* \param data string to parse
* \param size length of data
*/
-void ass_process_codec_private(ass_track_t *track, char *data, int size);
+void ass_process_codec_private(ASS_Track *track, char *data, int size);
/**
* \brief Parse a chunk of subtitle stream data. In Matroska,
@@ -310,7 +310,7 @@ void ass_process_codec_private(ass_track_t *track, char *data, int size);
* \param timecode starting time of the event (milliseconds)
* \param duration duration of the event (milliseconds)
*/
-void ass_process_chunk(ass_track_t *track, char *data, int size,
+void ass_process_chunk(ASS_Track *track, char *data, int size,
long long timecode, long long duration);
/**
@@ -320,8 +320,8 @@ void ass_process_chunk(ass_track_t *track, char *data, int size,
* \param codepage encoding (iconv format)
* \return newly allocated track
*/
-ass_track_t *ass_read_file(ass_library_t *library, char *fname,
- char *codepage);
+ASS_Track *ass_read_file(ASS_Library *library, char *fname,
+ char *codepage);
/**
* \brief Read subtitles from memory.
@@ -331,15 +331,15 @@ ass_track_t *ass_read_file(ass_library_t *library, char *fname,
* \param codepage encoding (iconv format)
* \return newly allocated track
*/
-ass_track_t *ass_read_memory(ass_library_t *library, char *buf,
- size_t bufsize, char *codepage);
+ASS_Track *ass_read_memory(ASS_Library *library, char *buf,
+ size_t bufsize, char *codepage);
/**
* \brief Read styles from file into already initialized track.
* \param fname file name
* \param codepage encoding (iconv format)
* \return 0 on success
*/
-int ass_read_styles(ass_track_t *track, char *fname, char *codepage);
+int ass_read_styles(ASS_Track *track, char *fname, char *codepage);
/**
* \brief Add a memory font.
@@ -348,14 +348,14 @@ int ass_read_styles(ass_track_t *track, char *fname, char *codepage);
* \param data binary font data
* \param data_size data size
*/
-void ass_add_font(ass_library_t *library, char *name, char *data,
+void ass_add_font(ASS_Library *library, char *name, char *data,
int data_size);
/**
* \brief Remove all fonts stored in an ass_library object.
* \param library library handle
*/
-void ass_clear_fonts(ass_library_t *library);
+void ass_clear_fonts(ASS_Library *library);
/**
* \brief Calculates timeshift from now to the start of some other subtitle
@@ -366,6 +366,6 @@ void ass_clear_fonts(ass_library_t *library);
* +2 means "the one after the next", -1 means "previous"
* \return timeshift in milliseconds
*/
-long long ass_step_sub(ass_track_t *track, long long now, int movement);
+long long ass_step_sub(ASS_Track *track, long long now, int movement);
#endif /* LIBASS_ASS_H */
diff --git a/libass/ass_bitmap.c b/libass/ass_bitmap.c
index 39c4996..faddcf3 100644
--- a/libass/ass_bitmap.c
+++ b/libass/ass_bitmap.c
@@ -44,7 +44,7 @@ struct ass_synth_priv {
static const unsigned int maxcolor = 255;
static const unsigned base = 256;
-static int generate_tables(ass_synth_priv_t *priv, double radius)
+static int generate_tables(ASS_SynthPriv *priv, double radius)
{
double A = log(1.0 / base) / (radius * radius * 2);
int mx, i;
@@ -101,7 +101,7 @@ static int generate_tables(ass_synth_priv_t *priv, double radius)
return 0;
}
-static void resize_tmp(ass_synth_priv_t *priv, int w, int h)
+static void resize_tmp(ASS_SynthPriv *priv, int w, int h)
{
if (priv->tmp_w >= w && priv->tmp_h >= h)
return;
@@ -118,14 +118,14 @@ static void resize_tmp(ass_synth_priv_t *priv, int w, int h)
priv->tmp = malloc((priv->tmp_w + 1) * priv->tmp_h * sizeof(short));
}
-ass_synth_priv_t *ass_synth_init(double radius)
+ASS_SynthPriv *ass_synth_init(double radius)
{
- ass_synth_priv_t *priv = calloc(1, sizeof(ass_synth_priv_t));
+ ASS_SynthPriv *priv = calloc(1, sizeof(ASS_SynthPriv));
generate_tables(priv, radius);
return priv;
}
-void ass_synth_done(ass_synth_priv_t *priv)
+void ass_synth_done(ASS_SynthPriv *priv)
{
if (priv->tmp)
free(priv->tmp);
@@ -136,10 +136,10 @@ void ass_synth_done(ass_synth_priv_t *priv)
free(priv);
}
-static bitmap_t *alloc_bitmap(int w, int h)
+static Bitmap *alloc_bitmap(int w, int h)
{
- bitmap_t *bm;
- bm = calloc(1, sizeof(bitmap_t));
+ Bitmap *bm;
+ bm = calloc(1, sizeof(Bitmap));
bm->buffer = malloc(w * h);
bm->w = w;
bm->h = h;
@@ -147,7 +147,7 @@ static bitmap_t *alloc_bitmap(int w, int h)
return bm;
}
-void ass_free_bitmap(bitmap_t *bm)
+void ass_free_bitmap(Bitmap *bm)
{
if (bm) {
if (bm->buffer)
@@ -156,16 +156,16 @@ void ass_free_bitmap(bitmap_t *bm)
}
}
-static bitmap_t *copy_bitmap(const bitmap_t *src)
+static Bitmap *copy_bitmap(const Bitmap *src)
{
- bitmap_t *dst = alloc_bitmap(src->w, src->h);
+ Bitmap *dst = alloc_bitmap(src->w, src->h);
dst->left = src->left;
dst->top = src->top;
memcpy(dst->buffer, src->buffer, src->w * src->h);
return dst;
}
-static int check_glyph_area(ass_library_t *library, FT_Glyph glyph)
+static int check_glyph_area(ASS_Library *library, FT_Glyph glyph)
{
FT_BBox bbox;
long long dx, dy;
@@ -180,12 +180,12 @@ static int check_glyph_area(ass_library_t *library, FT_Glyph glyph)
return 0;
}
-static bitmap_t *glyph_to_bitmap_internal(ass_library_t *library,
+static Bitmap *glyph_to_bitmap_internal(ASS_Library *library,
FT_Glyph glyph, int bord)
{
FT_BitmapGlyph bg;
FT_Bitmap *bit;
- bitmap_t *bm;
+ Bitmap *bm;
int w, h;
unsigned char *src;
unsigned char *dst;
@@ -235,7 +235,7 @@ static bitmap_t *glyph_to_bitmap_internal(ass_library_t *library,
* 1. Glyph bitmap is subtracted from outline bitmap. This way looks much better in some cases.
* 2. Shadow bitmap is created as a sum of glyph and outline bitmaps.
*/
-static bitmap_t *fix_outline_and_shadow(bitmap_t *bm_g, bitmap_t *bm_o)
+static Bitmap *fix_outline_and_shadow(Bitmap *bm_g, Bitmap *bm_o)
{
int x, y;
const int l = bm_o->left > bm_g->left ? bm_o->left : bm_g->left;
@@ -247,7 +247,7 @@ static bitmap_t *fix_outline_and_shadow(bitmap_t *bm_g, bitmap_t *bm_o)
bm_o->top + bm_o->h <
bm_g->top + bm_g->h ? bm_o->top + bm_o->h : bm_g->top + bm_g->h;
- bitmap_t *bm_s = copy_bitmap(bm_o);
+ Bitmap *bm_s = copy_bitmap(bm_o);
unsigned char *g =
bm_g->buffer + (t - bm_g->top) * bm_g->w + (l - bm_g->left);
@@ -472,9 +472,9 @@ static void be_blur(unsigned char *buf, int w, int h)
}
}
-int glyph_to_bitmap(ass_library_t *library, ass_synth_priv_t *priv_blur,
+int glyph_to_bitmap(ASS_Library *library, ASS_SynthPriv *priv_blur,
FT_Glyph glyph, FT_Glyph outline_glyph,
- bitmap_t **bm_g, bitmap_t **bm_o, bitmap_t **bm_s,
+ Bitmap **bm_g, Bitmap **bm_o, Bitmap **bm_s,
int be, double blur_radius, FT_Vector shadow_offset)
{
blur_radius *= 2;
diff --git a/libass/ass_bitmap.h b/libass/ass_bitmap.h
index f7d8fc2..3b63cee 100644
--- a/libass/ass_bitmap.h
+++ b/