summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
Diffstat (limited to 'video')
-rw-r--r--video/filter/vf_sub.c8
-rw-r--r--video/out/vo_lavc.c1
2 files changed, 3 insertions, 6 deletions
diff --git a/video/filter/vf_sub.c b/video/filter/vf_sub.c
index 8cda9f5e79..c9d22995c1 100644
--- a/video/filter/vf_sub.c
+++ b/video/filter/vf_sub.c
@@ -155,9 +155,7 @@ static struct mp_image *filter(struct vf_instance *vf, struct mp_image *mpi)
struct vf_priv_s *priv = vf->priv;
struct osd_state *osd = priv->osd;
- if (vf->priv->opt_top_margin || vf->priv->opt_bottom_margin ||
- !mp_image_is_writeable(mpi))
- {
+ if (vf->priv->opt_top_margin || vf->priv->opt_bottom_margin) {
struct mp_image *dmpi = vf_alloc_out_image(vf);
mp_image_copy_attributes(dmpi, mpi);
prepare_image(vf, dmpi, mpi);
@@ -167,8 +165,8 @@ static struct mp_image *filter(struct vf_instance *vf, struct mp_image *mpi)
mp_image_set_colorspace_details(mpi, &priv->csp);
- if (mpi->pts != MP_NOPTS_VALUE)
- osd_draw_on_image(osd, priv->dim, mpi->pts, OSD_DRAW_SUB_FILTER, mpi);
+ osd_draw_on_image_p(osd, priv->dim, mpi->pts, OSD_DRAW_SUB_FILTER,
+ vf->out_pool, mpi);
return mpi;
}
diff --git a/video/out/vo_lavc.c b/video/out/vo_lavc.c
index 35041c7f63..2aced9351a 100644
--- a/video/out/vo_lavc.c
+++ b/video/out/vo_lavc.c
@@ -487,7 +487,6 @@ static void draw_osd(struct vo *vo, struct osd_state *osd)
};
mp_image_set_colorspace_details(vc->lastimg, &vc->colorspace);
- mp_image_make_writeable(vc->lastimg);
osd_draw_on_image(osd, dim, osd->vo_pts, OSD_DRAW_SUB_ONLY, vc->lastimg);
}