summaryrefslogtreecommitdiffstats
path: root/sub/ass_mp.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-02-24 15:49:26 +0100
committerwm4 <wm4@nowhere>2015-02-24 15:49:26 +0100
commit71cc322f13f6504ecbffbf4a41e1d466b892bb90 (patch)
treee60ac820042c4501008ccf8d37975bd982b63cb8 /sub/ass_mp.c
parent53641a689d17d6fce31d752fbca150ca95796e81 (diff)
downloadmpv-71cc322f13f6504ecbffbf4a41e1d466b892bb90.tar.bz2
mpv-71cc322f13f6504ecbffbf4a41e1d466b892bb90.tar.xz
sub: move mp_ass_configure() code
sd_ass.c is the only user, and the function is starting to become extremely "special". No other changes.
Diffstat (limited to 'sub/ass_mp.c')
-rw-r--r--sub/ass_mp.c57
1 files changed, 0 insertions, 57 deletions
diff --git a/sub/ass_mp.c b/sub/ass_mp.c
index be8afe374d..9ec86e9dd8 100644
--- a/sub/ass_mp.c
+++ b/sub/ass_mp.c
@@ -113,63 +113,6 @@ ASS_Track *mp_ass_default_track(ASS_Library *library, struct MPOpts *opts)
return track;
}
-void mp_ass_configure(ASS_Renderer *priv, struct MPOpts *opts, bool is_ass,
- struct mp_osd_res *dim)
-{
- ass_set_frame_size(priv, dim->w, dim->h);
- ass_set_margins(priv, dim->mt, dim->mb, dim->ml, dim->mr);
-
- bool set_use_margins = false;
- int set_sub_pos = 0;
- float set_line_spacing = 0;
- float set_font_scale = 1;
- int set_hinting = 0;
- bool set_scale_with_window = false;
- bool set_scale_by_window = true;
- bool total_override = false;
- // With forced overrides, apply the --sub-* specific options
- if (!is_ass || opts->ass_style_override == 3) {
- set_scale_with_window = opts->sub_scale_with_window;
- set_use_margins = opts->sub_use_margins;
- set_scale_by_window = opts->sub_scale_by_window;
- total_override = true;
- } else {
- set_scale_with_window = opts->ass_scale_with_window;
- set_use_margins = opts->ass_use_margins;
- }
- if (!is_ass || opts->ass_style_override) {
- set_sub_pos = 100 - opts->sub_pos;
- set_line_spacing = opts->ass_line_spacing;
- set_hinting = opts->ass_hinting;
- set_font_scale = opts->sub_scale;
- }
- if (set_scale_with_window) {
- int vidh = dim->h - (dim->mt + dim->mb);
- set_font_scale *= dim->h / (float)MPMAX(vidh, 1);
- }
- if (!set_scale_by_window) {
- double factor = dim->h / 720.0;
- if (factor != 0.0)
- set_font_scale /= factor;
- }
- ass_set_use_margins(priv, set_use_margins);
- ass_set_line_position(priv, set_sub_pos);
- ass_set_shaper(priv, opts->ass_shaper);
- int set_force_flags = 0;
- if (total_override)
- set_force_flags |= ASS_OVERRIDE_BIT_STYLE | ASS_OVERRIDE_BIT_FONT_SIZE;
- if (opts->ass_style_override == 4)
- set_force_flags |= ASS_OVERRIDE_BIT_FONT_SIZE;
- ass_set_selective_style_override_enabled(priv, set_force_flags);
- ASS_Style style = {0};
- mp_ass_set_style(&style, 288, opts->sub_text_style);
- ass_set_selective_style_override(priv, &style);
- free(style.FontName);
- ass_set_font_scale(priv, set_font_scale);
- ass_set_hinting(priv, set_hinting);
- ass_set_line_spacing(priv, set_line_spacing);
-}
-
void mp_ass_configure_fonts(ASS_Renderer *priv, struct osd_style_opts *opts,
struct mpv_global *global, struct mp_log *log)
{