summaryrefslogtreecommitdiffstats
path: root/mplayer.c
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 /mplayer.c
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 'mplayer.c')
-rw-r--r--mplayer.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/mplayer.c b/mplayer.c
index 013ac487ab..a266175f31 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -1926,6 +1926,29 @@ static int mp_property_fullscreen(m_option_t* prop,int action,void* arg) {
}
}
+static int mp_property_deinterlace(m_option_t* prop,int action,void* arg) {
+ int toggle = -1;
+ vf_instance_t *vf;
+ if (!sh_video || !sh_video->vfilter) return M_PROPERTY_UNAVAILABLE;
+ vf = sh_video->vfilter;
+ switch(action) {
+ case M_PROPERTY_GET:
+ if(!arg) return M_PROPERTY_ERROR;
+ vf->control(sh_video->vfilter, VFCTRL_GET_DEINTERLACE, arg);
+ return M_PROPERTY_OK;
+ case M_PROPERTY_SET:
+ if(!arg) return M_PROPERTY_ERROR;
+ M_PROPERTY_CLAMP(prop,*(int*)arg);
+ vf->control(sh_video->vfilter, VFCTRL_SET_DEINTERLACE, arg);
+ return M_PROPERTY_OK;
+ case M_PROPERTY_STEP_UP:
+ case M_PROPERTY_STEP_DOWN:
+ vf->control(sh_video->vfilter, VFCTRL_SET_DEINTERLACE, &toggle);
+ return M_PROPERTY_OK;
+ }
+ return M_PROPERTY_NOT_IMPLEMENTED;
+}
+
/// Panscan (RW)
static int mp_property_panscan(m_option_t* prop,int action,void* arg) {
@@ -2470,6 +2493,8 @@ static m_option_t mp_properties[] = {
// Video
{ "fullscreen", mp_property_fullscreen, CONF_TYPE_FLAG,
M_OPT_RANGE, 0, 1, NULL },
+ { "deinterlace", mp_property_deinterlace, CONF_TYPE_FLAG,
+ M_OPT_RANGE, 0, 1, NULL },
{ "ontop", mp_property_ontop, CONF_TYPE_FLAG,
M_OPT_RANGE, 0, 1, NULL },
{ "rootwin", mp_property_rootwin, CONF_TYPE_FLAG,