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_caca.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'video/out/vo_caca.c') diff --git a/video/out/vo_caca.c b/video/out/vo_caca.c index 63413e0e5e..3c7614c195 100644 --- a/video/out/vo_caca.c +++ b/video/out/vo_caca.c @@ -164,12 +164,11 @@ static int config(struct vo *vo, uint32_t width, uint32_t height, return resize(); } -static uint32_t draw_image(struct vo *vo, mp_image_t *mpi) +static void draw_image(struct vo *vo, mp_image_t *mpi) { assert(mpi->stride[0] == image_width * 3); caca_dither_bitmap(canvas, 0, 0, screen_w, screen_h, dither, mpi->planes[0]); - return true; } static int draw_slice(struct vo *vo, uint8_t *src[], int stride[], int w, int h, @@ -369,15 +368,12 @@ static int control(struct vo *vo, uint32_t request, void *data) switch (request) { case VOCTRL_QUERY_FORMAT: return query_format(*((uint32_t *)data)); - case VOCTRL_DRAW_IMAGE: - return draw_image(vo, data); default: return VO_NOTIMPL; } } const struct vo_driver video_out_caca = { - .is_new = false, .info = &(const vo_info_t) { "libcaca", "caca", @@ -387,6 +383,7 @@ const struct vo_driver video_out_caca = { .preinit = preinit, .config = config, .control = control, + .draw_image = draw_image, .draw_slice = draw_slice, .draw_osd = draw_osd, .flip_page = flip_page, -- cgit v1.2.3