summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vf.h2
-rw-r--r--libmpcodecs/vf_vo.c12
2 files changed, 14 insertions, 0 deletions
diff --git a/libmpcodecs/vf.h b/libmpcodecs/vf.h
index 6984ee94d5..e03a3e59a6 100644
--- a/libmpcodecs/vf.h
+++ b/libmpcodecs/vf.h
@@ -80,6 +80,8 @@ typedef struct vf_seteq_s
#define VFCTRL_INIT_EOSD 15 /* Select EOSD renderer */
#define VFCTRL_DRAW_EOSD 16 /* Render EOSD */
#define VFCTRL_GET_PTS 17 /* Return last pts value that reached vf_vo*/
+#define VFCTRL_SET_DEINTERLACE 18 /* Set deinterlacing status */
+#define VFCTRL_GET_DEINTERLACE 19 /* Get deinterlacing status */
#include "vfcap.h"
diff --git a/libmpcodecs/vf_vo.c b/libmpcodecs/vf_vo.c
index a7b2c48918..75e4c08a0e 100644
--- a/libmpcodecs/vf_vo.c
+++ b/libmpcodecs/vf_vo.c
@@ -76,6 +76,18 @@ static int config(struct vf_instance_s* vf,
static int control(struct vf_instance_s* vf, int request, void* data)
{
switch(request){
+ case VFCTRL_GET_DEINTERLACE:
+ {
+ if(!video_out) return CONTROL_FALSE; // vo not configured?
+ return(video_out->control(VOCTRL_GET_DEINTERLACE, data)
+ == VO_TRUE) ? CONTROL_TRUE : CONTROL_FALSE;
+ }
+ case VFCTRL_SET_DEINTERLACE:
+ {
+ if(!video_out) return CONTROL_FALSE; // vo not configured?
+ return(video_out->control(VOCTRL_SET_DEINTERLACE, data)
+ == VO_TRUE) ? CONTROL_TRUE : CONTROL_FALSE;
+ }
#ifdef USE_OSD
case VFCTRL_DRAW_OSD:
if(!vo_config_count) return CONTROL_FALSE; // vo not configured?