diff options
author | rfelker <rfelker@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-05-03 05:59:29 +0000 |
---|---|---|
committer | rfelker <rfelker@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-05-03 05:59:29 +0000 |
commit | 63df4eb7815ef1b5df78d2712bba55982751ea2e (patch) | |
tree | 1564ec91824605970822ef177fc783442a1b0dba /libmpcodecs | |
parent | 41d608198fd75ab207721036d3d7efb035c59a1a (diff) | |
download | mpv-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.h | 1 | ||||
-rw-r--r-- | libmpcodecs/vf_tfields.c | 3 | ||||
-rw-r--r-- | libmpcodecs/vf_vo.c | 6 |
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; |