summaryrefslogtreecommitdiffstats
path: root/video/out/gl_hwdec_vaglx.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-01-22 15:32:23 +0100
committerwm4 <wm4@nowhere>2015-01-22 15:32:23 +0100
commitaae9af348e62d5feba6547855003df0d954cb3ae (patch)
treedd0d28655c65e1f814bec3ef537ea377a941b9b7 /video/out/gl_hwdec_vaglx.c
parent29cf62d20133b32e1514a315b4f7e013ed9cb768 (diff)
downloadmpv-aae9af348e62d5feba6547855003df0d954cb3ae.tar.bz2
mpv-aae9af348e62d5feba6547855003df0d954cb3ae.tar.xz
video: have a generic context struct for hwdec backends
Before this commit, each hw backend had their own specific struct types for context, and some, like VDA, had none at all. Add a context struct (mp_hwdec_ctx) that provides a somewhat generic way to pass the hwdec context around. Some things get slightly better, some slightly more verbose. mp_hwdec_info is still around; it's still needed, but is reduced to its role of handling delayed loading of the hwdec backend.
Diffstat (limited to 'video/out/gl_hwdec_vaglx.c')
-rw-r--r--video/out/gl_hwdec_vaglx.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/video/out/gl_hwdec_vaglx.c b/video/out/gl_hwdec_vaglx.c
index 555e61aec3..f9dc42911d 100644
--- a/video/out/gl_hwdec_vaglx.c
+++ b/video/out/gl_hwdec_vaglx.c
@@ -58,13 +58,11 @@ static void destroy(struct gl_hwdec *hw)
struct priv *p = hw->priv;
destroy_texture(hw);
va_destroy(p->ctx);
-
- hw->info->vaapi_ctx = NULL;
}
static int create(struct gl_hwdec *hw)
{
- if (hw->info->vaapi_ctx)
+ if (hw->hwctx)
return -1;
Display *x11disp = glXGetCurrentDisplay();
if (!x11disp)
@@ -84,7 +82,7 @@ static int create(struct gl_hwdec *hw)
destroy(hw);
return -1;
}
- hw->info->vaapi_ctx = p->ctx;
+ hw->hwctx = &p->ctx->hwctx;
hw->converted_imgfmt = IMGFMT_RGB0;
return 0;
}