From bed026b9e328b722ea1fdb940b46d21faf719fe9 Mon Sep 17 00:00:00 2001 From: reimar Date: Mon, 17 Sep 2012 19:50:29 +0000 Subject: vf_delogo: fix using with numbered mpi Fix delogo filter with numbered mpi. Should fix bug #2087. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35202 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/vf_delogo.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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, -- cgit v1.2.3