You are not logged in.

#1 2010-06-24 03:24:24

davidm
Member
Registered: 2009-04-25
Posts: 371

ffmpeg (modified extra version) & vdpau (+VLC)

I have mplayer successfully using vdpau.  It works great using under 15% of the cpu to play a 1080p movie.  However I'm having a heck of a time getting VLC to work with vdpau (indirectly using vaapi).

I suspect the culprit is my ffmpeg which I have attempted to use a modified build of the version in extra:

[me@arch-desktop projects]$ ffmpeg -formats | grep -i vdpau
FFmpeg version SVN-r23619, Copyright (c) 2000-2010 the FFmpeg developers
  built on Jun 23 2010 21:13:45 with gcc 4.5.0 20100610 (prerelease)
  configuration: --prefix=/usr --enable-gpl --enable-vaapi --enable-vdpau --enable-libmp3lame --enable-libvorbis --enable-libfaac --enable-libfaad --enable-libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable-postproc --enable-shared --enable-pthreads --enable-x11grab --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libschroedinger --enable-version3 --enable-nonfree --enable-runtime-cpudetect --disable-debug
  libavutil     50.19. 0 / 50.19. 0
  libavcodec    52.76. 0 / 52.76. 0
  libavformat   52.68. 0 / 52.68. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.20. 0 /  1.20. 0
  libswscale     0.11. 0 /  0.11. 0
  libpostproc   51. 2. 0 / 51. 2. 0

I manually added in both "--enable-vaapi" and "--enable-vdpau" as the extra version to did not seem to have this by default.

From looking around though it would seem that I am supposed to be seeing some additional things, like so:

D V D h264_vdpau H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration)
D V DT mpeg1video_vdpau MPEG-1 video (VDPAU acceleration)
D V DT mpegvideo_vdpau MPEG-1/2 video (VDPAU acceleration)
D V D vc1_vdpau SMPTE VC-1 VDPAU
D V D wmv3_vdpau Windows Media Video 9 VDPAU

but I am not which likely explains why VLC with vaapi enable is not working correctly. Even though:

(when playing a 1080p clip)

[me@arch-desktop projects]$ vlc --ffmpeg-hw logo.mpg 2>&1 | grep "VA API"
[0xb0a7f9ec] avcodec decoder: Using VA API version 0.31 for hardware decoding.
[me@arch-desktop projects]$ vlc --ffmpeg-hw logo.mpg
VLC media player 1.1.0 The Luggage (revision exported)
Blocked: call to unsetenv("DBUS_ACTIVATION_ADDRESS")
Blocked: call to unsetenv("DBUS_ACTIVATION_BUS_TYPE")
Warning: call to signal(13, 0x1)
Blocked: call to setlocale(6, "")
Blocked: call to sigaction(17, 0xb004b058, 0xb004b0e4)
Blocked: call to setlocale(6, "")
Warning: call to signal(13, 0x1)
Warning: call to rand()
Warning: call to rand()
Warning: call to rand()
libva: libva version 0.31.0-sds6
Xlib:  extension "XFree86-DRI" missing on display ":0.0".
Warning: call to rand()
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/va/drivers/nvidia_drv_video.so
Warning: call to rand()
libva: va_openDriver() returns 0
[0x92c7d2c] avcodec decoder: Using VA API version 0.31 for hardware decoding.
[0x92c7d2c] avcodec decoder error: more than 5 seconds of late video -> dropping frame (computer too slow ?)
[0x92c7d2c] avcodec decoder error: more than 5 seconds of late video -> dropping frame (computer too slow ?)
[0x92c7d2c] avcodec decoder error: more than 5 seconds of late video -> dropping frame (computer too slow ?)
Blocked: call to sigaction(17, 0xbfb49578, 0xbfb49604)
Blocked: call to sigaction(17, 0xbfb49604, (nil))

I do have 'ffmpeg-hw=1' set in my vlcrc file as well.

I tried to follow the instructions set out here in the comments:

Comment by: uwinkelvos on Sun, 20 Jun 2010 22:36:31 +0000
vlc-dev http://aur.archlinux.org/packages.php?ID=26800

comment: Comment by: uwinkelvos on Thu, 27 May 2010 17:03:32 +0000

3 steps to success:

1) build and install libva-sds and a driver (e.g. vdpau-video). verify it works: vainfo
2) recompile ffmpeg from extra: add --enable-vaapi to its configure line. (this has nothing to do with vdpau)
3) recompile this package. no need for any configure option like --enable-libva, as this should be autodetected. verify it works: vlc --ffmpeg-hw /my/h264/1080p/movie.mkv 2>&1 | grep "VA API" Should result in: [blahblah] avcodec decoder: Using VA API version 0.31 for hardware decoding.

Some issues: the use GPU acceleration option does not seem to do the same as --ffmpeg-hw. ffmpeg-hw can be set in ~./config/vlc/vlcrc. with both enabled i get less than 20% cpu usage, with all cores @ 800 Mhz, while playing an 1080p movie.

-------------
this should be all.

http://aur.archlinux.org/packages.php?ID=28077


vainfo:

libva: libva version 0.31.0-sds6
Xlib:  extension "XFree86-DRI" missing on display ":0.0".
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/va/drivers/nvidia_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA API version: 0.31
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA API - 0.6.9
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
03:00.0 VGA compatible controller: nVidia Corporation G98 [GeForce 8400 GS] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: Device 19f1:0a5e
        Flags: bus master, fast devsel, latency 0, IRQ 21
        Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Memory at f8000000 (64-bit, non-prefetchable) [size=32M]
        I/O ports at ec00 [size=128]
        [virtual] Expansion ROM at fafe0000 [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: nvidia
        Kernel modules: nvidia, nouveau, nvidiafb

I've done all of the above (only modification being adding "--enable-vdpau" after it didn't work the first time) and get the message which supposedly shows success but I can tell something is very wrong somewhere.

There must be something silly here that I am missing or doing wrong.  Does anyone see it?  Hmmm.  I am using Twinview, however I didn't think this posed a problem with vdpau and mplayer does it right anyway.  What of vaapi though?  And my ffmpeg -formats output seems wrong.

Offline

#2 2011-09-16 11:04:17

hussam
Member
Registered: 2006-03-26
Posts: 572
Website

Re: ffmpeg (modified extra version) & vdpau (+VLC)

I'm having the same issue but without a modified ffmpeg or vlc. Did you ever solve your problem?

Offline

#3 2011-09-16 11:09:52

wonder
Developer
From: Bucharest, Romania
Registered: 2006-07-05
Posts: 5,941
Website

Re: ffmpeg (modified extra version) & vdpau (+VLC)

"I manually added in both "--enable-vaapi" and "--enable-vdpau" as the extra version to did not seem to have this by default."

it's autodetected at compile time and is enabled if dependencies are met.

we are using ffmpeg 0.7 branch and i see that it has this commit http://git.videolan.org/?p=ffmpeg.git;a … 5382dc4ef1

is it related to your problem? because i didn't understand what is the exact problem.


Give what you have. To someone, it may be better than you dare to think.

Offline

#4 2011-09-16 11:27:36

hussam
Member
Registered: 2006-03-26
Posts: 572
Website

Re: ffmpeg (modified extra version) & vdpau (+VLC)

mainly the warning:
[0x92c7d2c] avcodec decoder error: more than 5 seconds of late video -> dropping frame (computer too slow ?)
This makes video playing with VLC impossible for videos that use avcodec
I get that on 430GT card on a core 2 duo processor. ffplay and mplayer play the same videos flawlessly.

Offline

#5 2011-09-16 11:54:26

wonder
Developer
From: Bucharest, Romania
Registered: 2006-07-05
Posts: 5,941
Website

Re: ffmpeg (modified extra version) & vdpau (+VLC)

i'll push a new ffmpeg containing that fix.


Give what you have. To someone, it may be better than you dare to think.

Offline

#6 2011-09-16 16:06:44

hussam
Member
Registered: 2006-03-26
Posts: 572
Website

Re: ffmpeg (modified extra version) & vdpau (+VLC)

ok, I'd download and check when I get home tonight.
One last question. isn't there a 0.8 branch is that too "on the edge"?

Offline

#7 2011-09-16 16:10:45

wonder
Developer
From: Bucharest, Romania
Registered: 2006-07-05
Posts: 5,941
Website

Re: ffmpeg (modified extra version) & vdpau (+VLC)

hussam wrote:

ok, I'd download and check when I get home tonight.
One last question. isn't there a 0.8 branch is that too "on the edge"?

it has soname bump and API changes. we have 45 packages that have to be recompiled and maybe patched. I don't want to do the later smile

Last edited by wonder (2011-09-16 16:14:57)


Give what you have. To someone, it may be better than you dare to think.

Offline

#8 2011-09-16 16:28:25

hussam
Member
Registered: 2006-03-26
Posts: 572
Website

Re: ffmpeg (modified extra version) & vdpau (+VLC)

wonder wrote:
hussam wrote:

ok, I'd download and check when I get home tonight.
One last question. isn't there a 0.8 branch is that too "on the edge"?

it has soname bump and API changes. we have 45 packages that have to be recompiled and maybe patched. I don't want to do the later smile

understandable smile

Offline

#9 2011-09-16 16:29:23

wonder
Developer
From: Bucharest, Romania
Registered: 2006-07-05
Posts: 5,941
Website

Re: ffmpeg (modified extra version) & vdpau (+VLC)

0.7 in on pair with 0.8 when it comes to features.


Give what you have. To someone, it may be better than you dare to think.

Offline

#10 2011-09-16 16:37:08

hussam
Member
Registered: 2006-03-26
Posts: 572
Website

Re: ffmpeg (modified extra version) & vdpau (+VLC)

still the same problem.
[0x9371a5c] avcodec decoder error: more than 5 seconds of late video -> dropping frame (computer too slow ?)                                                                                 
[0x9371a5c] avcodec decoder error: more than 5 seconds of late video -> dropping frame (computer too slow ?)     

ffplay and mplayer play videos without any problems. vlc is just being problematic.


pacman -Qi ffmpeg
Name           : ffmpeg
Version        : 20110916-1
URL            : http://ffmpeg.org/
Licenses       : GPL
Groups         : None
Provides       : None
Depends On     : bzip2  lame  sdl  libvorbis  xvidcore  zlib  x264  libtheora  opencore-amr
                 alsa-lib  libvdpau  libxfixes  schroedinger  libvpx  libva  openjpeg
                 rtmpdump
Optional Deps  : None
Required By    : gegl  gstreamer0.10-ffmpeg  k3b  kdemultimedia-ffmpegthumbs  mediastreamer
                 mplayer2  vlc
Conflicts With : None
Replaces       : None
Installed Size : 19632.00 K
Packager       : Ionut Biru <ibiru@archlinux.org>
Architecture   : i686
Build Date     : Fri 16 Sep 2011 03:48:12 PM EEST
Install Date   : Fri 16 Sep 2011 07:34:48 PM EEST
Install Reason : Installed as a dependency for another package
Install Script : No
Description    : Complete and free Internet live audio and video broadcasting solution for
                 Linux/Unix

latest vlc package too.

Last edited by hussam (2011-09-16 16:38:05)

Offline

#11 2012-01-10 19:20:17

chessmaster
Member
From: Dover,DE
Registered: 2011-12-10
Posts: 30

Re: ffmpeg (modified extra version) & vdpau (+VLC)

wonder wrote:

"I manually added in both "--enable-vaapi" and "--enable-vdpau" as the extra version to did not seem to have this by default."

it's autodetected at compile time and is enabled if dependencies are met.

we are using ffmpeg 0.7 branch and i see that it has this commit http://git.videolan.org/?p=ffmpeg.git;a … 5382dc4ef1

is it related to your problem? because i didn't understand what is the exact problem.

In the PKGBUILD configuration file did you add this option??


When you see a good move, wait — look for a better one.

Offline

#12 2012-01-11 04:21:56

David Batson
Member
Registered: 2011-10-13
Posts: 640

Re: ffmpeg (modified extra version) & vdpau (+VLC)

I get a segmentation fault with VLC.  Works with mplayer though.

$ vlc --ffmpeg-hw GimmeShelterOriginal.mp4
VLC media player 1.1.13 The Luggage (revision exported)
Blocked: call to unsetenv("DBUS_ACTIVATION_ADDRESS")
Blocked: call to unsetenv("DBUS_ACTIVATION_BUS_TYPE")
[0x1941120] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Blocked: call to setlocale(6, "")
Blocked: call to setlocale(6, "")

(process:1774): Gtk-WARNING **: Locale not supported by C library.
	Using the fallback 'C' locale.
libva: VA-API version 0.32.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/dri/i965_drv_video.so
libva: va_openDriver() returns 0
[0x7f4610c06dc0] avcodec decoder: Using VA API version 0.32 for hardware decoding.
Segmentation fault
$ mplayer -vo vaapi GimmeShelterOriginal.mp4
MPlayer SVN-r34357-4.6.2 (C) 2000-2011 MPlayer Team
176 audio & 379 video codecs
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing GimmeShelterOriginal.mp4.
libavformat file format detected.
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (aac), -aid 0
VIDEO:  [H264]  854x480  0bpp  30.000 fps  1230.4 kbps (150.2 kbyte/s)
Clip info:
 starttime: 0
 totalduration: 210
 totaldatarate: 1335
 bytelength: 35124468
 canseekontime: true
 sourcedata: B4A7DAAE2MH1311424215036134
 purl: 
 pmsg: 
Load subtitles in ./
libva: VA-API version 0.32.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/dri/i965_drv_video.so
libva: va_openDriver() returns 0
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 2 ch, s16le, 130.5 kbit/9.25% (ratio: 16309->176400)
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
[AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file or directory
AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
Starting playback...
Unsupported PixelFormat 61
Unsupported PixelFormat 81
Unsupported PixelFormat 61
[VD_FFMPEG] Trying pixfmt=0.
Unsupported PixelFormat 61
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
[VD_FFMPEG] Trying pixfmt=1.
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [vaapi] 854x480 => 854x480 H.264 VA-API Acceleration 
[VD_FFMPEG] XVMC-accelerated MPEG-2.
A:  11.2 V:  11.2 A-V: -0.002 ct:  0.036   0/  0  2%  3%  0.2% 0 0 

Offline

Board footer

Powered by FluxBB