summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-11-17 18:16:21 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-11-17 18:16:21 +0000
commit7b25afd7423e9056782993cbd1b32ead64ac1462 (patch)
treeaab2cdd747f6b0df09ae07e7539ef3033633e243 /libmpcodecs
parent1719ee50e2ebbedfc678d2cddd0fea618dde7062 (diff)
downloadmpv-7b25afd7423e9056782993cbd1b32ead64ac1462.tar.bz2
mpv-7b25afd7423e9056782993cbd1b32ead64ac1462.tar.xz
Add deinterlace property, patch by Carl Eugen Hoyos
(cehoyos [at] rainbow studorg tuwien ac at) with small modifications by me. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20989 b3059339-0415-0410-9bf9-f77b7e298cf2
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?