diff --git a/DOCS/man/en/options.rst b/DOCS/man/en/options.rst index bf297018a9..0b623859e5 100644 --- a/DOCS/man/en/options.rst +++ b/DOCS/man/en/options.rst @@ -163,8 +163,6 @@ :1: FreeType autohinter, light mode :2: FreeType autohinter, normal mode :3: font native hinter - :0-3 + 4: The same, but hinting will only be performed if the OSD is - rendered at screen resolution and will therefore not be scaled. The default value is 0 (no hinting). diff --git a/libmpcodecs/vf_vo.c b/libmpcodecs/vf_vo.c index 862cd63492..49668d4640 100644 --- a/libmpcodecs/vf_vo.c +++ b/libmpcodecs/vf_vo.c @@ -126,7 +126,6 @@ static int control(struct vf_instance *vf, int request, void *data) return CONTROL_FALSE; osd->normal_scale = 1; osd->vsfilter_scale = vf->priv->scale_ratio; - osd->unscaled = vf->default_caps & VFCAP_EOSD_UNSCALED; struct sub_bitmaps images; sub_get_bitmaps(osd, &images); return vo_control(video_out, VOCTRL_DRAW_EOSD, &images) == VO_TRUE; diff --git a/libmpcodecs/vfcap.h b/libmpcodecs/vfcap.h index 0bb255b3cd..0fb73f5a51 100644 --- a/libmpcodecs/vfcap.h +++ b/libmpcodecs/vfcap.h @@ -42,8 +42,6 @@ #define VFCAP_POSTPROC 0x800 // filter can draw EOSD #define VFCAP_EOSD 0x2000 -// filter will draw EOSD at screen resolution (without scaling) -#define VFCAP_EOSD_UNSCALED 0x4000 // used by libvo and vf_vo, indicates the VO does not support draw_slice for this format #define VOCAP_NOSLICES 0x8000 #define VFCAP_EOSD_FILTER 0x20000 // EOSD is drawn in filter chain diff --git a/libvo/vo_direct3d.c b/libvo/vo_direct3d.c index f8c9054b97..57bad61d02 100644 --- a/libvo/vo_direct3d.c +++ b/libvo/vo_direct3d.c @@ -1271,7 +1271,7 @@ static int query_format(d3d_priv *priv, uint32_t movie_fmt) int eosd_caps = VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_OSD | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN; if (priv->eosd) - eosd_caps |= VFCAP_EOSD | VFCAP_EOSD_UNSCALED; + eosd_caps |= VFCAP_EOSD; return eosd_caps; } diff --git a/libvo/vo_gl.c b/libvo/vo_gl.c index 1fb788e780..e71e482feb 100644 --- a/libvo/vo_gl.c +++ b/libvo/vo_gl.c @@ -1116,7 +1116,7 @@ static int query_format(struct vo *vo, uint32_t format) int caps = VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_FLIP | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN | VFCAP_ACCEPT_STRIDE; if (p->use_osd) - caps |= VFCAP_OSD | VFCAP_EOSD | (p->scaled_osd ? 0 : VFCAP_EOSD_UNSCALED); + caps |= VFCAP_OSD | VFCAP_EOSD; if (format == IMGFMT_RGB24 || format == IMGFMT_RGBA) return caps; if (p->use_yuv && mp_get_chroma_shift(format, NULL, NULL, &depth) && diff --git a/libvo/vo_gl3.c b/libvo/vo_gl3.c index 03d04b7038..5fd4f62af0 100644 --- a/libvo/vo_gl3.c +++ b/libvo/vo_gl3.c @@ -1758,7 +1758,7 @@ static int query_format(uint32_t format) { int caps = VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_FLIP | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN | VFCAP_ACCEPT_STRIDE | - VFCAP_OSD | VFCAP_EOSD | VFCAP_EOSD_UNSCALED | VFCAP_EOSD_RGBA; + VFCAP_OSD | VFCAP_EOSD | VFCAP_EOSD_RGBA; if (!init_format(format, NULL)) return 0; return caps; diff --git a/libvo/vo_vdpau.c b/libvo/vo_vdpau.c index 14b9d0df63..64378a9a0c 100644 --- a/libvo/vo_vdpau.c +++ b/libvo/vo_vdpau.c @@ -1396,7 +1396,7 @@ static int query_format(uint32_t format) { int default_flags = VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN | VFCAP_OSD | VFCAP_EOSD - | VFCAP_EOSD_UNSCALED | VFCAP_EOSD_RGBA | VFCAP_FLIP; + | VFCAP_EOSD_RGBA | VFCAP_FLIP; switch (format) { case IMGFMT_YV12: case IMGFMT_I420: diff --git a/sub/ass_mp.c b/sub/ass_mp.c index 5766a847f8..ba93c4c842 100644 --- a/sub/ass_mp.c +++ b/sub/ass_mp.c @@ -226,17 +226,14 @@ ASS_Track *mp_ass_read_stream(ASS_Library *library, const char *fname, } void mp_ass_configure(ASS_Renderer *priv, struct MPOpts *opts, - struct mp_eosd_res *dim, bool unscaled) + struct mp_eosd_res *dim) { int hinting; ass_set_frame_size(priv, dim->w, dim->h); ass_set_margins(priv, dim->mt, dim->mb, dim->ml, dim->mr); ass_set_use_margins(priv, opts->ass_use_margins); ass_set_font_scale(priv, opts->ass_font_scale); - if (!unscaled && (opts->ass_hinting & 4)) - hinting = 0; - else - hinting = opts->ass_hinting & 3; + hinting = opts->ass_hinting & 3; // +4 was for no hinting if scaled ass_set_hinting(priv, hinting); ass_set_line_spacing(priv, opts->ass_line_spacing); } diff --git a/sub/ass_mp.h b/sub/ass_mp.h index 805e9d7310..4ca43dfb2e 100644 --- a/sub/ass_mp.h +++ b/sub/ass_mp.h @@ -42,7 +42,7 @@ ASS_Track *mp_ass_read_stream(ASS_Library *library, const char *fname, struct MPOpts; void mp_ass_configure(ASS_Renderer *priv, struct MPOpts *opts, - struct mp_eosd_res *dim, bool unscaled); + struct mp_eosd_res *dim); void mp_ass_configure_fonts(ASS_Renderer *priv); ASS_Library *mp_ass_init(struct MPOpts *opts); diff --git a/sub/sd_ass.c b/sub/sd_ass.c index 478b1c96a9..8b8ad6c0eb 100644 --- a/sub/sd_ass.c +++ b/sub/sd_ass.c @@ -139,7 +139,7 @@ static void get_bitmaps(struct sh_sub *sh, struct osd_state *osd, if (ctx->vsfilter_aspect && opts->ass_vsfilter_aspect_compat) scale = osd->vsfilter_scale; ASS_Renderer *renderer = osd->ass_renderer; - mp_ass_configure(renderer, opts, &osd->dim, osd->unscaled); + mp_ass_configure(renderer, opts, &osd->dim); ass_set_aspect_ratio(renderer, scale, 1); mp_ass_render_frame(renderer, ctx->ass_track, osd->sub_pts * 1000 + .5, &ctx->parts, res); diff --git a/sub/sub.h b/sub/sub.h index 5e1809bee1..92ac19eb52 100644 --- a/sub/sub.h +++ b/sub/sub.h @@ -67,7 +67,6 @@ struct osd_state { struct mp_eosd_res dim; double normal_scale; double vsfilter_scale; - bool unscaled; bool support_rgba; int w, h;