[MPlayer-cvslog] r22775 - trunk/libmpcodecs/vf_kerndeint.c

cehoyos subversion at mplayerhq.hu
Thu Mar 22 11:06:34 CET 2007


Author: cehoyos
Date: Thu Mar 22 11:06:34 2007
New Revision: 22775

Modified:
   trunk/libmpcodecs/vf_kerndeint.c

Log:
allows to de- and reactivate kerndeint on the fly

Modified: trunk/libmpcodecs/vf_kerndeint.c
==============================================================================
--- trunk/libmpcodecs/vf_kerndeint.c	(original)
+++ trunk/libmpcodecs/vf_kerndeint.c	Thu Mar 22 11:06:34 2007
@@ -43,6 +43,7 @@ struct vf_priv_s {
 	int	thresh;
 	int	sharp;
 	int	twoway;
+	int	do_deinterlace;
 };
 
 
@@ -97,11 +98,15 @@ static int put_image(struct vf_instance_
 	int map = vf->priv->map;
 	int sharp = vf->priv->sharp;
 	int twoway = vf->priv->twoway;
+	mp_image_t *dmpi, *pmpi;
 
-	mp_image_t *dmpi=vf_get_image(vf->next,mpi->imgfmt,
+	if(!vf->priv->do_deinterlace)
+		return vf_next_put_image(vf, mpi, pts);
+
+	dmpi=vf_get_image(vf->next,mpi->imgfmt,
 		MP_IMGTYPE_IP, MP_IMGFLAG_ACCEPT_STRIDE,
 		mpi->w,mpi->h);
-	mp_image_t *pmpi=vf_get_image(vf->next,mpi->imgfmt,
+	pmpi=vf_get_image(vf->next,mpi->imgfmt,
 		MP_IMGTYPE_TEMP, MP_IMGFLAG_ACCEPT_STRIDE,
 		mpi->w,mpi->h);
 	if(!dmpi) return 0;
@@ -287,8 +292,22 @@ static int query_format(struct vf_instan
 	return 0;
 }
 
+static int control(struct vf_instance_s* vf, int request, void* data){
+	switch (request)
+	{
+	case VFCTRL_GET_DEINTERLACE:
+		*(int*)data = vf->priv->do_deinterlace;
+		return CONTROL_OK;
+	case VFCTRL_SET_DEINTERLACE:
+		vf->priv->do_deinterlace = *(int*)data;
+		return CONTROL_OK;
+	}
+	return vf_next_control (vf, request, data);
+}
+
 static int open(vf_instance_t *vf, char* args){
 
+	vf->control=control;
 	vf->config=config;
 	vf->put_image=put_image;
         vf->query_format=query_format;
@@ -303,6 +322,7 @@ static int open(vf_instance_t *vf, char*
 	vf->priv->thresh = 10;
 	vf->priv->sharp = 0;
 	vf->priv->twoway = 0;
+	vf->priv->do_deinterlace=1;
 
         if (args)
         {



More information about the MPlayer-cvslog mailing list