[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