Page 1 of 1

using vdpau_avcodec in VLC 2.2.0

Posted: 19 Mar 2014 23:00
by GScharf
Hi,

I'm working with recent (2014/3/18ish) git pulls of both vlc and avcodec, running on Ubuntu 12.04, and a Zotac ID-86, which sports a GEForce GT 610 gpu.

As far as I can tell, I've satisfied all the requirements from http://www.remlab.net/op/vlc-vdpau.shtml, have turned on hw-accell in preferences, and the build went well, but playback is bad, with dropped frames and blockiness artifacts.
vlc --list | grep vdpau
VLC media player 2.2.0-git Weatherwax (revision 4c156e1)
vdpau_deinterlace VDPAU deinterlacing filter
vdpau_display VDPAU output
vdpau_sharpen VDPAU sharpen video filter
vdpau_chroma VDPAU surface conversions
vdpau_chroma VDPAU surface conversions
vdpau_adjust VDPAU adjust video filter
vdpau_avcodec VDPAU hardware-accelerated decoder
However, whenever I launch my test stream, the log will tell me that it's using vdpau_display and vdpau_chroma:

Code: Select all

[ac701420] vdpau_display vout display debug: using back-end NVIDIA VDPAU Driver Shared Library 331.20 Wed Oct 30 17:56:34 PDT 2013 [ac701420] vdpau_display vout display debug: using RGBA format 2 [ac701420] vdpau_display vout display debug: using X11 window 0x03c00001 [ac701420] core vout display debug: VoutDisplayEvent 'fullscreen' 0 [ac701420] core vout display debug: VoutDisplayEvent 'resize' 1920x1080 window [ac701420] core vout display debug: using vout display module "vdpau_display" [ac701420] core vout display debug: A filter to adapt decoder to display is needed [ac769d68] core filter debug: looking for video filter2 module matching "any": 63 candidates [ac769d68] core filter debug: using video filter2 module "vdpau_chroma" [ac701420] core vout display debug: Filter 'VDPAU' (0xac769d68) appended to chain [ac068840] core video output debug: original format sz 1920x1090, of (0,0), vsz 1920x1080, 4cc I420, sar 1:1, msk r0x0 g0x0 b0x0 [ac069
but selects what I interpret to be plain vanilla avcodec:

Code: Select all

[abd538f8] core decoder debug: looking for decoder module matching "any": 40 candidates [abd538f8] avcodec decoder debug: CPU flags: 0x000010db [abd538f8] avcodec decoder debug: trying to use direct rendering [abd538f8] avcodec decoder debug: allowing 4 thread(s) for decoding [abd538f8] avcodec decoder debug: avcodec codec (H264 - MPEG-4 AVC (part 10)) started [abd538f8] avcodec decoder debug: using frame thread mode with 4 threads [abd538f8] core decoder debug: using decoder module "avcodec"
even when I specifically request the vdpau module:

Code: Select all

[abe538f8] core decoder debug: looking for decoder module matching "vdpau_avcodec": 40 candidates [abe538f8] avcodec decoder debug: CPU flags: 0x000010db [abe538f8] avcodec decoder debug: trying to use direct rendering [abe538f8] avcodec decoder debug: allowing 4 thread(s) for decoding [abe538f8] avcodec decoder debug: avcodec codec (H264 - MPEG-4 AVC (part 10)) started [abe538f8] avcodec decoder debug: using frame thread mode with 4 threads [abe538f8] core decoder debug: using decoder module "avcodec"

Am I correct in my interpretation that this is in fact the software only decoder, and if so, what should I investigate next?

Thx.

Re: using vdpau_avcodec in VLC 2.2.0

Posted: 20 Mar 2014 16:13
by Rémi Denis-Courmont
vdpau_avcodec is not a decoder module. You still need to use avcodec for slicing to VDPAU.

Re: using vdpau_avcodec in VLC 2.2.0

Posted: 21 Mar 2014 21:54
by Rémi Denis-Courmont
You need to look further down in the VLC logs, e.g.:

Code: Select all

[00007fcc9cda0ab8] avcodec decoder debug: available hardware decoder output format 109 (vdpau) [00007fcc9cda0ab8] avcodec decoder debug: available software decoder output format 0 (yuv420p) [00007fcc8c0009e8] core generic debug: looking for hw decoder module matching "any": 3 candidates [00007fcc8c0009e8] vdpau_avcodec generic debug: video surface limits: 4096x4096 [00007fcc8c0009e8] vdpau_avcodec generic debug: decoder profile limits: level 41 mb 65536 4032x4080 [00007fcc8c0009e8] core generic debug: using hw decoder module "vdpau_avcodec" [00007fcc9cda0ab8] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library 331.49 Wed Feb 12 20:20:12 PST 2014 for hardware decoding.
Or you can check if vdpau_avcodec shows up in the modules tree. In the GUI: Tools -> Messages -> Modules Tree. In the CLI: "tree" command.