From 0be3a94e0b81d553849f9520f7ee9f2b6e34c6b4 Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 20 Apr 2018 22:12:29 +0200 Subject: vo_libmpv: support GPU rendered screenshots Like DR, this needed a lot of preparation, and here's the boring glue code that finally implements it. --- video/out/gpu/libmpv_gpu.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'video/out/gpu') diff --git a/video/out/gpu/libmpv_gpu.c b/video/out/gpu/libmpv_gpu.c index 3674d678c7..f687c97b51 100644 --- a/video/out/gpu/libmpv_gpu.c +++ b/video/out/gpu/libmpv_gpu.c @@ -190,6 +190,14 @@ static struct mp_image *get_image(struct render_backend *ctx, int imgfmt, return gl_video_get_image(p->renderer, imgfmt, w, h, stride_align); } +static void screenshot(struct render_backend *ctx, struct vo_frame *frame, + struct voctrl_screenshot *args) +{ + struct priv *p = ctx->priv; + + gl_video_screenshot(p->renderer, frame, args); +} + static void destroy(struct render_backend *ctx) { struct priv *p = ctx->priv; @@ -217,5 +225,6 @@ const struct render_backend_fns render_backend_gpu = { .get_target_size = get_target_size, .render = render, .get_image = get_image, + .screenshot = screenshot, .destroy = destroy, }; -- cgit v1.2.3