diff options
author | wm4 <wm4@nowhere> | 2012-10-19 19:25:18 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2012-10-24 21:56:34 +0200 |
commit | 4d11f32162b08e3b48ae382e2ed0a151035f8aea (patch) | |
tree | c588341bf672fd935de45a05bef99e0d8f20892f /libvo/vo_lavc.c | |
parent | a4f9077f6c1a897120616cc70c1ca37c6a247be2 (diff) | |
download | mpv-4d11f32162b08e3b48ae382e2ed0a151035f8aea.tar.bz2 mpv-4d11f32162b08e3b48ae382e2ed0a151035f8aea.tar.xz |
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.
Diffstat (limited to 'libvo/vo_lavc.c')
-rw-r--r-- | libvo/vo_lavc.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/libvo/vo_lavc.c b/libvo/vo_lavc.c index caa3b4202c..5c90207256 100644 --- a/libvo/vo_lavc.c +++ b/libvo/vo_lavc.c @@ -198,8 +198,8 @@ static int query_format(struct vo *vo, uint32_t format) VFCAP_CSP_SUPPORTED | // we can do it VFCAP_CSP_SUPPORTED_BY_HW | - // we don't convert colorspaces here (TODO: if we add EOSD rendering, only set this flag if EOSD can be rendered without extra conversions) - VFCAP_OSD | VFCAP_EOSD | + // we don't convert colorspaces here + VFCAP_OSD | // we have OSD VOCAP_NOSLICES; // we don't use slices @@ -494,17 +494,15 @@ static void draw_osd(struct vo *vo, struct osd_state *osd) double sar = (double)asp.orgw / asp.orgh; double dar = (double)asp.prew / asp.preh; - struct sub_render_params subparams = { - .pts = osd->vo_sub_pts, - .dim = { - .w = asp.orgw, - .h = asp.orgh, - .display_par = sar / dar, - .video_par = dar / sar, - }, + struct mp_osd_res dim = { + .w = asp.orgw, + .h = asp.orgh, + .display_par = sar / dar, + .video_par = dar / sar, }; - osd_draw_on_image(osd, &subparams, 0, vc->lastimg, &vc->colorspace); + osd_draw_on_image(osd, dim, osd->vo_pts, 0, vc->lastimg, + &vc->colorspace); } } |