From 191bcbd1f2a0aa7ab64ed0e2768f29fedf2f4c30 Mon Sep 17 00:00:00 2001 From: wm4 Date: Sun, 4 Nov 2012 15:56:04 +0100 Subject: 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. --- video/out/vo.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'video/out/vo.h') diff --git a/video/out/vo.h b/video/out/vo.h index 452d50d548..7798d6393b 100644 --- a/video/out/vo.h +++ b/video/out/vo.h @@ -48,7 +48,6 @@ enum mp_voctrl { VOCTRL_RESUME, /* libmpcodecs direct rendering */ VOCTRL_GET_IMAGE, - VOCTRL_DRAW_IMAGE, VOCTRL_GET_PANSCAN, VOCTRL_SET_PANSCAN, VOCTRL_SET_EQUALIZER, // struct voctrl_set_equalizer_args @@ -144,8 +143,6 @@ struct osd_state; struct mp_image; struct vo_driver { - // Driver uses new API - bool is_new; // Driver buffers or adds (deinterlace) frames and will keep track // of pts values itself bool buffer_frames; @@ -176,7 +173,8 @@ struct vo_driver { */ int (*control)(struct vo *vo, uint32_t request, void *data); - void (*draw_image)(struct vo *vo, struct mp_image *mpi, double pts); + void (*draw_image)(struct vo *vo, struct mp_image *mpi); + void (*draw_image_pts)(struct vo *vo, struct mp_image *mpi, double pts); /* * Get extra frames from the VO, such as those added by VDPAU -- cgit v1.2.3