summaryrefslogtreecommitdiffstats
path: root/video/out/gl_video.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-11-04 00:00:18 +0100
committerwm4 <wm4@nowhere>2013-11-04 00:11:07 +0100
commit571e697a7c557d10bcc9130915c431829981d877 (patch)
tree027490a8aca629a9c3d321556b5bc6da5159d844 /video/out/gl_video.h
parent6f17410f88fd3765b6598b4e706b1d03ee85efe8 (diff)
downloadmpv-571e697a7c557d10bcc9130915c431829981d877.tar.bz2
mpv-571e697a7c557d10bcc9130915c431829981d877.tar.xz
vo_opengl: add infrastructure for hardware decoding OpenGL interop
Most hardware decoding APIs provide some OpenGL interop. This allows using vo_opengl, without having to read the video data back from GPU. This requires adding a backend for each hardware decoding API. (Each backend is an entry in gl_hwdec_vaglx[].) The backends expose video data as a set of OpenGL textures. Add infrastructure to support this. The next commit will add support for VA-API.
Diffstat (limited to 'video/out/gl_video.h')
-rw-r--r--video/out/gl_video.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/video/out/gl_video.h b/video/out/gl_video.h
index dcec9f3888..cab5f0f077 100644
--- a/video/out/gl_video.h
+++ b/video/out/gl_video.h
@@ -56,6 +56,7 @@ struct gl_video;
struct gl_video *gl_video_init(GL *gl, struct mp_log *log);
void gl_video_uninit(struct gl_video *p);
void gl_video_set_options(struct gl_video *p, struct gl_video_opts *opts);
+bool gl_video_check_format(struct gl_video *p, int mp_format);
void gl_video_config(struct gl_video *p, struct mp_image_params *params);
void gl_video_set_output_depth(struct gl_video *p, int r, int g, int b);
void gl_video_set_lut3d(struct gl_video *p, struct lut3d *lut3d);
@@ -73,6 +74,7 @@ bool gl_video_get_equalizer(struct gl_video *p, const char *name, int *val);
void gl_video_set_debug(struct gl_video *p, bool enable);
void gl_video_resize_redraw(struct gl_video *p, int w, int h);
-bool gl_video_check_format(int mp_format);
+struct gl_hwdec;
+void gl_video_set_hwdec(struct gl_video *p, struct gl_hwdec *hwdec);
#endif