diff options
author | wm4 <wm4@nowhere> | 2017-03-23 11:06:28 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2017-03-23 11:14:11 +0100 |
commit | a52a52fa6ec4265a2aeb39d775f46ebc928fe8c7 (patch) | |
tree | 2b1bf1963abecc291a35ef032f9be34e438b648a /video/vdpau.h | |
parent | b0cbda84ed923c8915642443b7cf5de5a2ba7b26 (diff) | |
download | mpv-a52a52fa6ec4265a2aeb39d775f46ebc928fe8c7.tar.bz2 mpv-a52a52fa6ec4265a2aeb39d775f46ebc928fe8c7.tar.xz |
vdpau: support new vdpau libavcodec decode API
The new API works like the new vaapi API, using generic hwaccel support.
One minor detail is the error message that will be printed if using
non-4:2:0 surfaces (which as far as I can tell is completely broken in
the nVidia drivers and thus not supported by mpv). The HEVC warning
(which is completely broken in the nVidia drivers but should work with
Mesa) had to be added to the generic hwaccel code.
This also trashes display preemption recovery. Fuck that. It never
really worked. If someone complains, I might attempt to add it back
somehow.
This is the 4th iteration of the libavcodec vdpau API (after the
separate decoder API, the manual hwaccel API, and the automatic vdpau
hwaccel API). Fortunately, further iterations will be generic, and not
require much vdpau-specific changes (if any at all).
Diffstat (limited to 'video/vdpau.h')
-rw-r--r-- | video/vdpau.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/video/vdpau.h b/video/vdpau.h index bffe901373..b320fa525a 100644 --- a/video/vdpau.h +++ b/video/vdpau.h @@ -88,6 +88,10 @@ struct mp_vdpau_ctx *mp_vdpau_create_device_x11(struct mp_log *log, Display *x11 bool probing); void mp_vdpau_destroy(struct mp_vdpau_ctx *ctx); +struct mpv_global; +struct mp_hwdec_ctx *vdpau_create_standalone(struct mpv_global *global, + struct mp_log *plog, bool probing); + 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, |