summaryrefslogtreecommitdiffstats
path: root/video/out/vo_caca.c
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/out/vo_caca.c
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/out/vo_caca.c')
-rw-r--r--video/out/vo_caca.c7
1 files changed, 2 insertions, 5 deletions
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,