diff options
author | wm4 <wm4@nowhere> | 2015-04-05 22:44:22 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-04-05 22:48:40 +0200 |
commit | a18dc01655b86de040b5a3a02ffcad694b843b17 (patch) | |
tree | 06b4cc290b134187805f8f8ead35259eb1fa95fc /sub | |
parent | 20160fa2e13641acb4276ce68f7fad9025425b77 (diff) |
vaapi: fight with Intel's broken video decoding GL interop
Use texture-from-pixmap instead of vaapi's "native" GLX support.
Apparently the latter is unused by other projects. Possibly it's broken
due that, and Intel's inability to provide anything non-broken in
relation to video.
The new code basically uses the X11 output method on a in-memory pixmap,
and maps this pixmap as texture using standard GLX mechanisms. This
requires a lot of X11 and GLX boilerplate, so the code grows. (I don't
know why libva's GLX interop doesn't just do the same under the hood,
instead of bothering the world with their broken/unmaintained "old"
method, whatever it did. I suspect that Intel programmers are just
genuine sadists.)
This change was suggested in issue #1765.
The old GLX support is removed, as it's redundant and broken anyway.
One remaining issue is that the first vaPutSurface() call fails with an
unknown error. It returns -1, which is pretty strange, because vaapi
error codes are normally positive. It happened with the old GLX code
too, but does not happen with vo_vaapi. I couldn't find out why.
Diffstat (limited to 'sub')
0 files changed, 0 insertions, 0 deletions