2009-07-25 04:24:39 +00:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
|
|
|
|
*
|
|
|
|
* This file is part of MPlayer.
|
|
|
|
*
|
|
|
|
* MPlayer is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* MPlayer is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License along
|
|
|
|
* with libass; if not, write to the Free Software Foundation, Inc.,
|
|
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef MPLAYER_ASS_MP_H
|
|
|
|
#define MPLAYER_ASS_MP_H
|
|
|
|
|
|
|
|
#include <stdint.h>
|
2011-01-19 16:00:22 +00:00
|
|
|
#include <stdbool.h>
|
2009-07-25 04:24:39 +00:00
|
|
|
|
2010-10-30 16:39:40 +00:00
|
|
|
#include "config.h"
|
2009-07-25 04:24:39 +00:00
|
|
|
#include "subreader.h"
|
|
|
|
|
|
|
|
#ifdef CONFIG_ASS
|
|
|
|
#include <ass/ass.h>
|
|
|
|
#include <ass/ass_types.h>
|
|
|
|
|
2009-08-06 20:58:31 +00:00
|
|
|
extern ASS_Library *ass_library;
|
2009-07-25 04:24:39 +00:00
|
|
|
extern float ass_font_scale;
|
|
|
|
extern float ass_line_spacing;
|
|
|
|
extern int ass_top_margin;
|
|
|
|
extern int ass_bottom_margin;
|
2010-01-25 12:57:32 +00:00
|
|
|
extern int use_embedded_fonts;
|
2009-07-25 04:24:39 +00:00
|
|
|
extern char **ass_force_style_list;
|
|
|
|
extern int ass_use_margins;
|
|
|
|
extern char *ass_color;
|
|
|
|
extern char *ass_border_color;
|
|
|
|
extern char *ass_styles_file;
|
|
|
|
extern int ass_hinting;
|
|
|
|
|
2011-01-20 16:47:18 +00:00
|
|
|
ASS_Track *mp_ass_default_track(ASS_Library *library);
|
|
|
|
ASS_Track *mp_ass_read_subdata(ASS_Library *library, sub_data *subdata,
|
|
|
|
double fps);
|
|
|
|
ASS_Track *mp_ass_read_stream(ASS_Library *library, const char *fname,
|
|
|
|
char *charset);
|
2009-07-25 04:24:39 +00:00
|
|
|
|
2011-01-20 16:47:18 +00:00
|
|
|
void mp_ass_configure(ASS_Renderer *priv, int w, int h, bool unscaled);
|
|
|
|
void mp_ass_configure_fonts(ASS_Renderer *priv);
|
|
|
|
ASS_Library *mp_ass_init(void);
|
2009-07-25 04:24:39 +00:00
|
|
|
|
|
|
|
extern int ass_force_reload;
|
2011-01-20 16:47:18 +00:00
|
|
|
ASS_Image *mp_ass_render_frame(ASS_Renderer *priv, ASS_Track *track,
|
2009-08-06 20:58:31 +00:00
|
|
|
long long now, int *detect_change);
|
2009-07-25 04:24:39 +00:00
|
|
|
|
|
|
|
#else /* CONFIG_ASS */
|
|
|
|
|
|
|
|
/* Needed for EOSD code using this type to compile */
|
|
|
|
|
|
|
|
typedef struct ass_image {
|
|
|
|
int w, h;
|
|
|
|
int stride;
|
|
|
|
unsigned char *bitmap;
|
|
|
|
uint32_t color;
|
|
|
|
int dst_x, dst_y;
|
|
|
|
struct ass_image *next;
|
2009-08-06 20:58:31 +00:00
|
|
|
} ASS_Image;
|
2009-07-25 04:24:39 +00:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef struct {
|
2009-08-06 20:58:31 +00:00
|
|
|
ASS_Image *imgs;
|
2009-07-25 04:24:39 +00:00
|
|
|
int changed;
|
|
|
|
} mp_eosd_images_t;
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* MPLAYER_ASS_MP_H */
|