summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authorrfelker <rfelker@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-05-03 05:59:29 +0000
committerrfelker <rfelker@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-05-03 05:59:29 +0000
commit63df4eb7815ef1b5df78d2712bba55982751ea2e (patch)
tree1564ec91824605970822ef177fc783442a1b0dba /libmpcodecs
parent41d608198fd75ab207721036d3d7efb035c59a1a (diff)
downloadmpv-63df4eb7815ef1b5df78d2712bba55982751ea2e.tar.bz2
mpv-63df4eb7815ef1b5df78d2712bba55982751ea2e.tar.xz
sort of a hack, but at least this lets the framerate-increasing
filters work in mplayer, albeit without proper timing... git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10053 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vf.h1
-rw-r--r--libmpcodecs/vf_tfields.c3
-rw-r--r--libmpcodecs/vf_vo.c6
3 files changed, 10 insertions, 0 deletions
diff --git a/libmpcodecs/vf.h b/libmpcodecs/vf.h
index f27eb22f36..8b69df7ebf 100644
--- a/libmpcodecs/vf.h
+++ b/libmpcodecs/vf.h
@@ -62,6 +62,7 @@ typedef struct vf_seteq_s
#define VFCTRL_GET_EQUALIZER 8 /* gset color options (brightness,contrast etc) */
#define VFCTRL_DRAW_OSD 7
#define VFCTRL_CHANGE_RECTANGLE 9 /* Change the rectangle boundaries */
+#define VFCTRL_FLIP_PAGE 10 /* Tell the vo to flip pages */
#include "vfcap.h"
diff --git a/libmpcodecs/vf_tfields.c b/libmpcodecs/vf_tfields.c
index 3b50fc8959..553dda256b 100644
--- a/libmpcodecs/vf_tfields.c
+++ b/libmpcodecs/vf_tfields.c
@@ -345,6 +345,7 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
dmpi->stride[2], mpi->stride[2]*2);
}
ret = vf_next_put_image(vf, dmpi);
+ vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL);
memcpy_pic(dmpi->planes[0], mpi->planes[0] + mpi->stride[0],
mpi->w, mpi->h/2, dmpi->stride[0], mpi->stride[0]*2);
@@ -377,6 +378,7 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
mpi->chroma_width, mpi->chroma_height, 0);
}
ret = vf_next_put_image(vf, dmpi);
+ vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL);
my_memcpy_pic(dmpi->planes[0] + dmpi->stride[0], mpi->planes[0] + mpi->stride[0],
mpi->w, mpi->h/2, dmpi->stride[0]*2, mpi->stride[0]*2);
@@ -411,6 +413,7 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi)
dmpi->stride[2], mpi->stride[2]*2, 0);
}
ret = vf_next_put_image(vf, dmpi);
+ vf_next_control(vf, VFCTRL_FLIP_PAGE, NULL);
qpel(dmpi->planes[0], mpi->planes[0] + mpi->stride[0],
mpi->w, mpi->h/2, dmpi->stride[0], mpi->stride[0]*2, 1);
diff --git a/libmpcodecs/vf_vo.c b/libmpcodecs/vf_vo.c
index 4fe36e048b..476de8af92 100644
--- a/libmpcodecs/vf_vo.c
+++ b/libmpcodecs/vf_vo.c
@@ -61,6 +61,12 @@ static int control(struct vf_instance_s* vf, int request, void* data)
video_out->draw_osd();
return CONTROL_TRUE;
#endif
+ case VFCTRL_FLIP_PAGE:
+ {
+ if(!vo_config_count) return CONTROL_FALSE; // vo not configured?
+ video_out->flip_page();
+ return CONTROL_TRUE;
+ }
case VFCTRL_SET_EQUALIZER:
{
vf_equalizer_t *eq=data;