summaryrefslogtreecommitdiffstats
path: root/video/vdpau.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-05-09 21:49:32 +0200
committerwm4 <wm4@nowhere>2014-05-10 10:44:16 +0200
commit0e1491346edf32fb9576b60c743b6139edba84a7 (patch)
tree7aeae7f3b877ebd5db0486c367a0cb56e0e067b5 /video/vdpau.h
parent203be26588798e7ecb22e02f116fc4fbec438a61 (diff)
downloadmpv-0e1491346edf32fb9576b60c743b6139edba84a7.tar.bz2
mpv-0e1491346edf32fb9576b60c743b6139edba84a7.tar.xz
vo_vdpau, vo_opengl: handle vdpau preemption differently
Use the newly provided mp_vdpau_handle_preemption() function, instead of accessing mp_vdpau_ctx fields directly. Will probably make multithreaded access to the vdpau context easier. Mostly unrelated to the actual changes, I've noticed that using hw decoding with vo_opengl sometimes leads to segfaults inside of nvidia's libGL when doing the following: 1. use hw decoding + vo_opengl 2. switch to console (will preempt on nvidia systems) 3. switch back to X (mpv will recover, switches to sw decoding) 4. enable hw decoding again 5. exit mpv Then it segfaults when mpv finally calls exit(). I'll just blame nvidia, although it seems likely that something in the gl_hwdec_vdpau.c preemption handling triggers corner cases in nvidia's code.
Diffstat (limited to 'video/vdpau.h')
-rw-r--r--video/vdpau.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/video/vdpau.h b/video/vdpau.h
index d7bc5221a4..38e679db25 100644
--- a/video/vdpau.h
+++ b/video/vdpau.h
@@ -61,7 +61,6 @@ struct mp_vdpau_ctx *mp_vdpau_create_device_x11(struct mp_log *log,
struct vo_x11_state *x11);
void mp_vdpau_destroy(struct mp_vdpau_ctx *ctx);
-bool mp_vdpau_status_ok(struct mp_vdpau_ctx *ctx);
int mp_vdpau_handle_preemption(struct mp_vdpau_ctx *ctx, uint64_t *counter);
struct mp_image *mp_vdpau_get_video_surface(struct mp_vdpau_ctx *ctx,