or Connect
AVS › AVS Forum › Video Components › Home Theater Computers › HTPC - Linux Chat › VLC 1.1.0+ with VA-API
New Posts  All Forums:Forum Nav:

VLC 1.1.0+ with VA-API

post #1 of 9
Thread Starter 


What's new?

Ready for HD
GPU decoding on Windows Vista and 7, using DxVA2 for H.264, VC-1 and MPEG-2
GPU decoding on GNU/Linux, using VAAPI for H.264, VC-1 and MPEG-2
DSP decoding using OpenMax IL, for compatible embedded devices
Improved support for MKV HD, including seeking fixes, and 7.1 channels codecs
Support for new codecs, like Blu-Ray subtitles, MPEG-4 lossless and VP8
NB: so far, on Windows for GPU decoding, VideoLAN is recommending nVidia® GPU, until ATI® drivers are working with VLC architecture, and until the VLC developers get access to some Intel® hardware supporting GPU decoding.

New add-ons and script framework so one can personalize its vlc.
Written in lua
2 main types of scripts:
content add-ons, integrated in the playlist
functionnalities extensions, like metadata searching on the web, or subtitles look-ups
Very Simple
Web improvements
Support for WebM decoding and encoding
Improved web plugins
Better streaming capabilities
Better Audio experience
Integrated playlist in the Qt4 interface
Multiple views (like album art) in the playlist in the Qt4 interface
Support for AMR-NB, Mpeg-4 ALS, Vorbis 6.1/7.1, FLAC 6.1/7.1 and WMAS
CDDB and CD-Text works now on the Windows port when listening to CD-Audio
Support for DVD-Audio files (.aob)
Improved meta-data and album-art support
Faster, Lighter
Faster decoding, with up to 40% speed-ups, in HD resolutions
First part of the Video Output core rewrite
Removal or rewrite of dozens of modules, code simplification and tens of thousands of lines of code removed
Some functionalities that are less used are now moved to extensions
More assembly optimizatinons, especially SSSE3/SSE4 and ARM Neon
Fewer threads used
Better for developers
Simplified and improved libVLC, removal of exceptions for better C integration
New phonon-backend for Qt applications, on all platforms
New C++ bindings


Changes between 1.1.0 and 1.1.1:

* Support for the new capabilities: libvlc_adjust_Enable, libvlc_adjust_Contrast,
libvlc_adjust_Brightness, libvlc_adjust_Hue, libvlc_adjust_Saturation, libvlc_adjust_Gamma
* Various fixes and crash preventions, especially when video functions were called early

Stream output:
* Fix h264 streaming in ts

Windows and Mac port:
* Fix mod files support

* Fix performance issues with GPU decoding using DxVA2 using ATI graphic cards
You NEED ATI Catalyst 10.7

* Interface and crash fixes

Changes between 1.0.6 and 1.1.0:

Important changes for users:
* On Linux, known bugs in the ALSA library might prevent audio output.
Update to alsa-lib v1.0.23-2-g8d80d5f or later, or use the libpulse audio
output plugin instead of the ALSA one (if you have PulseAudio).

Important changes for packagers:
* The module cache has moved to ${libdir}/vlc/. The module cache can now be
generated at install time except if you use staged installation. In the
later case, you can generate the module cache in your post-inst script
by invoking 'vlc-cache-gen'. If the module cache is not present and vlc
can't write in ${libdir}/vlc/, it will result it vlc taking a long time to
launch each time.
* Most X11-related plugins now use XCB instead of Xlib. VLC now uses
- xproto,
- xcb, xcb-shm, xcb-xv, xcb-randr (from libxcb),
- xcb-keysyms (from xcb-utils),
- x11-xcb (from libx11) - only for GLX support.
* On X11 platforms, a _working_ version of xdg-screensaver is typically
required to inhibit the screensaver during video playback.

* Support for the sftp protocol
* Support for CDDB servers for Audio-CD on the Windows port
* New memory input (imem) access and access_demux module to feed VLC from data in memory
* New avio module to use libavformat capabilities for network streams, like rtmp://
* Port of the screen module from Xlib to XCB
* Port of the dc1394 module from libdc1394 to libdc1394 v2.0

* Support for DxVA2 for H.264 decoding on GPU on Windows Vista and 7
* Support for VAAPI for H.264 decoding on GPU on GNU/Linux
* Support for Audio/Video decoders and encoders using OpenMAX IL components for DSP

* Support PGS subtitles for Blu-Ray
* Support for HD-DVB subtitles - Display Definition Segment
* Invmem module improvements
* Support for Atrac1 audio codec
* Support for SSE3 and SSE4 capabilities in some codecs
* Multiple improvements for subtitles styles in .SRT and .SSA
* Support for native decoding of Windows Media Speech (Voice) audio codec
* Support for AMR-NB audio codec on the Windows and Mac port
* Support for Indeo5 video codec
* Improvements on the FLAC format (7.1 channels and 88.2/176.4/192 kHz support)
* Direct rendering is used more often with H.264 in avcodec module
* Support for MPEG-4 ALS lossless audio codec
* Support for VP8 codec
* Support for 7.1 channels in vorbis audio

* Many fixes on Matroska support (notably seeking) and support for Webm format
* Support for .aob files from DVD-Audio (MLP and LPCM) (Full disc support is NOT present yet)
* Support for ADPCM in .flv streams
* Support for TwinVQ (.vqf) and AMV (.amv) files
* Various EGP improvements
* Support for embedded subtitles in OpenDML and legacy .avi files
* Metadata and cover art improvements

Video Output:
* Rewrite of the video output core and most video outputs
* Added desktop mode to the Direct3D output module. It differs from DirectX
desktop mode, because it hides the desktop icons, but reacts to mouse clicks.
* New x11, glx and xv modules based on XCB
* New deinterlacing modes based on yadif and yadif(x2)
* New audio/video filter to show audio level on the video output
* Enhanced AtmoLight filter with hardware support for
Classic AtmoLight (http://www.vdr-wiki.de/wiki/index.php/Atmo-plugin)
Quattro AtmoLight (use just 4 Classic AtmoLights as one)
MoMoLight (http://www.ambilight4pc.com/momolight/momolight.html)
Simple serial DMX controller (http://www.ulrichradig.de/ search for DMX)

* New content extensions framework for lua

Audio filters:
* Chorus/Flanger audio filter
* 3F1R to stereo down-mix filter
* Dolby mixer, parameterized equalizer, trivial mixer, scaletempo, bandlimited
resampler, linear resampler, ugly resampler, converter_fixed, DTS to SPDIF
and A/52 to SPDIF filters have been upgraded to the "audio filter2" API
* NEON assembly audio converter module
* Converter filters have been rewritten and extended to support s32 as input

* WPL and ZPL playlist support
* Lua scripts for Mpora, Vimeo playback and Rockbox FM radios
* New Play-And-Pause function to stop playback on latest video image
* Podcast images are now displayed

Service discovery:
* Service discoveries can now be written in lua
* Service discovery for Picture/Music/Video user directories
* Service discovery based on libudev
* Shoutcast Service discoveries are now removed

* x264, add psy-rd parameter and change default settings
* x264, add profile-limitter same way as x264.exe has, for example
#transcode{vcodec=h264,venc=x264{profile=baseline,level=1.2} ,vb=384,width=320,height=176}
* x264, defaults to crf=23 as x264.exe-does, if bitrate is given,
uses ABR and if qp-value is set uses CQP
* libx264-version 0.76 or higher is required
* x264 has tune/preset parameters supported

Stream output:
* New smem module, streaming to memory
* Allow duplicate outputs to be merged, like:
--sout "#duplicate{dst=transcode{vcodec=mp2v},select=es=0,dst=transc ode,select=es=1}:std{...}"

* Renamed the legacy rc, telnet and http interfaces to oldrc, oldtelnet
and oldhttp.
* rc, telnet and http are now implemented using the lua interface system.
* qt4 interface contains new iconview and listview mode for playlist

* Support of .milk visualization files using projectM libraries

Mac OS X Port:
* Vastly improved VLCKit framework
* A new dialog provider for libvlc-internal interaction without full interface
* Improved update detection and installation by using the Sparkle framework
by Andy Matuschak et al.
* New CoreText based text renderer replacing the former ATSUI renderer
* New Video output module (mostly targetting VLCKit)
* Optimised behavior when using the 2009 Apple Remote

Windows port:
* Integration in Windows 7 taskbar
* Playback of .Midi files is supported through fluidsynth's module

Maemo port:
* Multiple improvements for N900 compliance and efficiency
* Support for HW accelerated video decoding on N900
* Improvements to the maemo/hildon interface

* new sqlite module
* --save-config command line option not supported anymore.
* Fixed and reenabled netsync module.
* Improved Solaris port

* new C++ wrapper around libVLC: libVLCpp
* phonon-VLC backend is now usable

Removed modules:
* csri codec: use the libass module instead.
* galaktos visualisation: use the new projectM module instead.
* showintf: Useless in Qt and on Mac OS X
* transrate: broken since too long
* Xlib x11, Xlib xvideo, Xlib glx: Use the new XCB modules instead.
* HAL: Use libudev instead.
* gtk_main, gtk_main2, gnome_main, gnome_main2 and pda interfaces
* WinCE, BeOS and qnx interfaces
* opie, qte and qte_main interfaces
* linear_resampler and trivial_resampler are removed: use the ugly one.
* XvMC accelerated modules: use VAAPI instead.
* MGA (Matroska) for Linux: use Linux Framebuffer (or X) instead.
* opengllayer: use macosx_video instead.
* cddax: use cdda instead.
* cmml and tarkin codecs are removed because they are dead codecs.
* realaudio codecs: use libavcodec
* access_file removed in favor of filesystem
* RTMP input and output: use avio module

Video Acceleration API

post #2 of 9
Still no gapless playback... I need gapless of audio files.

post #3 of 9

How does the CPU load compare to Mplayer+VDPAU?
post #4 of 9
Thread Starter 
Originally Posted by zim2dive View Post

How does the CPU load compare to Mplayer+VDPAU?

I won't be able to test for several weeks or more personally, so if someone else can chime in...
post #5 of 9
Originally Posted by zim2dive View Post

How does the CPU load compare to Mplayer+VDPAU?

My understanding is that VAAPI is supposed to (be able to?) use VDPAU as a backend so it should be almost identical.

Note this sentence in the Overview section of the VAAPI Wiki:
VDPAU (Video Decode and Presentation API for Unix) designed by NVIDIA, can be used as a backend for the VA API, so any software that supports VA API also supports VDPAU[6].
post #6 of 9
I have a fresh kubuntu install, and I'm gonna give it a shot: https://launchpad.net/~nvidia-vdpau/...dge-multimedia
post #7 of 9
Well, it works *ok* (VLC with VA-API from the above repo) -- I get some random blocky distortion, and the subtitles stay on forever. I tested it with a "RoboGeisha" blu-ray that I ripped to mkv with MakeMKV (full 1080p H.264).

I also tested mplayer with VA-API, and the video was perfect, but it left the subtitles up way too long, also. Smplayer choked on it -- probably some conflicting default settings, but I didn't mess with it.

The Xine package from that repo played it perfectly with VDPAU (it doesn't have VA-API yet) and the subs were timed properly. It let me flip though the chapters, too.

It also played perfectly with chapter support in the current stable releases of XBMC and Boxee with VDPAU, but they don't support subtitles yet.

I'm happy to see that progress is being made with VA-API, though. I expect that flash will support it after it matures some more.

post #8 of 9
Interesting report.

Just out of curiosity, what was the model number of the card you were using?
post #9 of 9
Originally Posted by Mac The Knife View Post

Interesting report.

Just out of curiosity, what was the model number of the card you were using?

That was with my GTX 260 -- sorry I forgot to mention that. Interestingly enough, this card plays Hulu *worse* than my 9300GS -- it stutters horribly in full screen regardless of the resolution, so I'm assuming that there's an issue with the nvidia driver and this particular model. It plays 720p just fine on Youtube and Flash HD Gallery though, but it chokes on 1080p.

So I don't really know if that driver problem is what caused the blocky playback spurts in VLC with vaapi, but I doubt it since mplayer with vaapi worked so well.
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: HTPC - Linux Chat
AVS › AVS Forum › Video Components › Home Theater Computers › HTPC - Linux Chat › VLC 1.1.0+ with VA-API