summaryrefslogtreecommitdiffstats
path: root/video/filter
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2012-11-04 15:56:04 +0100
committerwm4 <wm4@nowhere>2013-01-13 17:39:31 +0100
commit191bcbd1f2a0aa7ab64ed0e2768f29fedf2f4c30 (patch)
tree5051c40e3342b47369953605ea0a7edf3d1599eb /video/filter
parent97032f1b58cc4c5c17002939703ee16904691675 (diff)
downloadmpv-191bcbd1f2a0aa7ab64ed0e2768f29fedf2f4c30.tar.bz2
mpv-191bcbd1f2a0aa7ab64ed0e2768f29fedf2f4c30.tar.xz
video/out: make draw_image mandatory, remove VOCTRL_DRAW_IMAGE
Remove VOCTRL_DRAW_IMAGE and always set vo_driver.draw_image in VOs. Make draw_image mandatory: change some VOs (like vo_x11) to support it, and remove the image-to-slices fallback in vf_vo. Remove vo_driver.is_new. This member indicated whether draw_image is supported unconditionally, which is now always the case. draw_image_pts is a hack until the video filter chain is changed to include the PTS as field in mp_image. Then vo_vdpau and vo_lavc will be changed to use draw_image.
Diffstat (limited to 'video/filter')
-rw-r--r--video/filter/vf_vo.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/video/filter/vf_vo.c b/video/filter/vf_vo.c
index 13b55f250d..3e1560ebdc 100644
--- a/video/filter/vf_vo.c
+++ b/video/filter/vf_vo.c
@@ -135,18 +135,7 @@ static int put_image(struct vf_instance *vf, mp_image_t *mpi, double pts)
{
if (!video_out->config_ok)
return 0;
- // first check, maybe the vo/vf plugin implements draw_image using mpi:
- if (vo_draw_image(video_out, mpi, pts) >= 0)
- return 1;
- // nope, fallback to old draw_frame/draw_slice:
- if (!(mpi->flags & (MP_IMGFLAG_DIRECT | MP_IMGFLAG_DRAW_CALLBACK))) {
- // blit frame:
- if (vf->default_caps & VFCAP_ACCEPT_STRIDE)
- vo_draw_slice(video_out, mpi->planes, mpi->stride, mpi->w, mpi->h,
- 0, 0);
- // else: out of luck
- }
- return 1;
+ return vo_draw_image(video_out, mpi, pts);
}
static void start_slice(struct vf_instance *vf, mp_image_t *mpi)