From 8c43e12b20a52dc61b53bc3eec779aa07b8c8220 Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Mon, 23 Mar 2015 02:42:19 +0100 Subject: vo_opengl: draw subtitles directly onto the video This has a number of user-visible changes: 1. A new flag blend-subtitles (default on for opengl-hq) to control this behavior. 2. The OSD itself will not be color managed or affected by gamma controls. To get subtitle CMS/gamma, blend-subtitles must be used. 3. When enabled, this will make subtitles be cleanly interpolated by :interpolation, and also dithered etc. (just like the normal output). Signed-off-by: wm4 --- sub/osd.c | 2 ++ sub/osd.h | 1 + 2 files changed, 3 insertions(+) (limited to 'sub') diff --git a/sub/osd.c b/sub/osd.c index 7ab191191a..75e76ad0fd 100644 --- a/sub/osd.c +++ b/sub/osd.c @@ -332,6 +332,8 @@ void osd_draw(struct osd_state *osd, struct mp_osd_res res, continue; if ((draw_flags & OSD_DRAW_SUB_ONLY) && !obj->is_sub) continue; + if ((draw_flags & OSD_DRAW_OSD_ONLY) && obj->is_sub) + continue; if (obj->sub_state.dec_sub) sub_lock(obj->sub_state.dec_sub); diff --git a/sub/osd.h b/sub/osd.h index 704a424c4c..f67b6a5f14 100644 --- a/sub/osd.h +++ b/sub/osd.h @@ -180,6 +180,7 @@ void osd_set_nav_highlight(struct osd_state *osd, void *priv); enum mp_osd_draw_flags { OSD_DRAW_SUB_FILTER = (1 << 0), OSD_DRAW_SUB_ONLY = (1 << 1), + OSD_DRAW_OSD_ONLY = (1 << 2), }; void osd_draw(struct osd_state *osd, struct mp_osd_res res, -- cgit v1.2.3