summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vf_ass.c1
-rw-r--r--libmpcodecs/vf_vo.c1
-rw-r--r--libmpcodecs/vfcap.h1
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 */