summaryrefslogtreecommitdiffstats
path: root/video/out/vo_opengl.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/vo_opengl.c')
-rw-r--r--video/out/vo_opengl.c22
1 files changed, 1 insertions, 21 deletions
diff --git a/video/out/vo_opengl.c b/video/out/vo_opengl.c
index 5e8a3c7110..02a7318970 100644
--- a/video/out/vo_opengl.c
+++ b/video/out/vo_opengl.c
@@ -350,32 +350,12 @@ static void wait_events(struct vo *vo, int64_t until_time_us)
}
}
-static void vo_opengl_free_dr(void *opaque, uint8_t *data)
-{
- struct gl_priv *p = opaque;
- gl_video_dr_free_buffer(p->renderer, data);
-}
-
static struct mp_image *get_image(struct vo *vo, int imgfmt, int w, int h,
int stride_align)
{
struct gl_priv *p = vo->priv;
- int size = mp_image_get_alloc_size(imgfmt, w, h, stride_align);
- if (size < 0)
- return NULL;
-
- int alloc_size = size + stride_align;
- void *ptr = gl_video_dr_alloc_buffer(p->renderer, alloc_size);
- if (!ptr)
- return NULL;
-
- struct mp_image *res = mp_image_from_buffer(imgfmt, w, h, stride_align,
- ptr, alloc_size, p,
- vo_opengl_free_dr);
- if (!res)
- gl_video_dr_free_buffer(p->renderer, ptr);
- return res;
+ return gl_video_get_image(p->renderer, imgfmt, w, h, stride_align);
}
static void uninit(struct vo *vo)