diff options
author | wm4 <wm4@nowhere> | 2014-05-28 01:37:53 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-05-28 02:08:45 +0200 |
commit | d99f30d7266aeaa13504bce181c4410b41e9cb46 (patch) | |
tree | 91261366e7606e53cfc508bfac85ddeb9ab3f9a1 /video/vdpau.h | |
parent | 8dfd93c6fbaa2af1f0f996072f0db52bd83ee28d (diff) | |
download | mpv-d99f30d7266aeaa13504bce181c4410b41e9cb46.tar.bz2 mpv-d99f30d7266aeaa13504bce181c4410b41e9cb46.tar.xz |
video: warn if an emulated hwdec API is used
mpv supports two hardware decoding APIs on Linux: vdpau and vaapi. Each
of these has emulation wrappers. The wrappers are usually slower and
have fewer features than their native opposites. In particular the libva
vdpau driver is practically unmaintained.
Check the vendor string and print a warning if emulation is detected.
Checking vendor strings is a very stupid thing to do, but I find the
thought of people using an emulated API for no reason worse.
Also, make --hwdec=auto never use an API that is detected as emulated.
This doesn't work quite right yet, because once one API is loaded,
vo_opengl doesn't unload it, so no hardware decoding will be used if the
first probed API (usually vdpau) is rejected. But good enough.
Diffstat (limited to 'video/vdpau.h')
-rw-r--r-- | video/vdpau.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/video/vdpau.h b/video/vdpau.h index 3aea414700..7fdbbf47bf 100644 --- a/video/vdpau.h +++ b/video/vdpau.h @@ -84,4 +84,6 @@ bool mp_vdpau_get_rgb_format(int imgfmt, VdpRGBAFormat *out_rgba_format); struct mp_image *mp_vdpau_upload_video_surface(struct mp_vdpau_ctx *ctx, struct mp_image *mpi); +bool mp_vdpau_guess_if_emulated(struct mp_vdpau_ctx *ctx); + #endif |