[FFmpeg-devel] [PATCH] Add VDA support to ffmpeg

Sebastien Zwickert dilaroga at gmail.com
Sat Jul 21 18:11:35 CEST 2012

On Jul 19, 2012, at 7:47 AM, Hendrik Leppkes wrote:

> On Thu, Jul 19, 2012 at 1:08 AM, Xunzhen Quan <quanxunzhen at gmail.com> wrote:
>> I think that HWAccels are just used to do some complex mathematical
>> computing acceleration, but VDA is an all-in-one hardware acceleration
>> api, which supply only four functions: create decoder, destroy decoder,
>> decode and flush. So I think that it should be wrapped as a Decoder
>> rather than a HWAccel. And if you think it makes code bload, I suggest
>> to just remove the corresponding HWAccel sinceno one seems to be
>> using it.
> […]
> and i've also been told that the VDA HWAccel does also work fine.
> All of these you can see in use in for example VLC (including VDA,
> according to j-b). They are also not doing "complex mathematical
> computing", but high-level bitstream decoding. The codec feeds it full
> frames, and not only some math tasks to do.

Right. Here is a VLC build with VDA support enabled that links against the 
current implementation of VDA HWAccel.

Note that you should activate manually the use of video acceleration in VLC
settings by enabling the Hardware decoding option (Show All -> Video decoders
-> FFmpeg). 
Some extra info are available on my wiki on github :

So is the current implementation working fine ? Almost :) Indeed, the playback is
flickering when VLC starts playing a movie with VDA and is stuttering  when we
seek in the stream during about 1 second cause of the VDA decoder is running
in asynchronous mode…
And my bad, it is possible to use the decoder in synchronous mode and this fixes
flickering and stuttering issues. Moreover, it brings a smaller, simpler and proper
codebase. I'll provide patches in this way ASAP.
The following link is a VLC build with VDA support enabled that links
against the VDA HWAccel that runs VDA in synchronous mode.
This build just works fine with VDA HWAccel.


More information about the ffmpeg-devel mailing list