2012-08-25 14:47:50 +00:00
|
|
|
#ifndef MPLAYER_DEC_SUB_H
|
|
|
|
#define MPLAYER_DEC_SUB_H
|
|
|
|
|
2012-09-28 19:19:36 +00:00
|
|
|
#include <stdbool.h>
|
|
|
|
#include <stdint.h>
|
|
|
|
|
VO, sub: refactor
Remove VFCTRL_DRAW_OSD, VFCAP_EOSD_FILTER, VFCAP_EOSD_RGBA, VFCAP_EOSD,
VOCTRL_DRAW_EOSD, VOCTRL_GET_EOSD_RES, VOCTRL_QUERY_EOSD_FORMAT.
Remove draw_osd_with_eosd(), which rendered the OSD by calling
VOCTRL_DRAW_EOSD. Change VOs to call osd_draw() directly, which takes
a callback as argument. (This basically works like the old OSD API,
except multiple OSD bitmap formats are supported and caching is
possible.)
Remove all mentions of "eosd". It's simply "osd" now.
Make OSD size per-OSD-object, as they can be different when using
vf_sub. Include display_par/video_par in resolution change detection.
Fix the issue with margin borders in vo_corevideo.
2012-10-19 17:25:18 +00:00
|
|
|
#include "sub/sub.h"
|
2012-10-04 15:16:40 +00:00
|
|
|
|
2011-01-16 18:03:08 +00:00
|
|
|
struct sh_sub;
|
2012-08-25 18:22:39 +00:00
|
|
|
struct ass_track;
|
VO, sub: refactor
Remove VFCTRL_DRAW_OSD, VFCAP_EOSD_FILTER, VFCAP_EOSD_RGBA, VFCAP_EOSD,
VOCTRL_DRAW_EOSD, VOCTRL_GET_EOSD_RES, VOCTRL_QUERY_EOSD_FORMAT.
Remove draw_osd_with_eosd(), which rendered the OSD by calling
VOCTRL_DRAW_EOSD. Change VOs to call osd_draw() directly, which takes
a callback as argument. (This basically works like the old OSD API,
except multiple OSD bitmap formats are supported and caching is
possible.)
Remove all mentions of "eosd". It's simply "osd" now.
Make OSD size per-OSD-object, as they can be different when using
vf_sub. Include display_par/video_par in resolution change detection.
Fix the issue with margin borders in vo_corevideo.
2012-10-19 17:25:18 +00:00
|
|
|
struct MPOpts;
|
2012-10-04 15:16:32 +00:00
|
|
|
|
2011-01-16 18:03:08 +00:00
|
|
|
static inline bool is_text_sub(int type)
|
|
|
|
{
|
|
|
|
return type == 't' || type == 'm' || type == 'a';
|
|
|
|
}
|
|
|
|
|
|
|
|
void sub_decode(struct sh_sub *sh, struct osd_state *osd, void *data,
|
|
|
|
int data_len, double pts, double duration);
|
VO, sub: refactor
Remove VFCTRL_DRAW_OSD, VFCAP_EOSD_FILTER, VFCAP_EOSD_RGBA, VFCAP_EOSD,
VOCTRL_DRAW_EOSD, VOCTRL_GET_EOSD_RES, VOCTRL_QUERY_EOSD_FORMAT.
Remove draw_osd_with_eosd(), which rendered the OSD by calling
VOCTRL_DRAW_EOSD. Change VOs to call osd_draw() directly, which takes
a callback as argument. (This basically works like the old OSD API,
except multiple OSD bitmap formats are supported and caching is
possible.)
Remove all mentions of "eosd". It's simply "osd" now.
Make OSD size per-OSD-object, as they can be different when using
vf_sub. Include display_par/video_par in resolution change detection.
Fix the issue with margin borders in vo_corevideo.
2012-10-19 17:25:18 +00:00
|
|
|
void sub_get_bitmaps(struct osd_state *osd, struct mp_osd_res dim, double pts,
|
2012-10-04 15:16:36 +00:00
|
|
|
struct sub_bitmaps *res);
|
2011-01-16 18:03:08 +00:00
|
|
|
void sub_init(struct sh_sub *sh, struct osd_state *osd);
|
|
|
|
void sub_reset(struct sh_sub *sh, struct osd_state *osd);
|
|
|
|
void sub_switchoff(struct sh_sub *sh, struct osd_state *osd);
|
|
|
|
void sub_uninit(struct sh_sub *sh);
|
2012-08-25 14:47:50 +00:00
|
|
|
|
2012-08-25 18:22:39 +00:00
|
|
|
struct sh_sub *sd_ass_create_from_track(struct ass_track *track,
|
|
|
|
bool vsfilter_aspect,
|
|
|
|
struct MPOpts *opts);
|
|
|
|
|
2012-09-01 17:49:04 +00:00
|
|
|
#ifdef CONFIG_ASS
|
|
|
|
struct ass_track *sub_get_ass_track(struct osd_state *osd);
|
|
|
|
#endif
|
|
|
|
|
2012-08-25 14:47:50 +00:00
|
|
|
#endif
|