diff options
Diffstat (limited to 'libmpcodecs')
-rw-r--r-- | libmpcodecs/vf_ass.c | 1 | ||||
-rw-r--r-- | libmpcodecs/vf_vo.c | 1 | ||||
-rw-r--r-- | libmpcodecs/vfcap.h | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/libmpcodecs/vf_ass.c b/libmpcodecs/vf_ass.c index ad4671fe57..f0b2e6ab77 100644 --- a/libmpcodecs/vf_ass.c +++ b/libmpcodecs/vf_ass.c @@ -364,6 +364,7 @@ static int put_image(struct vf_instance *vf, mp_image_t *mpi, double pts) osd->normal_scale = vf->priv->aspect_correction; osd->vsfilter_scale = 1; osd->sub_pts = pts - osd->sub_offset; + osd->support_rgba = false; struct sub_bitmaps b; sub_get_bitmaps(osd, &b); images = b.imgs; diff --git a/libmpcodecs/vf_vo.c b/libmpcodecs/vf_vo.c index 3aec40cd15..862cd63492 100644 --- a/libmpcodecs/vf_vo.c +++ b/libmpcodecs/vf_vo.c @@ -119,6 +119,7 @@ static int control(struct vf_instance *vf, int request, void *data) } case VFCTRL_DRAW_EOSD: { struct osd_state *osd = data; + osd->support_rgba = vf->default_caps & VFCAP_EOSD_RGBA; osd->dim = (struct mp_eosd_res){0}; if (!video_out->config_ok || vo_control(video_out, VOCTRL_GET_EOSD_RES, &osd->dim) != true) diff --git a/libmpcodecs/vfcap.h b/libmpcodecs/vfcap.h index 86c6f6e477..aef75840ae 100644 --- a/libmpcodecs/vfcap.h +++ b/libmpcodecs/vfcap.h @@ -48,5 +48,6 @@ #define VOCAP_NOSLICES 0x8000 #define VFCAP_OSD_FILTER 0x10000 // OSD is drawn in filter chain #define VFCAP_EOSD_FILTER 0x20000 // EOSD is drawn in filter chain +#define VFCAP_EOSD_RGBA 0x40000 #endif /* MPLAYER_VFCAP_H */ |