Comments (12)
VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE
was added only in the recent version of libvdpau
, that's why it's absent on 0.7
. I've added compatibility macros' in 3fc29a5. Could you check whenever source from master
branch compiles now?
There were also other changes in code, so it would be nice if you check whenever it also works, not only compiles.
from libvdpau-va-gl.
adam@acer ~/O/l/build> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ..
-- The C compiler identification is GNU 4.8.4
-- The CXX compiler identification is GNU 4.8.4
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.26")
-- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/i386-linux-gnu/libX11.so;/usr/lib/i386-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/i386-linux-gnu/libX11.so
-- checking for module 'vdpau'
-- found vdpau, version 0.7
-- checking for module 'glib-2.0'
-- found glib-2.0, version 2.40.2
-- checking for module 'libva-x11'
-- found libva-x11, version 0.35.0
-- checking for modules 'gl;glu'
-- found gl, version 11.0.4
-- found glu, version 9.0.0
-- Configuring done
-- Generating done
-- Build files have been written to: /home/adam/Other2/libvdpau-va-gl/build
adam@acer ~/O/l/build> sudo make install
Scanning dependencies of target shader-bundle-tool
[ 4%] Building C object glsl/CMakeFiles/shader-bundle-tool.dir/shader-bundle-tool.c.o
Linking C executable shader-bundle-tool
[ 4%] Built target shader-bundle-tool
Scanning dependencies of target shader-bundle-src
[ 9%] Generating shaders.c, shaders.h
[ 9%] Built target shader-bundle-src
Scanning dependencies of target shader-bundle
[ 13%] Building C object glsl/CMakeFiles/shader-bundle.dir/shaders.c.o
Linking C static library libshader-bundle.a
[ 18%] Built target shader-bundle
Scanning dependencies of target vdpau_va_gl
[ 22%] Building CXX object src/CMakeFiles/vdpau_va_gl.dir/api-bitmap-surface.cc.o
[ 27%] Building CXX object src/CMakeFiles/vdpau_va_gl.dir/api-csc-matrix.cc.o
[ 31%] Building CXX object src/CMakeFiles/vdpau_va_gl.dir/api-decoder.cc.o
/home/adam/Other2/libvdpau-va-gl/src/api-decoder.cc: In function ‘VdpStatus vdp::Decoder::Render_h264(std::shared_ptr<vdp::Decoder::Resource>, std::shared_ptr<vdp::VideoSurface::Resource>, void* const*, uint32_t, const VdpBitstreamBuffer*)’:
/home/adam/Other2/libvdpau-va-gl/src/api-decoder.cc:531:77: error: invalid static_cast from type ‘void* const*’ to type ‘const VdpPictureInfoH264*’
const auto *vdppi = static_cast<VdpPictureInfoH264 const *>(picture_info);
^
make[2]: *** [src/CMakeFiles/vdpau_va_gl.dir/api-decoder.cc.o] Error 1
make[1]: *** [src/CMakeFiles/vdpau_va_gl.dir/all] Error 2
make: *** [all] Error 2
It fails again.
from libvdpau-va-gl.
There were another change in libvdpau: VdpPictureInfo
type was changed from void *
to void
, which made C++ compiler unhappy.
I see no sane way to make compatibility wrappers for that change, so I've changed code to use bundled VDPAU headers instead (4f53876 and a8cd82f). Should be better now.
from libvdpau-va-gl.
Now it compiles with any problem, but I don't think it works:
adam@acer:/media/adam-theta/Video/Youtube$ VDPAU_DRIVER=va_gl
adam@acer:/media/adam-theta/Video/Youtube$ mpv -vo=vdpau How_To_Stop_Procrastinating-Joe_Jo.mp4
Playing: How_To_Stop_Procrastinating-Joe_Jo.mp4
(+) Video --vid=1 (_) (h264)
(+) Audio --aid=1 --alang=eng (_) (aac)
[VS] Software VDPAU backend library initialized
libva info: VA-API version 0.35.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/i386-linux-gnu/dri/i915_drv_video.so
libva info: va_openDriver() returns -1
[VS] error (vdpDeviceCreateX11): gl error 1280
[vo/vdpau] Error when calling vdp_device_create_x11: 25
Error opening/initializing the selected video_out (-vo) device.
Video: no video
Exiting... (Errors when loading file)
from libvdpau-va-gl.
Are you sure you are using recent version? I think I removed all occurrences of string "vdpDeviceCreateX11" from the code. There is no even a function named that anymore.
It could be there are another version of libvdpau-va-gl built, and libvdpau uses it. There is a list of paths that are checked, and first found library is loaded.
Try to set environment variable VDPAU_DRIVER_PATH
to the path where newly built libvdpau_va_gl.so.1
resides.
from libvdpau-va-gl.
I've just tried to test on Ubuntu 12.04, and found that libvdpau it has, doesn't know about VDPAU_DRIVER_PATH
variable yet. You need either to place libvdpau_va_gl.so
to some library path, or add its directory to the library search path. You could do the latter by export LD_LIBRARY_PATH=$PWD
. That will add current directory.
from libvdpau-va-gl.
adam@acer:~/Other2/libvdpau-va-gl/build$ VDPAU_DRIVER_PATH=/home/adam/Other2/libvdpau-va-gl/build/
adam@acer:~/Other2/libvdpau-va-gl/build$ LD_LIBRARY_PATH=$PWD
adam@acer:~/Other2/libvdpau-va-gl/build$ VDPAU_DRIVER=va_gl
adam@acer:~/Other2/libvdpau-va-gl/build$ mpv -vo=vdpau /media/adam-theta/Video/Youtube/How_To_Stop_Procrastinating-Joe_Jo.mp4
Playing: /media/adam-theta/Video/Youtube/How_To_Stop_Procrastinating-Joe_Jo.mp4
(+) Video --vid=1 (_) (h264)
(+) Audio --aid=1 --alang=eng (_) (aac)
[VS] Software VDPAU backend library initialized
libva info: VA-API version 0.35.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/i386-linux-gnu/dri/i915_drv_video.so
libva info: va_openDriver() returns -1
[VS] error (vdpDeviceCreateX11): gl error 1280
[vo/vdpau] Error when calling vdp_device_create_x11: 25
Error opening/initializing the selected video_out (-vo) device.
Video: no video
Exiting... (Errors when loading file)
Still no avail :/
from libvdpau-va-gl.
$ LD_LIBRARY_PATH=$PWD
That only sets variable for current shell session, but not for child processes. Try to use
$ export LD_LIBRARY_PATH=$PWD
from libvdpau-va-gl.
Nope, still the same.
I think it might be some sort of a problem with i915 driver though.
from libvdpau-va-gl.
Do you have another compiled libvdpau_va_gl.so
anywhere in the filesystem?
from libvdpau-va-gl.
I think it might be some sort of a problem with i915 driver though.
It could be. Function vdpDeviceCreateX11()
tries to compile couple of GPU shaders that used for colorspace conversion. As far as I know, Mesa falls back to software emulation of shaders if hardware have no appropriate support. But it could be that particular version used is returning error instead.
from libvdpau-va-gl.
As the initially reported bug was solved, I'm going to close this issue.
As for "Acer Travelmate 240/250" machine, I did a quick search and found that's it has a Pentium 4 processor. It doesn't have a hardware video decoder, which was only introduced in Core family since about 2010.
Without VA-API support, libvdpau-va-gl will be slower and more CPU time consuming than using Xv output in video players like MPlayer or mpv, since it does data format conversion in a non-optimal way.
from libvdpau-va-gl.
Related Issues (20)
- cmake issue HOT 5
- Unable to play some video with VLC (hardware accelerator failed to decode picture) HOT 15
- Segmentation fault in dri2_unbind_context HOT 5
- Change license to MIT (expat) HOT 7
- Wrong scaling in fullscreen VLC (was: Problems playing videos in VLC) HOT 24
- Vlc using vdpau, no decoding HOT 6
- cppcheck errors HOT 3
- Build failure with clang/libc++ on Linux HOT 2
- GPU memory leak in VLC on Intel HOT 4
- Archlinux integration !
- When playing .webm files with video-output default (VDPAU) VLC ends up consuming a lot of RAM (using lib64vdpau-va-gl1-0.4.0-1.mga6 on Intel Graphics) HOT 5
- VLC with "--vout vdpau" won't play the video of a certain .mp4 file (generates an error) HOT 11
- flash video freezes the whole system HOT 3
- VLC's memory consumption steadily increases after switching to next videos HOT 4
- Some videos cause complete system hang with 0.4.0 HOT 7
- Create lists of supported hardware and software. HOT 2
- Discrepancy in decoder capabilities reported by `vainfo` and `vdpauinfo` wrt Kabylake. HOT 1
- vdpauinfo crash with VDPAU_DRIVER=va_gl on nouveau drivers HOT 1
- hardware accelerator failed to decode picture HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libvdpau-va-gl.