summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpcodecs/vf_delogo.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libmpcodecs/vf_delogo.c b/libmpcodecs/vf_delogo.c
index 8fcc869c91..e47a01b68d 100644
--- a/libmpcodecs/vf_delogo.c
+++ b/libmpcodecs/vf_delogo.c
@@ -180,6 +180,7 @@ static void get_image(struct vf_instance *vf, mp_image_t *mpi){
if(mpi->flags&MP_IMGFLAG_PRESERVE) return; // don't change
if(mpi->imgfmt!=vf->priv->outfmt) return; // colorspace differ
// ok, we can do pp in-place (or pp disabled):
+ mpi->priv =
vf->dmpi=vf_get_image(vf->next,mpi->imgfmt,
mpi->type, mpi->flags, mpi->w, mpi->h);
mpi->planes[0]=vf->dmpi->planes[0];
@@ -197,7 +198,9 @@ static void get_image(struct vf_instance *vf, mp_image_t *mpi){
static int put_image(struct vf_instance *vf, mp_image_t *mpi, double pts){
mp_image_t *dmpi;
- if(!(mpi->flags&MP_IMGFLAG_DIRECT)){
+ if(mpi->flags&MP_IMGFLAG_DIRECT) {
+ vf->dmpi = mpi->priv;
+ } else {
// no DR, so get a new image! hope we'll get DR buffer:
vf->dmpi=vf_get_image(vf->next,vf->priv->outfmt,
MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE,